TDCRPy 1.8.14__py3-none-any.whl → 1.8.16__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of TDCRPy might be problematic. Click here for more details.
- {TDCRPy-1.8.14.dist-info → TDCRPy-1.8.16.dist-info}/METADATA +103 -107
- {TDCRPy-1.8.14.dist-info → TDCRPy-1.8.16.dist-info}/RECORD +10 -8
- {TDCRPy-1.8.14.dist-info → TDCRPy-1.8.16.dist-info}/WHEEL +1 -1
- tdcrpy/Micelle/2nmfaq01.csv +150 -0
- tdcrpy/Micelle/faq01.csv +151 -0
- tdcrpy/TDCRPy.py +3 -0
- tdcrpy/TDCR_model_lib.py +53 -6
- tdcrpy/config.toml +8 -1
- {TDCRPy-1.8.14.dist-info → TDCRPy-1.8.16.dist-info}/LICENCE.md +0 -0
- {TDCRPy-1.8.14.dist-info → TDCRPy-1.8.16.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: TDCRPy
|
|
3
|
-
Version: 1.8.
|
|
3
|
+
Version: 1.8.16
|
|
4
4
|
Summary: TDCR model
|
|
5
5
|
Home-page: https://pypi.org/project/TDCRPy/
|
|
6
6
|
Author: RomainCoulon (Romain Coulon)
|
|
@@ -30,7 +30,7 @@ Requires-Dist: matplotlib
|
|
|
30
30
|
|
|
31
31
|
# TDCRPy
|
|
32
32
|
|
|
33
|
-
`TDCRPy` is a Python code to calculate detection efficiency of a
|
|
33
|
+
`TDCRPy` is a Python code to calculate detection efficiency of a liquid scintillation counter using 3-photomultiplier tubes.
|
|
34
34
|
The calculation is based on the photo-physical model called of the Triple-to-Double-Coincidence-Ratio method (TDCR) and a Monte-Carlo sampling allowing to adress complexe decay schemes and radionuclide mixtures.
|
|
35
35
|
|
|
36
36
|
The code is developped and maintained by the BIPM (MIT license).
|
|
@@ -88,111 +88,6 @@ At first, the TDCRPy module must be imported.
|
|
|
88
88
|
```python
|
|
89
89
|
import tdcrpy
|
|
90
90
|
```
|
|
91
|
-
|
|
92
|
-
### TDCRoptimize.eff()
|
|
93
|
-
|
|
94
|
-
In practice, `TDCRoptimize.eff()` is the fonction used to estimate the counting efficiency of a TDCR system. It approximates the free parameter(s) `L` in order to minimize the residual estimated by `TDCRPy()` for a given set of measurement data. In `mode2 = "sym"`, the *golden section search technique* is applied with a maximum number of iterations of 20. In `mode2 = "asym"`, the *Nelder-Mead technique* is applied with a maximum number of iterations of 20.
|
|
95
|
-
|
|
96
|
-
`TDCRoptimize.eff()` is parametrised by the following parameters:
|
|
97
|
-
* `TD` (type `float`) is the quotient of the triple coincidence count rate divided by the logic sum of the double coincidence count rate.
|
|
98
|
-
* `TAB` (type `float`) is the quotient of the triple coincidence count rate divided by the double coincidence count rate between the channel A and B.
|
|
99
|
-
* `TBC` (type `float`) is the quotient of the triple coincidence count rate divided by the double coincidence count rate between the channel B and C.
|
|
100
|
-
* `TAC` (type `float`) is the quotient of the triple coincidence count rate divided by the double coincidence count rate between the channel A and C.
|
|
101
|
-
* `rad` (type `string`) is the list of radionuclides contained in the solution, e.g. `"H-3"`, `"H-3, Co-60"`.
|
|
102
|
-
* `pmf_1` (type `string`) is the probability of each radionuclide contained in `rad`. If `rad = "H-3, Co-60"` and `pmf_1="0.8, 0.2"`, the solution contains 80 % of tritium and 20 % of cobalt 60.
|
|
103
|
-
* `kB` (type `float`) is the Birks constant caracterizing the scintillator. It is espressed in cm/keV.
|
|
104
|
-
* `V` (type `float`) is the volume in ml of the scintillator.
|
|
105
|
-
* `mode2` sets whether the TDCR system has to be considered symetrical `mode2="sym"` or not symetrical `mode2="asym"`.
|
|
106
|
-
* `N` (type `integer`) is the number of Monte-Carlo trials corresponding each, to a simulated nuclear decay in the scintillator. Monte-Carlo calculation is not used in the case of pure beta emitting radionuclides where the analytical model is implemented. It is an optional parameter set by default at `N = 10000`.
|
|
107
|
-
* `L` (type `float`) initial guess of the free parameter(s) in keV^-1^. It represents the number of photoelectrons produced by the PMTs per unit of ionisation energy released in the scintillator during a decay and in the abscence of scintillation quenching. It is set by default at `L = 1`.
|
|
108
|
-
|
|
109
|
-
`TDCRoptimize.eff()` returns:
|
|
110
|
-
* the global free parameter *L*,
|
|
111
|
-
* the free parameters related to each channel (*L<sub>A</sub>*, *L<sub>B</sub>*, *L<sub>C</sub>*),
|
|
112
|
-
* the estimation of the counting efficiency of single events *S*,
|
|
113
|
-
* the standard uncertainty of the estimation of *S*,
|
|
114
|
-
* the estimation of the counting efficiency of double coincidences *D*,
|
|
115
|
-
* the standard uncertainty of the estimation of *D*,
|
|
116
|
-
* the estimation of the counting efficiency of triple coincidences *T*,
|
|
117
|
-
* the standard uncertainty of the estimation of *T*.
|
|
118
|
-
|
|
119
|
-
Example with `mode2 = "sym"`:
|
|
120
|
-
|
|
121
|
-
```python
|
|
122
|
-
import tdcrpy
|
|
123
|
-
|
|
124
|
-
TD = 0.977667386529166
|
|
125
|
-
TAB = 0.992232838598821
|
|
126
|
-
TBC = 0.992343419459002
|
|
127
|
-
TAC = 0.99275350064608
|
|
128
|
-
Rad="Co-60"
|
|
129
|
-
pmf_1="1"
|
|
130
|
-
N = 250
|
|
131
|
-
kB =1.0e-5
|
|
132
|
-
V = 10
|
|
133
|
-
mode2 = "sym"
|
|
134
|
-
|
|
135
|
-
result = tdcrpy.TDCRoptimize.eff(TD, TAB, TBC, TAC, Rad, pmf_1, kB, V, mode2, N=N)
|
|
136
|
-
|
|
137
|
-
print("Global free parameter = \t", round(result[0],4), " keV-1")
|
|
138
|
-
print("Free parameter (PMT A) = \t", round(result[1][0],4) , " keV-1")
|
|
139
|
-
print("Free parameter (PMT B) = \t", round(result[1][1],4) , " keV-1")
|
|
140
|
-
print("Free parameter (PMT C) = \t", round(result[1][2],4) , " keV-1")
|
|
141
|
-
print("efficiency S = \t", round(result[2],4), "+/-", round(result[3],4))
|
|
142
|
-
print("efficiency D = \t", round(result[4],4), "+/-", round(result[5],4))
|
|
143
|
-
print("efficiency T = \t", round(result[6],4), "+/-", round(result[7],4))
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
```Console
|
|
147
|
-
Global free parameter = 1.3061 keV-1
|
|
148
|
-
Free parameter (PMT A) = 1.3061 keV-1
|
|
149
|
-
Free parameter (PMT B) = 1.3061 keV-1
|
|
150
|
-
Free parameter (PMT C) = 1.3061 keV-1
|
|
151
|
-
efficiency S = 0.979 +/- 0.0067
|
|
152
|
-
efficiency D = 0.9833 +/- 0.0064
|
|
153
|
-
efficiency T = 0.963 +/- 0.0096
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
Example with `mode2 = "asym"`:
|
|
157
|
-
|
|
158
|
-
```python
|
|
159
|
-
import tdcrpy
|
|
160
|
-
|
|
161
|
-
TD = 0.977667386529166
|
|
162
|
-
TAB = 0.992232838598821
|
|
163
|
-
TBC = 0.992343419459002
|
|
164
|
-
TAC = 0.99275350064608
|
|
165
|
-
Rad="Co-60"
|
|
166
|
-
pmf_1="1"
|
|
167
|
-
N = 250
|
|
168
|
-
kB =1.0e-5
|
|
169
|
-
V = 10
|
|
170
|
-
mode2 = "asym"
|
|
171
|
-
|
|
172
|
-
result = tdcrpy.TDCRoptimize.eff(TD, TAB, TBC, TAC, Rad, pmf_1, kB, V, mode2, N=N)
|
|
173
|
-
|
|
174
|
-
print("Global free parameter = \t", round(result[0],4), " keV-1")
|
|
175
|
-
print("Free parameter (PMT A) = \t", round(result[1][0],4) , " keV-1")
|
|
176
|
-
print("Free parameter (PMT B) = \t", round(result[1][1],4) , " keV-1")
|
|
177
|
-
print("Free parameter (PMT C) = \t", round(result[1][2],4) , " keV-1")
|
|
178
|
-
print("efficiency S = \t", round(result[2],4), "+/-", round(result[3],4))
|
|
179
|
-
print("efficiency D = \t", round(result[4],4), "+/-", round(result[5],4))
|
|
180
|
-
print("efficiency T = \t", round(result[6],4), "+/-", round(result[7],4))
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
```Console
|
|
184
|
-
Global free parameter = 1.3061 keV-1
|
|
185
|
-
Free parameter (PMT A) = 1.3061 keV-1
|
|
186
|
-
Free parameter (PMT B) = 1.3061 keV-1
|
|
187
|
-
Free parameter (PMT C) = 1.3061 keV-1
|
|
188
|
-
efficiency S = 0.979 +/- 0.0067
|
|
189
|
-
efficiency D = 0.9833 +/- 0.0064
|
|
190
|
-
efficiency T = 0.963 +/- 0.0096
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
91
|
### TDCRPy()
|
|
197
92
|
|
|
198
93
|
The main function of the TDCRPy module is `TDCRPy()` in which the Monte-Carlo Triple-to-Double Coincidence Ratio model is implemented. The computation is made for a given solution containing a radionuclide (or a mixture of radionuclides) `rad`, a given volume of scintillator `V` and a given Birks constant `kB`.
|
|
@@ -334,4 +229,105 @@ An advanced setting can be configured in the `config.toml` file for functions `T
|
|
|
334
229
|
and `nE_alpha = 1000`. These values ensure an error on quenched energy estimation from numerical approximation below 10^-3^.
|
|
335
230
|
* By default the calculation is set for Ultima-Gold cocktail mixed with a small amount of aqueous solution. You can adapt for a specific scintillator by changing the `density` (default `density=0.96`), the mean charge number `Z` (default `Z=5.2`) and the mean mass number `A` (default `A=11.04`) of the scintillator.
|
|
336
231
|
* To optimize the speed of the Monte-Carlo calculation, a spline interpolation on precalculated quenched energy is applied. The parameter `depthSpline` (default `depthSpline = 5`) sets the number of bins on each side of the energy point on which the interpolation is applied. The parameter `Einterp` (default `Einterp = 1`) set the energy (in keV) above which the interpolation is applied.
|
|
232
|
+
|
|
233
|
+
### TDCRoptimize.eff()
|
|
234
|
+
|
|
235
|
+
An optimization procedure `TDCRoptimize.eff()` is proposed to estimate the counting efficiency of a TDCR system. It approximates the free parameter(s) `L` in order to minimize the residual estimated by `TDCRPy()` for a given set of measurement data. In `mode2 = "sym"`, the *golden section search technique* is applied with a maximum number of iterations of 20. In `mode2 = "asym"`, the *Nelder-Mead technique* is applied with a maximum number of iterations of 20.
|
|
236
|
+
|
|
237
|
+
`TDCRoptimize.eff()` is parametrised by the following parameters:
|
|
238
|
+
* `TD` (type `float`) is the quotient of the triple coincidence count rate divided by the logic sum of the double coincidence count rate.
|
|
239
|
+
* `TAB` (type `float`) is the quotient of the triple coincidence count rate divided by the double coincidence count rate between the channel A and B.
|
|
240
|
+
* `TBC` (type `float`) is the quotient of the triple coincidence count rate divided by the double coincidence count rate between the channel B and C.
|
|
241
|
+
* `TAC` (type `float`) is the quotient of the triple coincidence count rate divided by the double coincidence count rate between the channel A and C.
|
|
242
|
+
* `rad` (type `string`) is the list of radionuclides contained in the solution, e.g. `"H-3"`, `"H-3, Co-60"`.
|
|
243
|
+
* `pmf_1` (type `string`) is the probability of each radionuclide contained in `rad`. If `rad = "H-3, Co-60"` and `pmf_1="0.8, 0.2"`, the solution contains 80 % of tritium and 20 % of cobalt 60.
|
|
244
|
+
* `kB` (type `float`) is the Birks constant caracterizing the scintillator. It is espressed in cm/keV.
|
|
245
|
+
* `V` (type `float`) is the volume in ml of the scintillator.
|
|
246
|
+
* `mode2` sets whether the TDCR system has to be considered symetrical `mode2="sym"` or not symetrical `mode2="asym"`.
|
|
247
|
+
* `N` (type `integer`) is the number of Monte-Carlo trials corresponding each, to a simulated nuclear decay in the scintillator. Monte-Carlo calculation is not used in the case of pure beta emitting radionuclides where the analytical model is implemented. It is an optional parameter set by default at `N = 10000`.
|
|
248
|
+
* `L` (type `float`) initial guess of the free parameter(s) in keV^-1^. It represents the number of photoelectrons produced by the PMTs per unit of ionisation energy released in the scintillator during a decay and in the abscence of scintillation quenching. It is set by default at `L = 1`.
|
|
249
|
+
|
|
250
|
+
`TDCRoptimize.eff()` returns:
|
|
251
|
+
* the global free parameter *L*,
|
|
252
|
+
* the free parameters related to each channel (*L<sub>A</sub>*, *L<sub>B</sub>*, *L<sub>C</sub>*),
|
|
253
|
+
* the estimation of the counting efficiency of single events *S*,
|
|
254
|
+
* the standard uncertainty of the estimation of *S*,
|
|
255
|
+
* the estimation of the counting efficiency of double coincidences *D*,
|
|
256
|
+
* the standard uncertainty of the estimation of *D*,
|
|
257
|
+
* the estimation of the counting efficiency of triple coincidences *T*,
|
|
258
|
+
* the standard uncertainty of the estimation of *T*.
|
|
259
|
+
|
|
260
|
+
Example with `mode2 = "sym"`:
|
|
261
|
+
|
|
262
|
+
```python
|
|
263
|
+
import tdcrpy
|
|
264
|
+
|
|
265
|
+
TD = 0.977667386529166
|
|
266
|
+
TAB = 0.992232838598821
|
|
267
|
+
TBC = 0.992343419459002
|
|
268
|
+
TAC = 0.99275350064608
|
|
269
|
+
Rad="Co-60"
|
|
270
|
+
pmf_1="1"
|
|
271
|
+
N = 250
|
|
272
|
+
kB =1.0e-5
|
|
273
|
+
V = 10
|
|
274
|
+
mode2 = "sym"
|
|
275
|
+
|
|
276
|
+
result = tdcrpy.TDCRoptimize.eff(TD, TAB, TBC, TAC, Rad, pmf_1, kB, V, mode2, N=N)
|
|
277
|
+
|
|
278
|
+
print("Global free parameter = \t", round(result[0],4), " keV-1")
|
|
279
|
+
print("Free parameter (PMT A) = \t", round(result[1][0],4) , " keV-1")
|
|
280
|
+
print("Free parameter (PMT B) = \t", round(result[1][1],4) , " keV-1")
|
|
281
|
+
print("Free parameter (PMT C) = \t", round(result[1][2],4) , " keV-1")
|
|
282
|
+
print("efficiency S = \t", round(result[2],4), "+/-", round(result[3],4))
|
|
283
|
+
print("efficiency D = \t", round(result[4],4), "+/-", round(result[5],4))
|
|
284
|
+
print("efficiency T = \t", round(result[6],4), "+/-", round(result[7],4))
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
```Console
|
|
288
|
+
Global free parameter = 1.3061 keV-1
|
|
289
|
+
Free parameter (PMT A) = 1.3061 keV-1
|
|
290
|
+
Free parameter (PMT B) = 1.3061 keV-1
|
|
291
|
+
Free parameter (PMT C) = 1.3061 keV-1
|
|
292
|
+
efficiency S = 0.979 +/- 0.0067
|
|
293
|
+
efficiency D = 0.9833 +/- 0.0064
|
|
294
|
+
efficiency T = 0.963 +/- 0.0096
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
Example with `mode2 = "asym"`:
|
|
298
|
+
|
|
299
|
+
```python
|
|
300
|
+
import tdcrpy
|
|
301
|
+
|
|
302
|
+
TD = 0.977667386529166
|
|
303
|
+
TAB = 0.992232838598821
|
|
304
|
+
TBC = 0.992343419459002
|
|
305
|
+
TAC = 0.99275350064608
|
|
306
|
+
Rad="Co-60"
|
|
307
|
+
pmf_1="1"
|
|
308
|
+
N = 250
|
|
309
|
+
kB =1.0e-5
|
|
310
|
+
V = 10
|
|
311
|
+
mode2 = "asym"
|
|
312
|
+
|
|
313
|
+
result = tdcrpy.TDCRoptimize.eff(TD, TAB, TBC, TAC, Rad, pmf_1, kB, V, mode2, N=N)
|
|
314
|
+
|
|
315
|
+
print("Global free parameter = \t", round(result[0],4), " keV-1")
|
|
316
|
+
print("Free parameter (PMT A) = \t", round(result[1][0],4) , " keV-1")
|
|
317
|
+
print("Free parameter (PMT B) = \t", round(result[1][1],4) , " keV-1")
|
|
318
|
+
print("Free parameter (PMT C) = \t", round(result[1][2],4) , " keV-1")
|
|
319
|
+
print("efficiency S = \t", round(result[2],4), "+/-", round(result[3],4))
|
|
320
|
+
print("efficiency D = \t", round(result[4],4), "+/-", round(result[5],4))
|
|
321
|
+
print("efficiency T = \t", round(result[6],4), "+/-", round(result[7],4))
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
```Console
|
|
325
|
+
Global free parameter = 1.3061 keV-1
|
|
326
|
+
Free parameter (PMT A) = 1.3061 keV-1
|
|
327
|
+
Free parameter (PMT B) = 1.3061 keV-1
|
|
328
|
+
Free parameter (PMT C) = 1.3061 keV-1
|
|
329
|
+
efficiency S = 0.979 +/- 0.0067
|
|
330
|
+
efficiency D = 0.9833 +/- 0.0064
|
|
331
|
+
efficiency T = 0.963 +/- 0.0096
|
|
332
|
+
```
|
|
337
333
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
tdcrpy/TDCRPy.py,sha256=
|
|
1
|
+
tdcrpy/TDCRPy.py,sha256=Bum4D8UYnWrr2Fa--2RdvvpTaeqIZ4KGc2o230hyt8A,53469
|
|
2
2
|
tdcrpy/TDCRPy1.py,sha256=QTBZh5B5JWnGB0BQfD-cFmwA9W080OD4sG-aj50-ejo,38106
|
|
3
|
-
tdcrpy/TDCR_model_lib.py,sha256=
|
|
3
|
+
tdcrpy/TDCR_model_lib.py,sha256=k1SYxO5qZyL-IOn-EX465zXa8H4DY8eNZHqVqlkoI8k,98155
|
|
4
4
|
tdcrpy/TDCRoptimize.py,sha256=c2XIGveeLdVYYek4Rg6dygMvVA2xIrIkMb3L-_jUucM,6496
|
|
5
5
|
tdcrpy/__init__.py,sha256=vQslGLsoZPIceaitnSHOqN6lUdjEyJ3YhfJ6tYdXt-s,127
|
|
6
|
-
tdcrpy/config.toml,sha256=
|
|
6
|
+
tdcrpy/config.toml,sha256=Qm7_Mo3nBKUfNLqhUMP4zA-pjNksy9DzRb7LVR135oY,1876
|
|
7
7
|
tdcrpy/test2.py,sha256=poLLXJyIaCeqh1VSkwgbi-udvY7lQjxz_YStKjJXGhU,501
|
|
8
8
|
tdcrpy/EfficiencyCurves/Ag-108/EffD_Ag-108_[1]_1e-05.txt,sha256=OUoMuqPTw3fXLu5qaHUFN2iW0dPJ9cRyh99a6mUcEus,43
|
|
9
9
|
tdcrpy/EfficiencyCurves/Ag-108/EffS_Ag-108_[1]_1e-05.txt,sha256=hojCq_MFAw8ONjoDmQfeE9gCXISwhScgAk-N0Pjbg00,45
|
|
@@ -1041,6 +1041,8 @@ tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-beta-_200_2000k.txt,sha256=mqo4-
|
|
|
1041
1041
|
tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-photon_1_200k.txt,sha256=kxDaTMq-3H_telytHRV-bJXynqSyW9SmUMRVDW6y3yY,4213603
|
|
1042
1042
|
tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-photon_2000_10000k.txt,sha256=oKl_dTNoQCPAliK1erzvtO1PHBCRItAZvY0wkBa_qN4,16872466
|
|
1043
1043
|
tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-photon_200_2000k.txt,sha256=B1f_TWs6wzreI4mbYYJDOkm2aDik49w4yQ96tR7Awe0,18978766
|
|
1044
|
+
tdcrpy/Micelle/2nmfaq01.csv,sha256=nLnOq8HyJGJSHeJ91-ZLRUZPgmaogiHcQk1SicHYaqE,1340
|
|
1045
|
+
tdcrpy/Micelle/faq01.csv,sha256=qltui-MvcFMlgH3czHx-EknHNE2LdCvN5S3SN-OAdmw,4065
|
|
1044
1046
|
tdcrpy/Quenching/QuenchEnergyAlpha_0.015.txt,sha256=kaSid3pQuBSwIeJ7CTmx6NsFgr2_A6u5GOgMqJiVvQA,195818
|
|
1045
1047
|
tdcrpy/Quenching/QuenchEnergyAlpha_1.1e-05.txt,sha256=lozxOyzSB4FAukpuTQUGbtQHqiWldqMXXMgstEC76sc,182522
|
|
1046
1048
|
tdcrpy/Quenching/QuenchEnergyAlpha_1.2e-05.txt,sha256=pjH7BVj9ohsPjL6hD6nJvL76nIL6HhkcVsmRYskI7dU,182825
|
|
@@ -1078,8 +1080,8 @@ tdcrpy/docs/_build/html/source/modules.html,sha256=Jf-qxVBId0UgpwyvYuyjtMNG-ezPO
|
|
|
1078
1080
|
tdcrpy/docs/_build/html/source/tdcrpy.html,sha256=-38lHMNFB22p1tWJEeN3yDqfDiCYE304vxDamO1-iRc,3779
|
|
1079
1081
|
tdcrpy/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1080
1082
|
tdcrpy/test/test_tdcrpy.py,sha256=3b9PeT2ROGGEFM_G4EVlDQMdP4B3ONp4a0kh1bKyVkI,4003
|
|
1081
|
-
TDCRPy-1.8.
|
|
1082
|
-
TDCRPy-1.8.
|
|
1083
|
-
TDCRPy-1.8.
|
|
1084
|
-
TDCRPy-1.8.
|
|
1085
|
-
TDCRPy-1.8.
|
|
1083
|
+
TDCRPy-1.8.16.dist-info/LICENCE.md,sha256=ZTpWyGU3qv_iwEpgvCijoCuCYpOPpyzJCgOk46WpUKU,1066
|
|
1084
|
+
TDCRPy-1.8.16.dist-info/METADATA,sha256=gsWRh4ib9yuqUMqvBvaOOnraTBbMRJ6mQcOoqZgiI9g,15600
|
|
1085
|
+
TDCRPy-1.8.16.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
1086
|
+
TDCRPy-1.8.16.dist-info/top_level.txt,sha256=f4vzFFcKSEnonAACs0ZXuRczmroLLqtPTqXFymU_VU0,14
|
|
1087
|
+
TDCRPy-1.8.16.dist-info/RECORD,,
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
10;0.9
|
|
2
|
+
20;0.84
|
|
3
|
+
30;0.84
|
|
4
|
+
40;0.84
|
|
5
|
+
50;0.84
|
|
6
|
+
60;0.85
|
|
7
|
+
70;0.85
|
|
8
|
+
80;0.86
|
|
9
|
+
90;0.86
|
|
10
|
+
100;0.87
|
|
11
|
+
110;0.87
|
|
12
|
+
120;0.87
|
|
13
|
+
130;0.87
|
|
14
|
+
140;0.87
|
|
15
|
+
150;0.88
|
|
16
|
+
160;0.88
|
|
17
|
+
170;0.88
|
|
18
|
+
180;0.88
|
|
19
|
+
190;0.88
|
|
20
|
+
200;0.89
|
|
21
|
+
210;0.89
|
|
22
|
+
220;0.89
|
|
23
|
+
230;0.89
|
|
24
|
+
240;0.89
|
|
25
|
+
250;0.89
|
|
26
|
+
260;0.89
|
|
27
|
+
270;0.89
|
|
28
|
+
280;0.89
|
|
29
|
+
290;0.89
|
|
30
|
+
300;0.89
|
|
31
|
+
310;0.89
|
|
32
|
+
320;0.89
|
|
33
|
+
330;0.89
|
|
34
|
+
340;0.89
|
|
35
|
+
350;0.89
|
|
36
|
+
360;0.89
|
|
37
|
+
370;0.89
|
|
38
|
+
380;0.89
|
|
39
|
+
390;0.89
|
|
40
|
+
400;0.89
|
|
41
|
+
410;0.89
|
|
42
|
+
420;0.89
|
|
43
|
+
430;0.89
|
|
44
|
+
440;0.89
|
|
45
|
+
450;0.89
|
|
46
|
+
460;0.89
|
|
47
|
+
470;0.89
|
|
48
|
+
480;0.89
|
|
49
|
+
490;0.89
|
|
50
|
+
500;0.89
|
|
51
|
+
510;0.89
|
|
52
|
+
520;0.89
|
|
53
|
+
530;0.89
|
|
54
|
+
540;0.89
|
|
55
|
+
550;0.89
|
|
56
|
+
560;0.89
|
|
57
|
+
570;0.89
|
|
58
|
+
580;0.89
|
|
59
|
+
590;0.89
|
|
60
|
+
600;0.89
|
|
61
|
+
610;0.89
|
|
62
|
+
620;0.89
|
|
63
|
+
630;0.89
|
|
64
|
+
640;0.89
|
|
65
|
+
650;0.89
|
|
66
|
+
660;0.89
|
|
67
|
+
670;0.89
|
|
68
|
+
680;0.89
|
|
69
|
+
690;0.89
|
|
70
|
+
700;0.89
|
|
71
|
+
710;0.89
|
|
72
|
+
720;0.89
|
|
73
|
+
730;0.89
|
|
74
|
+
740;0.89
|
|
75
|
+
750;0.89
|
|
76
|
+
760;0.89
|
|
77
|
+
770;0.89
|
|
78
|
+
780;0.89
|
|
79
|
+
790;0.89
|
|
80
|
+
800;0.89
|
|
81
|
+
810;0.89
|
|
82
|
+
820;0.89
|
|
83
|
+
830;0.89
|
|
84
|
+
840;0.89
|
|
85
|
+
850;0.89
|
|
86
|
+
860;0.89
|
|
87
|
+
870;0.89
|
|
88
|
+
880;0.89
|
|
89
|
+
890;0.89
|
|
90
|
+
900;0.89
|
|
91
|
+
910;0.89
|
|
92
|
+
920;0.89
|
|
93
|
+
930;0.89
|
|
94
|
+
940;0.89
|
|
95
|
+
950;0.89
|
|
96
|
+
960;0.89
|
|
97
|
+
970;0.89
|
|
98
|
+
980;0.89
|
|
99
|
+
990;0.89
|
|
100
|
+
1000;0.9
|
|
101
|
+
1010;0.9
|
|
102
|
+
1020;0.9
|
|
103
|
+
1030;0.9
|
|
104
|
+
1040;0.9
|
|
105
|
+
1050;0.9
|
|
106
|
+
1060;0.9
|
|
107
|
+
1070;0.9
|
|
108
|
+
1080;0.9
|
|
109
|
+
1090;0.9
|
|
110
|
+
1100;0.9
|
|
111
|
+
1110;0.9
|
|
112
|
+
1120;0.9
|
|
113
|
+
1130;0.9
|
|
114
|
+
1140;0.9
|
|
115
|
+
1150;0.9
|
|
116
|
+
1160;0.9
|
|
117
|
+
1170;0.9
|
|
118
|
+
1180;0.9
|
|
119
|
+
1190;0.9
|
|
120
|
+
1200;0.9
|
|
121
|
+
1210;0.9
|
|
122
|
+
1220;0.9
|
|
123
|
+
1230;0.9
|
|
124
|
+
1240;0.9
|
|
125
|
+
1250;0.9
|
|
126
|
+
1260;0.9
|
|
127
|
+
1270;0.9
|
|
128
|
+
1280;0.9
|
|
129
|
+
1290;0.9
|
|
130
|
+
1300;0.9
|
|
131
|
+
1310;0.9
|
|
132
|
+
1320;0.9
|
|
133
|
+
1330;0.9
|
|
134
|
+
1340;0.9
|
|
135
|
+
1350;0.9
|
|
136
|
+
1360;0.9
|
|
137
|
+
1370;0.9
|
|
138
|
+
1380;0.9
|
|
139
|
+
1390;0.9
|
|
140
|
+
1400;0.9
|
|
141
|
+
1410;0.9
|
|
142
|
+
1420;0.9
|
|
143
|
+
1430;0.9
|
|
144
|
+
1440;0.9
|
|
145
|
+
1450;0.9
|
|
146
|
+
1460;0.9
|
|
147
|
+
1470;0.9
|
|
148
|
+
1480;0.9
|
|
149
|
+
1490;0.9
|
|
150
|
+
1500;0.9
|
tdcrpy/Micelle/faq01.csv
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
0;0.9;0.9;0.9;0.9;0.9
|
|
2
|
+
10;0.9;0.9;0.9;0.9;0.9
|
|
3
|
+
20;0.88;0.84;0.75;0.66;0.58
|
|
4
|
+
30;0.88;0.84;0.76;0.67;0.6
|
|
5
|
+
40;0.88;0.84;0.76;0.67;0.6
|
|
6
|
+
50;0.88;0.84;0.76;0.67;0.6
|
|
7
|
+
60;0.88;0.85;0.76;0.67;0.6
|
|
8
|
+
70;0.88;0.85;0.77;0.69;0.61
|
|
9
|
+
80;0.88;0.86;0.78;0.7;0.62
|
|
10
|
+
90;0.88;0.86;0.79;0.71;0.63
|
|
11
|
+
100;0.88;0.87;0.8;0.72;0.64
|
|
12
|
+
110;0.89;0.87;0.8;0.73;0.65
|
|
13
|
+
120;0.89;0.87;0.81;0.74;0.67
|
|
14
|
+
130;0.89;0.87;0.82;0.75;0.68
|
|
15
|
+
140;0.89;0.87;0.82;0.76;0.69
|
|
16
|
+
150;0.89;0.88;0.83;0.77;0.71
|
|
17
|
+
160;0.89;0.88;0.83;0.78;0.72
|
|
18
|
+
170;0.89;0.88;0.84;0.79;0.74
|
|
19
|
+
180;0.89;0.88;0.84;0.81;0.76
|
|
20
|
+
190;0.89;0.88;0.85;0.82;0.78
|
|
21
|
+
200;0.9;0.89;0.86;0.83;0.8
|
|
22
|
+
210;0.9;0.89;0.86;0.84;0.8
|
|
23
|
+
220;0.9;0.89;0.86;0.84;0.81
|
|
24
|
+
230;0.9;0.89;0.86;0.85;0.82
|
|
25
|
+
240;0.9;0.89;0.86;0.85;0.82
|
|
26
|
+
250;0.9;0.89;0.86;0.86;0.83
|
|
27
|
+
260;0.9;0.89;0.86;0.86;0.83
|
|
28
|
+
270;0.9;0.89;0.86;0.86;0.84
|
|
29
|
+
280;0.9;0.89;0.86;0.87;0.85
|
|
30
|
+
290;0.9;0.89;0.86;0.87;0.85
|
|
31
|
+
300;0.9;0.89;0.87;0.87;0.86
|
|
32
|
+
310;0.9;0.89;0.87;0.87;0.86
|
|
33
|
+
320;0.9;0.89;0.87;0.87;0.86
|
|
34
|
+
330;0.9;0.89;0.87;0.87;0.86
|
|
35
|
+
340;0.9;0.89;0.87;0.87;0.86
|
|
36
|
+
350;0.9;0.89;0.87;0.87;0.86
|
|
37
|
+
360;0.9;0.89;0.87;0.87;0.86
|
|
38
|
+
370;0.9;0.89;0.87;0.87;0.86
|
|
39
|
+
380;0.9;0.89;0.87;0.87;0.86
|
|
40
|
+
390;0.9;0.89;0.87;0.87;0.86
|
|
41
|
+
400;0.9;0.89;0.88;0.87;0.86
|
|
42
|
+
410;0.9;0.89;0.88;0.87;0.86
|
|
43
|
+
420;0.9;0.89;0.88;0.87;0.86
|
|
44
|
+
430;0.9;0.89;0.88;0.87;0.86
|
|
45
|
+
440;0.9;0.89;0.88;0.87;0.86
|
|
46
|
+
450;0.9;0.89;0.88;0.87;0.86
|
|
47
|
+
460;0.9;0.89;0.88;0.87;0.86
|
|
48
|
+
470;0.9;0.89;0.88;0.87;0.86
|
|
49
|
+
480;0.9;0.89;0.88;0.87;0.87
|
|
50
|
+
490;0.9;0.89;0.88;0.87;0.87
|
|
51
|
+
500;0.9;0.89;0.89;0.87;0.87
|
|
52
|
+
510;0.9;0.89;0.89;0.88;0.87
|
|
53
|
+
520;0.9;0.89;0.89;0.88;0.87
|
|
54
|
+
530;0.9;0.89;0.89;0.88;0.87
|
|
55
|
+
540;0.9;0.89;0.89;0.88;0.87
|
|
56
|
+
550;0.9;0.89;0.89;0.88;0.87
|
|
57
|
+
560;0.9;0.89;0.89;0.88;0.87
|
|
58
|
+
570;0.9;0.89;0.89;0.88;0.87
|
|
59
|
+
580;0.9;0.89;0.89;0.88;0.87
|
|
60
|
+
590;0.9;0.89;0.89;0.88;0.87
|
|
61
|
+
600;0.9;0.89;0.89;0.88;0.87
|
|
62
|
+
610;0.9;0.89;0.89;0.88;0.87
|
|
63
|
+
620;0.9;0.89;0.89;0.88;0.87
|
|
64
|
+
630;0.9;0.89;0.89;0.88;0.87
|
|
65
|
+
640;0.9;0.89;0.89;0.88;0.87
|
|
66
|
+
650;0.9;0.89;0.89;0.88;0.87
|
|
67
|
+
660;0.9;0.89;0.89;0.88;0.87
|
|
68
|
+
670;0.9;0.89;0.89;0.88;0.87
|
|
69
|
+
680;0.9;0.89;0.89;0.89;0.87
|
|
70
|
+
690;0.9;0.89;0.89;0.89;0.87
|
|
71
|
+
700;0.9;0.89;0.89;0.89;0.87
|
|
72
|
+
710;0.9;0.89;0.89;0.89;0.87
|
|
73
|
+
720;0.9;0.89;0.89;0.89;0.87
|
|
74
|
+
730;0.9;0.89;0.89;0.89;0.87
|
|
75
|
+
740;0.9;0.89;0.89;0.89;0.87
|
|
76
|
+
750;0.9;0.89;0.89;0.89;0.87
|
|
77
|
+
760;0.9;0.89;0.89;0.89;0.88
|
|
78
|
+
770;0.9;0.89;0.89;0.89;0.88
|
|
79
|
+
780;0.9;0.89;0.89;0.89;0.88
|
|
80
|
+
790;0.9;0.89;0.89;0.89;0.88
|
|
81
|
+
800;0.9;0.89;0.89;0.89;0.88
|
|
82
|
+
810;0.9;0.89;0.89;0.89;0.88
|
|
83
|
+
820;0.9;0.89;0.89;0.89;0.88
|
|
84
|
+
830;0.9;0.89;0.89;0.89;0.88
|
|
85
|
+
840;0.9;0.89;0.89;0.89;0.88
|
|
86
|
+
850;0.9;0.89;0.89;0.89;0.88
|
|
87
|
+
860;0.9;0.89;0.89;0.89;0.88
|
|
88
|
+
870;0.9;0.89;0.89;0.89;0.88
|
|
89
|
+
880;0.9;0.89;0.89;0.89;0.88
|
|
90
|
+
890;0.9;0.89;0.89;0.89;0.88
|
|
91
|
+
900;0.9;0.89;0.89;0.89;0.88
|
|
92
|
+
910;0.9;0.89;0.89;0.89;0.88
|
|
93
|
+
920;0.9;0.89;0.89;0.89;0.88
|
|
94
|
+
930;0.9;0.89;0.89;0.89;0.89
|
|
95
|
+
940;0.9;0.89;0.89;0.89;0.89
|
|
96
|
+
950;0.9;0.89;0.89;0.89;0.89
|
|
97
|
+
960;0.9;0.89;0.89;0.89;0.89
|
|
98
|
+
970;0.9;0.89;0.89;0.89;0.89
|
|
99
|
+
980;0.9;0.89;0.89;0.89;0.89
|
|
100
|
+
990;0.9;0.89;0.89;0.89;0.89
|
|
101
|
+
1000;0.9;0.9;0.9;0.9;0.9
|
|
102
|
+
1010;0.9;0.9;0.9;0.9;0.9
|
|
103
|
+
1020;0.9;0.9;0.9;0.9;0.9
|
|
104
|
+
1030;0.9;0.9;0.9;0.9;0.9
|
|
105
|
+
1040;0.9;0.9;0.9;0.9;0.9
|
|
106
|
+
1050;0.9;0.9;0.9;0.9;0.9
|
|
107
|
+
1060;0.9;0.9;0.9;0.9;0.9
|
|
108
|
+
1070;0.9;0.9;0.9;0.9;0.9
|
|
109
|
+
1080;0.9;0.9;0.9;0.9;0.9
|
|
110
|
+
1090;0.9;0.9;0.9;0.9;0.9
|
|
111
|
+
1100;0.9;0.9;0.9;0.9;0.9
|
|
112
|
+
1110;0.9;0.9;0.9;0.9;0.9
|
|
113
|
+
1120;0.9;0.9;0.9;0.9;0.9
|
|
114
|
+
1130;0.9;0.9;0.9;0.9;0.9
|
|
115
|
+
1140;0.9;0.9;0.9;0.9;0.9
|
|
116
|
+
1150;0.9;0.9;0.9;0.9;0.9
|
|
117
|
+
1160;0.9;0.9;0.9;0.9;0.9
|
|
118
|
+
1170;0.9;0.9;0.9;0.9;0.9
|
|
119
|
+
1180;0.9;0.9;0.9;0.9;0.9
|
|
120
|
+
1190;0.9;0.9;0.9;0.9;0.9
|
|
121
|
+
1200;0.9;0.9;0.9;0.9;0.9
|
|
122
|
+
1210;0.9;0.9;0.9;0.9;0.9
|
|
123
|
+
1220;0.9;0.9;0.9;0.9;0.9
|
|
124
|
+
1230;0.9;0.9;0.9;0.9;0.9
|
|
125
|
+
1240;0.9;0.9;0.9;0.9;0.9
|
|
126
|
+
1250;0.9;0.9;0.9;0.9;0.9
|
|
127
|
+
1260;0.9;0.9;0.9;0.9;0.9
|
|
128
|
+
1270;0.9;0.9;0.9;0.9;0.9
|
|
129
|
+
1280;0.9;0.9;0.9;0.9;0.9
|
|
130
|
+
1290;0.9;0.9;0.9;0.9;0.9
|
|
131
|
+
1300;0.9;0.9;0.9;0.9;0.9
|
|
132
|
+
1310;0.9;0.9;0.9;0.9;0.9
|
|
133
|
+
1320;0.9;0.9;0.9;0.9;0.9
|
|
134
|
+
1330;0.9;0.9;0.9;0.9;0.9
|
|
135
|
+
1340;0.9;0.9;0.9;0.9;0.9
|
|
136
|
+
1350;0.9;0.9;0.9;0.9;0.9
|
|
137
|
+
1360;0.9;0.9;0.9;0.9;0.9
|
|
138
|
+
1370;0.9;0.9;0.9;0.9;0.9
|
|
139
|
+
1380;0.9;0.9;0.9;0.9;0.9
|
|
140
|
+
1390;0.9;0.9;0.9;0.9;0.9
|
|
141
|
+
1400;0.9;0.9;0.9;0.9;0.9
|
|
142
|
+
1410;0.9;0.9;0.9;0.9;0.9
|
|
143
|
+
1420;0.9;0.9;0.9;0.9;0.9
|
|
144
|
+
1430;0.9;0.9;0.9;0.9;0.9
|
|
145
|
+
1440;0.9;0.9;0.9;0.9;0.9
|
|
146
|
+
1450;0.9;0.9;0.9;0.9;0.9
|
|
147
|
+
1460;0.9;0.9;0.9;0.9;0.9
|
|
148
|
+
1470;0.9;0.9;0.9;0.9;0.9
|
|
149
|
+
1480;0.9;0.9;0.9;0.9;0.9
|
|
150
|
+
1490;0.9;0.9;0.9;0.9;0.9
|
|
151
|
+
1500;0.9;0.9;0.9;0.9;0.9
|
tdcrpy/TDCRPy.py
CHANGED
|
@@ -167,6 +167,7 @@ def TDCRPy(L, TD, TAB, TBC, TAC, Rad, pmf_1, N, kB, V, mode, mode2, Display=Fals
|
|
|
167
167
|
config.read(file_conf)
|
|
168
168
|
tau=config["Inputs"].getfloat("tau")
|
|
169
169
|
Y=config["Inputs"].getboolean("Y")
|
|
170
|
+
micCorr=config["Inputs"].getboolean("micCorr")
|
|
170
171
|
radListPureBeta=config["Inputs"].get("radListPureBeta")
|
|
171
172
|
radListPureBeta=radListPureBeta.replace(" ","")
|
|
172
173
|
radListPureBeta=radListPureBeta.split(',')
|
|
@@ -659,6 +660,7 @@ def TDCRPy(L, TD, TAB, TBC, TAC, Rad, pmf_1, N, kB, V, mode, mode2, Display=Fals
|
|
|
659
660
|
e_quenching.append(energy_vec[i])
|
|
660
661
|
elif p == "electron" or p == "positron":
|
|
661
662
|
energy_vec[i] = tl.Em_e(energy_vec_initial[i]*1e3,energy_vec[i]*1e3,kB*1e3,nE_electron)*1e-3
|
|
663
|
+
if micCorr: energy_vec[i] = energy_vec[i]*tl.micelleLoss(energy_vec_initial[i])
|
|
662
664
|
e_quenching.append(energy_vec[i])
|
|
663
665
|
else:
|
|
664
666
|
e_quenching.append(0)
|
|
@@ -677,6 +679,7 @@ def TDCRPy(L, TD, TAB, TBC, TAC, Rad, pmf_1, N, kB, V, mode, mode2, Display=Fals
|
|
|
677
679
|
e_quenching2.append(energy_vec2[i])
|
|
678
680
|
elif p == "electron" or p == "positron":
|
|
679
681
|
energy_vec2[i] = tl.Em_e(energy_vec_initial2[i]*1e3,energy_vec2[i]*1e3,kB*1e3,nE_electron)*1e-3
|
|
682
|
+
if micCorr: energy_vec2[i] = energy_vec2[i]*tl.micelleLoss(energy_vec_initial2[i])
|
|
680
683
|
e_quenching2.append(energy_vec2[i])
|
|
681
684
|
else:
|
|
682
685
|
e_quenching2.append(0)
|
tdcrpy/TDCR_model_lib.py
CHANGED
|
@@ -40,6 +40,8 @@ A = config["Inputs"].getfloat("A")
|
|
|
40
40
|
depthSpline = config["Inputs"].getint("depthSpline")
|
|
41
41
|
Einterp_a = config["Inputs"].getfloat("Einterp_a")
|
|
42
42
|
Einterp_e = config["Inputs"].getfloat("Einterp_e")
|
|
43
|
+
diam_micelle = config["Inputs"].getfloat("diam_micelle")
|
|
44
|
+
fAq = config["Inputs"].getfloat("fAq")
|
|
43
45
|
|
|
44
46
|
# import PenNuc data
|
|
45
47
|
with importlib.resources.as_file(files('tdcrpy').joinpath('decayData')) as data_path:
|
|
@@ -179,6 +181,17 @@ for ikB in kB_e:
|
|
|
179
181
|
Em_electron.append(line)
|
|
180
182
|
|
|
181
183
|
|
|
184
|
+
micelle_E = []; micelle_S = []
|
|
185
|
+
with importlib.resources.as_file(files('tdcrpy').joinpath('Micelle')) as data_path:
|
|
186
|
+
tamptxt = "faq01.csv"
|
|
187
|
+
fid = open(data_path / tamptxt)
|
|
188
|
+
line = fid.readlines()
|
|
189
|
+
for iline in line:
|
|
190
|
+
iline=iline.replace("\n","").split(";")
|
|
191
|
+
micelle_E.append(float(iline[0]))
|
|
192
|
+
micelle_S.append([float(x) for x in iline[1:]])
|
|
193
|
+
micelle_S = np.asarray(micelle_S)
|
|
194
|
+
|
|
182
195
|
"""
|
|
183
196
|
======= Library of functions =======
|
|
184
197
|
"""
|
|
@@ -712,9 +725,11 @@ def readBetaShape(rad,mode,level,z=z_betashape):
|
|
|
712
725
|
p.append(p0 * (e[k+1])-e[k])
|
|
713
726
|
else:
|
|
714
727
|
p.append(p0 * (e[k]-e[k-1]))
|
|
715
|
-
|
|
728
|
+
|
|
729
|
+
e=(np.asarray(e[:-1])+np.asarray(e[1:]))/2
|
|
730
|
+
p.pop(-1)
|
|
716
731
|
p /= sum(np.asarray(p)) # normalization
|
|
717
|
-
p = list(p)
|
|
732
|
+
p = list(p); e = list(e)
|
|
718
733
|
return e, p
|
|
719
734
|
|
|
720
735
|
|
|
@@ -963,9 +978,40 @@ def Em_e(Ei, Ed, kB, nE, Et = Einterp_e*1e3, kB_vec = kB_e):
|
|
|
963
978
|
return r
|
|
964
979
|
|
|
965
980
|
|
|
981
|
+
#============================================================================================
|
|
966
982
|
|
|
983
|
+
#============================================================================================
|
|
984
|
+
|
|
985
|
+
#========================= Reverse micelle treatment ========================================
|
|
967
986
|
|
|
987
|
+
def micelleLoss(E,*, fAq=fAq, diam_micelle=diam_micelle, e_vec=micelle_E, data=micelle_S):
|
|
988
|
+
"""
|
|
989
|
+
Estimation of the energy deposited ratio due to loss in reversed micelles.
|
|
990
|
+
The function carries out interpolation in values estimated with GENAT4-DNA
|
|
991
|
+
in: Nedjadi et al. Applied Radiation and Isotopes, Volume 125, 2017, Pages 94-107,
|
|
992
|
+
https://doi.org/10.1016/j.apradiso.2017.04.020
|
|
993
|
+
|
|
994
|
+
Parameters
|
|
995
|
+
----------
|
|
996
|
+
E : float
|
|
997
|
+
Initial energy of the electron. (in keV)
|
|
998
|
+
fAq : float, optional
|
|
999
|
+
Aqueous fraction. The default is fAq.
|
|
1000
|
+
diam_micelle : float, optional
|
|
1001
|
+
Diameter of micelles (in nm). The default is diam_micelle.
|
|
1002
|
+
e_vec : list, optional
|
|
1003
|
+
Tabulated data of considered energies (in eV). The default is micelle_E.
|
|
1004
|
+
data : list, optional
|
|
1005
|
+
Tabulated data of energy deposited ratio. The default is micelle_S.
|
|
968
1006
|
|
|
1007
|
+
Returns
|
|
1008
|
+
-------
|
|
1009
|
+
S : float
|
|
1010
|
+
energy deposited ratio (keV)
|
|
1011
|
+
"""
|
|
1012
|
+
micDiam = np.array([0.5, 1.0, 2.0, 3.0, 4.0]) #nm
|
|
1013
|
+
S=np.interp(E*1e3, e_vec, micelle_S[:,np.argwhere(micDiam==diam_micelle)[0][0]])*(1-fAq)/0.9
|
|
1014
|
+
return S
|
|
969
1015
|
|
|
970
1016
|
|
|
971
1017
|
#============================================================================================
|
|
@@ -2333,12 +2379,13 @@ def modelAnalytical(L,TD,TAB,TBC,TAC,rad,kB,V,mode,mode2,ne):
|
|
|
2333
2379
|
|
|
2334
2380
|
"""
|
|
2335
2381
|
|
|
2336
|
-
|
|
2337
|
-
e, p = readBetaSpectra(rad)
|
|
2382
|
+
e, p = readBetaShape(rad, 'beta-', 'tot')
|
|
2383
|
+
# e, p = readBetaSpectra(rad)
|
|
2338
2384
|
em=np.empty(len(e))
|
|
2339
2385
|
for i, ei in enumerate(e):
|
|
2340
|
-
ed =
|
|
2341
|
-
em[i] = E_quench_e(
|
|
2386
|
+
# ed = energie_dep_beta2(ei,V)
|
|
2387
|
+
# em[i] = E_quench_e(ei*1e3,ed*1e3,kB*1e3,ne)*1e-3
|
|
2388
|
+
em[i] = Em_e(ei*1e3,ed*1e3,kB*1e3,ne)*1e-3
|
|
2342
2389
|
|
|
2343
2390
|
|
|
2344
2391
|
if mode2=="sym":
|
tdcrpy/config.toml
CHANGED
|
@@ -32,6 +32,13 @@ pN = 0.000302
|
|
|
32
32
|
pO = 0.082022
|
|
33
33
|
pP = 0.000092
|
|
34
34
|
pCl = 0.000071
|
|
35
|
+
# properties on reverse micelles
|
|
36
|
+
# applied reverse micelle correction
|
|
37
|
+
micCorr = True
|
|
38
|
+
# diameter of the micelles in nm (possible values: 0.5, 1.0, 2.0, 3.0, 4.0)
|
|
39
|
+
diam_micelle = 2
|
|
40
|
+
# acqueous fraction of the scintillator
|
|
41
|
+
fAq = 0.1
|
|
35
42
|
|
|
36
43
|
## PROPERTIES OF THE COUNTER
|
|
37
44
|
# Coincidence resolving time (ns)
|
|
@@ -42,4 +49,4 @@ tau = 50
|
|
|
42
49
|
depthSpline = 5
|
|
43
50
|
# energy (in keV) above which interpolation is applied.
|
|
44
51
|
Einterp_a = 100
|
|
45
|
-
Einterp_e = 1
|
|
52
|
+
Einterp_e = 1.5
|
|
File without changes
|
|
File without changes
|