TDCRPy 2.4.0__tar.gz → 2.5.0__tar.gz
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-2.4.0/TDCRPy.egg-info → tdcrpy-2.5.0}/PKG-INFO +1 -1
- {tdcrpy-2.4.0 → tdcrpy-2.5.0/TDCRPy.egg-info}/PKG-INFO +1 -1
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/setup.py +1 -1
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/TDCRPy.py +5 -5
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/TDCR_model_lib.py +80 -110
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/config.toml +4 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/LICENCE.md +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/MANIFEST.in +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/README.md +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/TDCRPy.egg-info/SOURCES.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/TDCRPy.egg-info/dependency_links.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/TDCRPy.egg-info/requires.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/TDCRPy.egg-info/top_level.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/setup.cfg +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_C-14.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Ca-45.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Co-60.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_H-3.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Ni-63.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Pm-147.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Pu-241.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_S-35.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Sr-89.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Sr-90.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Tc-99.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/E_depose.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-beta-_1_200k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-beta-_2000_10000k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-beta-_200_2000k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-photon_1_200k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-photon_2000_10000k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-photon_200_2000k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-beta-_1_200k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-beta-_2000_10000k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-beta-_200_2000k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-photon_1_200k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-photon_2000_10000k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-photon_200_2000k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-beta-_1_200k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-beta-_2000_10000k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-beta-_200_2000k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-photon_1_200k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-photon_2000_10000k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-photon_200_2000k.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Micelle/2nmfaq01.csv +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Micelle/faq01.csv +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyAlpha_0.015.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyAlpha_1.1e-05.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyAlpha_1.2e-05.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyAlpha_1.3e-05.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyAlpha_1.4e-05.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyAlpha_1.5e-05.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyAlpha_1e-05.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyAlpha_6e-06.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyAlpha_7e-06.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyAlpha_8e-06.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyAlpha_9e-06.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.006.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.007.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.008.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.009.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.01.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.011.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.012.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.013.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.014.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/QuenchEnergyElectron_0.015.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/TandataUG.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/alpha_toulene.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/inputVecteurAlpha.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/Quenching/inputVecteurElectron.txt +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/TDCRPy1.py +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/TDCRoptimize.py +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/__init__.py +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/decayData/All-nuclides_BetaShape.zip +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/decayData/All-nuclides_Ensdf.zip +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/decayData/All-nuclides_PenNuc.zip +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/decayData/atom-ENDF-VII0.zip +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/decayData/photo-ENDF.zip +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/docs/_build/html/genindex.html +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/docs/_build/html/index.html +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/docs/_build/html/search.html +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/docs/_build/html/source/modules.html +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/docs/_build/html/source/tdcrpy.html +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/test/__init__.py +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/test/test_tdcrpy.py +0 -0
- {tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/test2.py +0 -0
|
@@ -1236,20 +1236,20 @@ def effA(TD, Rad, pmf_1, kB, V, L=1, maxiter=20, xatol=1e-7, disp=False):
|
|
|
1236
1236
|
|
|
1237
1237
|
|
|
1238
1238
|
# mode = "eff" # ask for efficiency calculation
|
|
1239
|
-
# Rad="
|
|
1239
|
+
# Rad="Fe-55" # radionuclides
|
|
1240
1240
|
# pmf_1="1" # relatives fractions of the radionulides
|
|
1241
1241
|
# N = 1000 # number of Monte Carlo trials
|
|
1242
1242
|
# kB =1.0e-5 # Birks constant in cm keV-1
|
|
1243
1243
|
# V = 10 # volume of scintillator in mL
|
|
1244
|
-
# L=np.logspace(-
|
|
1244
|
+
# L=np.logspace(-1,2,num=100) # free parameter in keV-1
|
|
1245
1245
|
|
|
1246
|
-
# # TDCRPy(1, Rad, pmf_1, 10, kB, V, mode, Display= True, barp=False, record=True)
|
|
1247
1246
|
# # Record decay histories in temporary files
|
|
1248
|
-
# TDCRPy(L[0], Rad, pmf_1, N, kB, V, mode, barp=False, record=True)
|
|
1247
|
+
# TDCRPy(L[0], Rad, pmf_1, N, kB, V, mode, barp=False, record=True, fullMC=False)
|
|
1248
|
+
# # TDCRPy(100, Rad, pmf_1, N, kB, V, mode, barp=False, record=True, fullMC=True)
|
|
1249
1249
|
|
|
1250
1250
|
# effS, u_effS, effD, u_effD, effT, u_effT, effD2, u_effD2 = [], [],[], [],[], [], [], []
|
|
1251
1251
|
# for l in tqdm(L, desc="free parameters ", unit=" iterations"):
|
|
1252
|
-
# out = TDCRPy(l, Rad, pmf_1, N, kB, V, mode, readRecHist=True)
|
|
1252
|
+
# out = TDCRPy(l, Rad, pmf_1, N, kB, V, mode, readRecHist=True, fullMC=False)
|
|
1253
1253
|
# effS.append(out[2])
|
|
1254
1254
|
# u_effS.append(out[3])
|
|
1255
1255
|
# effD.append(out[2])
|
|
@@ -60,6 +60,7 @@ def readParameters(disp=False):
|
|
|
60
60
|
diam_micelle = config["Inputs"].getfloat("diam_micelle")
|
|
61
61
|
fAq = config["Inputs"].getfloat("fAq")
|
|
62
62
|
micCorr = config["Inputs"].getboolean("micCorr")
|
|
63
|
+
alphaDir = config["Inputs"].getfloat("alphaDir")
|
|
63
64
|
|
|
64
65
|
if disp:
|
|
65
66
|
print(f"number of integration bins for electrons = {nE_electron}")
|
|
@@ -76,13 +77,14 @@ def readParameters(disp=False):
|
|
|
76
77
|
print(f"activation of the micelle correction = {micCorr}")
|
|
77
78
|
print(f"diameter of micelle = {diam_micelle} nm")
|
|
78
79
|
print(f"acqueous fraction = {fAq}")
|
|
80
|
+
print(f"alpha parameter of the hidden Dirichlet process = {alphaDir}")
|
|
79
81
|
print(f"coincidence resolving time = {tau} ns")
|
|
80
82
|
print(f"extended dead time = {extDT} µs")
|
|
81
83
|
print(f"measurement time = {measTime} min")
|
|
82
84
|
|
|
83
|
-
return nE_electron, nE_alpha, RHO, Z, A, depthSpline, Einterp_a, Einterp_e, diam_micelle, fAq, tau, extDT, measTime, micCorr, pH,pC,pN,pO,pP,pCl
|
|
85
|
+
return nE_electron, nE_alpha, RHO, Z, A, depthSpline, Einterp_a, Einterp_e, diam_micelle, fAq, tau, extDT, measTime, micCorr, alphaDir, pH,pC,pN,pO,pP,pCl
|
|
84
86
|
|
|
85
|
-
nE_electron, nE_alpha, RHO, Z, A, depthSpline, Einterp_a, Einterp_e, diam_micelle, fAq, tau, extDT, measTime, micCorr, pH,pC,pN,pO,pP,pCl = readParameters()
|
|
87
|
+
nE_electron, nE_alpha, RHO, Z, A, depthSpline, Einterp_a, Einterp_e, diam_micelle, fAq, tau, extDT, measTime, micCorr, alphaDir, pH,pC,pN,pO,pP,pCl = readParameters()
|
|
86
88
|
|
|
87
89
|
p_atom = np.array([pH,pC,pN,pO,pP,pCl]) # atom abondance in the scintillator
|
|
88
90
|
p_atom /= sum(p_atom)
|
|
@@ -192,6 +194,12 @@ def modifyMicCorr(x):
|
|
|
192
194
|
x0 = readParameters()[13]
|
|
193
195
|
data1 = data0.replace(f"micCorr = {x0}",f"micCorr= {x}")
|
|
194
196
|
writeConfifAsstr(data1)
|
|
197
|
+
|
|
198
|
+
def modifyAlphaDir(x):
|
|
199
|
+
data0 = readConfigAsstr()
|
|
200
|
+
x0 = readParameters()[14]
|
|
201
|
+
data1 = data0.replace(f"alphaDir = {x0}",f"alphaDir = {x}")
|
|
202
|
+
writeConfifAsstr(data1)
|
|
195
203
|
|
|
196
204
|
def read_temp_files(copy=False, path="C:"):
|
|
197
205
|
|
|
@@ -3004,7 +3012,7 @@ def detectProbabilities(L, e_quenching, e_quenching2, t1, evenement, extDT, meas
|
|
|
3004
3012
|
return efficiency0_S, efficiency0_D, efficiency0_T, efficiency0_AB, efficiency0_BC, efficiency0_AC, efficiency0_D2
|
|
3005
3013
|
|
|
3006
3014
|
|
|
3007
|
-
def detectProbabilitiesMC(L, e_quenching, e_quenching2, t1, evenement, extDT, measTime):
|
|
3015
|
+
def detectProbabilitiesMC(L, e_quenching, e_quenching2, t1, evenement, extDT, measTime, dir_param = alphaDir):
|
|
3008
3016
|
"""
|
|
3009
3017
|
Calculate detection probabilities for LS counting systems - see Broda, R., Cassette, P., Kossert, K., 2007. Radionuclide metrology using liquid scintillation counting. Metrologia 44. https://doi.org/10.1088/0026-1394/44/4/S06
|
|
3010
3018
|
|
|
@@ -3048,115 +3056,77 @@ def detectProbabilitiesMC(L, e_quenching, e_quenching2, t1, evenement, extDT, me
|
|
|
3048
3056
|
else:
|
|
3049
3057
|
symm = True
|
|
3050
3058
|
|
|
3059
|
+
alpha = 1
|
|
3060
|
+
|
|
3061
|
+
if alpha < 1000:
|
|
3062
|
+
dirichTD = np.random.dirichlet([alpha, alpha, alpha])
|
|
3063
|
+
dirichCN = np.random.dirichlet([alpha, alpha])
|
|
3064
|
+
else:
|
|
3065
|
+
dirichTD = [1/3, 1/3, 1/3]
|
|
3066
|
+
dirichCN = [1/2, 1/2]
|
|
3067
|
+
|
|
3068
|
+
efficiency0_S = 0; efficiency0_T = 0; efficiency0_D = 0
|
|
3069
|
+
efficiency0_AB = 0; efficiency0_BC = 0; efficiency0_AC = 0
|
|
3070
|
+
efficiency0_D2 = 0;
|
|
3071
|
+
|
|
3051
3072
|
if symm:
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
#
|
|
3076
|
-
|
|
3077
|
-
efficiency0_D2
|
|
3078
|
-
|
|
3079
|
-
m = len(e_quenching)
|
|
3080
|
-
n_ph = np.random.poisson(np.asarray(e_quenching*L))
|
|
3081
|
-
n_S = 0; n_D = 0; n_T = 0; n_AB = 0; n_BC = 0; n_AC = 0; n_D2 = 0; n_A2 = 0; n_B2 = 0;
|
|
3082
|
-
for j in n_ph:
|
|
3083
|
-
n_phPMT = np.random.multinomial(j, [1/3, 1/3, 1/3])
|
|
3084
|
-
if sum(n_phPMT>1)>0: n_S +=1
|
|
3085
|
-
if sum(n_phPMT>1)>1: n_D +=1
|
|
3086
|
-
if sum(n_phPMT>1)>2: n_T +=1
|
|
3087
|
-
if n_phPMT[0]>1 and n_phPMT[1]>1: n_AB +=1
|
|
3088
|
-
if n_phPMT[1]>1 and n_phPMT[2]>1: n_BC +=1
|
|
3089
|
-
if n_phPMT[0]>1 and n_phPMT[2]>1: n_AC +=1
|
|
3090
|
-
efficiency0_S = n_S/m
|
|
3091
|
-
efficiency0_T = n_T/m
|
|
3092
|
-
efficiency0_D = n_D/m
|
|
3093
|
-
efficiency0_AB = n_AB/m
|
|
3094
|
-
efficiency0_BC = n_BC/m
|
|
3095
|
-
efficiency0_AC = n_AC/m
|
|
3096
|
-
for j in n_ph:
|
|
3097
|
-
n_phPMT = np.random.multinomial(j, [1/2, 1/2])
|
|
3098
|
-
if sum(n_phPMT>1)>1: n_D2 +=1
|
|
3099
|
-
if n_phPMT[0]>1: n_A2 +=1
|
|
3100
|
-
if n_phPMT[1]>1: n_B2 +=1
|
|
3101
|
-
# efficiency0_A2 = n_A2/m
|
|
3102
|
-
# efficiency0_B2 = n_B2/m
|
|
3103
|
-
efficiency0_D2 = n_D2/m
|
|
3073
|
+
n_ph = np.random.poisson(sum(np.asarray(e_quenching))*L)
|
|
3074
|
+
# TDCR
|
|
3075
|
+
n_phPMT = np.random.multinomial(n_ph, dirichTD)
|
|
3076
|
+
if sum(n_phPMT>1)>0: efficiency0_S =1
|
|
3077
|
+
if sum(n_phPMT>1)>1: efficiency0_D =1
|
|
3078
|
+
if sum(n_phPMT>1)>2: efficiency0_T =1
|
|
3079
|
+
if n_phPMT[0]>1 and n_phPMT[1]>1: efficiency0_AB =1
|
|
3080
|
+
if n_phPMT[1]>1 and n_phPMT[2]>1: efficiency0_BC =1
|
|
3081
|
+
if n_phPMT[0]>1 and n_phPMT[2]>1: efficiency0_AC =1
|
|
3082
|
+
# C/N
|
|
3083
|
+
n_phPMT = np.random.multinomial(n_ph, dirichCN)
|
|
3084
|
+
if sum(n_phPMT>1)>1: efficiency0_D2 =1
|
|
3085
|
+
|
|
3086
|
+
if evenement !=1 and t1 > extDT*1e-6 and t1 < measTime*60:
|
|
3087
|
+
n_ph2 = np.random.poisson(sum(np.asarray(e_quenching2))*L)
|
|
3088
|
+
# TDCR
|
|
3089
|
+
n_phPMT2 = np.random.multinomial(n_ph2, dirichTD)
|
|
3090
|
+
if sum(n_phPMT2>1)>0: efficiency0_S +=1
|
|
3091
|
+
if sum(n_phPMT2>1)>1: efficiency0_D +=1
|
|
3092
|
+
if sum(n_phPMT2>1)>2: efficiency0_T +=1
|
|
3093
|
+
if n_phPMT2[0]>1 and n_phPMT2[1]>1: efficiency0_AB +=1
|
|
3094
|
+
if n_phPMT2[1]>1 and n_phPMT2[2]>1: efficiency0_BC +=1
|
|
3095
|
+
if n_phPMT2[0]>1 and n_phPMT2[2]>1: efficiency0_AC +=1
|
|
3096
|
+
# C/N
|
|
3097
|
+
n_phPMT2 = np.random.multinomial(n_ph2, dirichCN)
|
|
3098
|
+
if sum(n_phPMT2>1)>1: efficiency0_D2 +=1
|
|
3099
|
+
|
|
3104
3100
|
else: # asym
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
#
|
|
3130
|
-
|
|
3131
|
-
efficiency0_D2
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
Lm = np.mean(L)
|
|
3135
|
-
n_ph = np.random.poisson(np.asarray((e_quenching+e_quenching2)*Lm))
|
|
3136
|
-
n_S = 0; n_D = 0; n_T = 0; n_AB = 0; n_BC = 0; n_AC = 0; n_D2 = 0; n_A2 = 0; n_B2 = 0;
|
|
3137
|
-
for j in n_ph:
|
|
3138
|
-
n_phPMT = np.random.multinomial(j, [L[0]/(3*Lm), L[1]/(3*Lm), L[2]/(3*Lm)])
|
|
3139
|
-
if sum(n_phPMT>1)>0: n_S +=1
|
|
3140
|
-
if sum(n_phPMT>1)>1: n_D +=1
|
|
3141
|
-
if sum(n_phPMT>1)>2: n_T +=1
|
|
3142
|
-
if n_phPMT[0]>1 and n_phPMT[1]>1: n_AB +=1
|
|
3143
|
-
if n_phPMT[1]>1 and n_phPMT[2]>1: n_BC +=1
|
|
3144
|
-
if n_phPMT[0]>1 and n_phPMT[2]>1: n_AC +=1
|
|
3145
|
-
efficiency0_S = n_S/m
|
|
3146
|
-
efficiency0_T = n_T/m
|
|
3147
|
-
efficiency0_D = n_D/m
|
|
3148
|
-
efficiency0_AB = n_AB/m
|
|
3149
|
-
efficiency0_BC = n_BC/m
|
|
3150
|
-
efficiency0_AC = n_AC/m
|
|
3151
|
-
for j in n_ph:
|
|
3152
|
-
n_phPMT = np.random.multinomial(j, [L[0]/(2*Lm), L[1]/(2*Lm)])
|
|
3153
|
-
if sum(n_phPMT>1)>1: n_D2 +=1
|
|
3154
|
-
if n_phPMT[0]>1: n_A2 +=1
|
|
3155
|
-
if n_phPMT[1]>1: n_B2 +=1
|
|
3156
|
-
# efficiency0_A2 = n_A2/m
|
|
3157
|
-
# efficiency0_B2 = n_B2/m
|
|
3158
|
-
efficiency0_D2 = n_D2/m
|
|
3159
|
-
return efficiency0_S, efficiency0_D, efficiency0_T, efficiency0_AB, efficiency0_BC, efficiency0_AC, efficiency0_D2
|
|
3101
|
+
Lm = np.mean(L)
|
|
3102
|
+
n_ph = np.random.poisson(sum(np.asarray((e_quenching))*Lm))
|
|
3103
|
+
# TDCR
|
|
3104
|
+
n_phPMT = np.random.multinomial(n_ph, [L[0]*dirichTD[0]/Lm, L[1]*dirichTD[1]/Lm, L[2]*dirichTD[2]/Lm])
|
|
3105
|
+
if sum(n_phPMT>1)>0: efficiency0_S =1
|
|
3106
|
+
if sum(n_phPMT>1)>1: efficiency0_D =1
|
|
3107
|
+
if sum(n_phPMT>1)>2: efficiency0_T =1
|
|
3108
|
+
if n_phPMT[0]>1 and n_phPMT[1]>1: efficiency0_AB =1
|
|
3109
|
+
if n_phPMT[1]>1 and n_phPMT[2]>1: efficiency0_BC =1
|
|
3110
|
+
if n_phPMT[0]>1 and n_phPMT[2]>1: efficiency0_AC =1
|
|
3111
|
+
# C/N
|
|
3112
|
+
n_phPMT = np.random.multinomial(n_ph, [L[0]/(2*Lm), L[1]/(2*Lm)])
|
|
3113
|
+
if sum(n_phPMT>1)>1: efficiency0_D2 =1
|
|
3114
|
+
|
|
3115
|
+
if evenement !=1 and t1 > extDT*1e-6 and t1 < measTime*60:
|
|
3116
|
+
n_ph2 = np.random.poisson(sum(np.asarray(e_quenching2))*Lm)
|
|
3117
|
+
# TDCR
|
|
3118
|
+
n_phPMT2 = np.random.multinomial(n_ph2, [L[0]*dirichCN[0]/Lm, L[1]*dirichCN[1]/Lm, L[2]*dirichCN[2]/Lm])
|
|
3119
|
+
if sum(n_phPMT2>1)>0: efficiency0_S +=1
|
|
3120
|
+
if sum(n_phPMT2>1)>1: efficiency0_D +=1
|
|
3121
|
+
if sum(n_phPMT2>1)>2: efficiency0_T +=1
|
|
3122
|
+
if n_phPMT2[0]>1 and n_phPMT2[1]>1: efficiency0_AB +=1
|
|
3123
|
+
if n_phPMT2[1]>1 and n_phPMT2[2]>1: efficiency0_BC +=1
|
|
3124
|
+
if n_phPMT2[0]>1 and n_phPMT2[2]>1: efficiency0_AC +=1
|
|
3125
|
+
# C/N
|
|
3126
|
+
n_phPMT2 = np.random.multinomial(n_ph2, [L[0]/(2*Lm), L[1]/(2*Lm)])
|
|
3127
|
+
if sum(n_phPMT2>1)>1: efficiency0_D2 +=1
|
|
3128
|
+
|
|
3129
|
+
return efficiency0_S, efficiency0_D, efficiency0_T, efficiency0_AB, efficiency0_BC, efficiency0_AC, efficiency0_D2
|
|
3160
3130
|
|
|
3161
3131
|
|
|
3162
3132
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_C-14.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Ca-45.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Co-60.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_H-3.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Ni-63.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_S-35.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Sr-89.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Sr-90.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/Spectra_for_analytical_model/dep_spectrum_Tc-99.txt
RENAMED
|
File without changes
|
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-beta-_1_200k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-beta-_2000_10000k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-beta-_200_2000k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-photon_1_200k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-photon_2000_10000k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_10ml-photon_200_2000k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-beta-_1_200k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-beta-_2000_10000k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-beta-_200_2000k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-photon_1_200k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-photon_2000_10000k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_13ml-photon_200_2000k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-beta-_1_200k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-beta-_2000_10000k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-beta-_200_2000k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-photon_1_200k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-photon_2000_10000k.txt
RENAMED
|
File without changes
|
{tdcrpy-2.4.0 → tdcrpy-2.5.0}/tdcrpy/MCNP-MATRIX/matrice/fichier/matrice_16ml-photon_200_2000k.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|