tdcrpy package — TDCRPy 1 documentation

# tdcrpy package

This section provides documentation for the modules and classes in the project.

## Submodules

## tdcrpy.TDCRPy module

Created on Mon Jan 23 16:01:49 2023

A Monte-Carlo code to calculate detection efficiency in TDCR measurements

@author: Romain Coulon, Jialin Hu Bureau International des Poids et Mesures

tdcrpy.TDCRPy.TDCRPy(L, TD, TAB, TBC, TAC, Rad, pmf_1, N, kB, V, mode, mode2, Display=False, barp=False)

  This is the main function of the TDCRPy package running the Monte-Carlo Triple-to-Double Coincidence Ratio model. The computation is made for a given solution containing a radionuclide (or a mixture of radionuclides), a given volume of scintillator V and a given Birks constant kB.

  It can operates in two modes:

  > –> In mode=”eff”, it calculates the efficiency of the TDCR system as a function of a value (triplet) of free parameter(s) L, the measurement data is not used;

  > —> In mode=”res”, it calculates the residual of the TDCR model parametrized by a value (or triplet) of free parameter(s) L and the measurement data TD, TAB, TBC, TAC.

  also, two configuration can be set:

  > –> mode2=”sym”, where symmetry is considered between the 3 photomultiplier tubes - here L is a scalar and only the global TDCR value TD is used as measurement data.

  > —> mode2=”asym”, where an asymmetry between the 3 photomultiplier tubes is possible - here L is a triplet and only the specific TDCR values TAB, TBC, TAC are used as measurement data.

  The parmeter N sets the number of Monte-Carlo trails used for the estimation. Each MC trial corresponds to a simulated radiactive decay. TDCRPY() used a set of fonctions from the tdcrpy.TDCR_model_lib module.

  Advanced settings can be configured in the config.toml file.

  > –> By default Y = True so that the analytical model is applied for solution containing only pure beta emitting radionuclides. If you would like to apply the MC calculation also for these nuclides, set Y = False.

  > —> If you would like to change the number of bins nE to discretize the linear energy space for quenching calculation, you can change nE_electron and nE_alpha parameters for respectively electrons and alpha particles.

  > –> 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, the mean charge number Z and the mean mass number A of the scintillator.

  LFloat (if mode2=”sym”) or a tuple (if mode2=”asym”)

    Free parameter in keV-1.

  TDfloat

    triple-to-double coincidence ratio. Not consider if mode2=”asym”. Not consider if mode2=”asym”.

  TABfloat

    triple-to-double coincidence ratio (coincidences between channel A and B). Not consider if mode2=”sym”.

  TBCfloat

    triple-to-double coincidence ratio (coincidences between channel B and C). Not consider if mode2=”sym”.

  TACfloat

    triple-to-double coincidence ratio (coincidences between channel A and C). Not consider if mode2=”sym”.

  Radstring

    List of radionuclides (eg. “H-3, Co-60”).

  pmf_1string

    list of probability of each radionuclide (eg. “0.8, 0.2”).

  Ninteger

    Number of Monte-Carlo trials. recommanded N>10000 (see JCGM 101). Not applied in the case of pure beta emitting radionuclides.

  kBfloat

    Birks constant in cm/keV.

  Vfloat

    volume of the scintillator in ml. run only for 10 ml

  modestring

    “res” to return the residual, “eff” to return efficiencies.

  mode2string

    “sym” for symetrical model, “asym” for symetrical model.

  DisplayBoolean, optional

    “True” to display details on the decay sampling. The default is False.

  barpBoolean, optional

    “True” to display the calculation progress. The default is True.

  resfloat

    Residuals of the model compared the measurement data for (a) given free parmeters L. (only in mode=”res”)

  mean_efficiency_Sfloat

    Estimation of the efficiency of single counting events. (only in mode=”eff”)

  std_efficiency_Sfloat

    Standard uncertainty from calculation associated with the estimation of the efficiency of single counting events. (only in mode=”eff”)

  mean_efficiency_Dfloat

    Estimation of the efficiency of logic sum of double coincidences. (only in mode=”eff”)

  std_efficiency_Dfloat

    Standard uncertainty from calculation associated with the estimation of the efficiency of logic sum of double coincidences. (only in mode=”eff”)

  mean_efficiency_Tfloat

    Estimation of the efficiency of triple coincidences. (only in mode=”eff”)

  std_efficiency_Tfloat

    Standard uncertainty from calculation associated with the estimation of the efficiency of triple coincidences. (only in mode=”eff”)

## tdcrpy.TDCR_model_lib module

Created on Mon Jan 23 16:04:46 2023

Library of function of the TDCRpy code

@author: Romain Coulon, Jialin Hu Bureau International des Poids et Mesures

tdcrpy.TDCR_model_lib.E_quench_a(e, kB, nE)

  This function calculate the quenched energy alpha particles according to the Birks model of scintillation quenching

  efloat

    energy of the alpha particle in keV.

  kBfloat

    Birks constant in cm/keV.

  float

    Quenched energy in keV.

tdcrpy.TDCR_model_lib.E_quench_e(e, kB, nE)

  This function calculate the quenched energy of electrons according to the Birks model of scintillation quenching

  efloat

    energy of the electron in eV.

  kBfloat

    Birks constant in cm/MeV.

  float

    Quenched energy in eV.

tdcrpy.TDCR_model_lib.TicTocGenerator()

  Generator that returns time differences

tdcrpy.TDCR_model_lib.clear_terminal()

  Function to clear the terminal screen

tdcrpy.TDCR_model_lib.display_header()

  Function to display the header.

tdcrpy.TDCR_model_lib.energie_dep_beta(e_inci, *, matrice10_1=array([[1.0, 2.0, 3.0, ..., 198.0, 199.0, 200.0], [0.0, 0.0, 0.0, ..., 5.1e-05, 4.7e-05, 5.7e-05], [0.0, 2e-06, 2e-06, ..., 7.7e-05, 7.4e-05, 7e-05], ..., [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0]]), matrice10_2=array([[200.0, 202.0, 204.0, ..., 1996.0, 1998.0, 2000.0], [5.7e-05, 4.9e-05, 5.6e-05, ..., 0.001795, 0.001826, 0.00181], [0.000494, 0.000489, 0.000492, ..., 0.000912, 0.000912, 0.000913], ..., [0.0, 0.0, 0.0, ..., 0.48222, 6.8e-05, 7e-05], [0.0, 0.0, 0.0, ..., 5e-06, 0.481935, 6.6e-05], [0.0, 0.0, 0.0, ..., 3e-06, 6e-06, 0.481512]]), matrice10_3=array([[2000.0, 2010.0, 2020.0, ..., 9980.0, 9990.0, 10000.0], [0.00181, 0.001776, 0.001775, ..., 0.012191, 0.012222, 0.012252], [0.004217, 0.004213, 0.004184, ..., 0.004783, 0.004785, 0.004751], ..., [0.0, 0.0, 0.0, ..., 0.000646, 1.4e-05, 1.5e-05], [0.0, 0.0, 0.0, ..., 1e-06, 0.000645, 1.5e-05], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.00065]]), ed=array([[0.0, 0.0, 0.0], [0.0002008, 0.001999, 0.009991], [0.0004016, 0.003998, 0.019982], ..., [0.2006, 1.997, 9.981], [0.2008, 1.999, 9.991], [0.201, 2.001, 10.001]]))

  This function samples the energy deposited by an electron in the scintillator using response calculated by the Monte-Carlo code MCNP6.

  e_incifloat

    energy of the electron in keV.

  matrice10_1list[list], optional

    response matrix for electrons in the range [1-200] keV and for a scintillator volume of 10 ml.

  matrice10_2list[list], optional

    response matrix for electrons in the range [200-2000] keV and for a scintillator volume of 10 ml.

  matrice10_3list[list], optional

    response matrix for electrons in the range [2000-10000] keV and for a scintillator volume of 10 ml.

  edlist[list], optional

    matrix of input energies. column 0: [1-200] keV; column 1: [200-2000] keV; column 2: [2000-10000] keV

  resultfloat

    deposited energy in keV.

tdcrpy.TDCR_model_lib.energie_dep_beta2(e_inci, *, matrice10_1=array([[1.0, 2.0, 3.0, ..., 198.0, 199.0, 200.0], [0.0, 0.0, 0.0, ..., 5.1e-05, 4.7e-05, 5.7e-05], [0.0, 2e-06, 2e-06, ..., 7.7e-05, 7.4e-05, 7e-05], ..., [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0]]), matrice10_2=array([[200.0, 202.0, 204.0, ..., 1996.0, 1998.0, 2000.0], [5.7e-05, 4.9e-05, 5.6e-05, ..., 0.001795, 0.001826, 0.00181], [0.000494, 0.000489, 0.000492, ..., 0.000912, 0.000912, 0.000913], ..., [0.0, 0.0, 0.0, ..., 0.48222, 6.8e-05, 7e-05], [0.0, 0.0, 0.0, ..., 5e-06, 0.481935, 6.6e-05], [0.0, 0.0, 0.0, ..., 3e-06, 6e-06, 0.481512]]), matrice10_3=array([[2000.0, 2010.0, 2020.0, ..., 9980.0, 9990.0, 10000.0], [0.00181, 0.001776, 0.001775, ..., 0.012191, 0.012222, 0.012252], [0.004217, 0.004213, 0.004184, ..., 0.004783, 0.004785, 0.004751], ..., [0.0, 0.0, 0.0, ..., 0.000646, 1.4e-05, 1.5e-05], [0.0, 0.0, 0.0, ..., 1e-06, 0.000645, 1.5e-05], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.00065]]), ed=array([[0.0, 0.0, 0.0], [0.0002008, 0.001999, 0.009991], [0.0004016, 0.003998, 0.019982], ..., [0.2006, 1.997, 9.981], [0.2008, 1.999, 9.991], [0.201, 2.001, 10.001]]))

  This function samples the energy deposited by an electron in the scintillator using response calculated by the Monte-Carlo code MCNP6.

  e_incifloat

    energy of the electron in keV.

  matrice10_1list[list], optional

    response matrix for electrons in the range [1-200] keV and for a scintillator volume of 10 ml.

  matrice10_2list[list], optional

    response matrix for electrons in the range [200-2000] keV and for a scintillator volume of 10 ml.

  matrice10_3list[list], optional

    response matrix for electrons in the range [2000-10000] keV and for a scintillator volume of 10 ml.

  edlist[list], optional

    matrix of input energies. column 0: [1-200] keV; column 1: [200-2000] keV; column 2: [2000-10000] keV

  resultfloat

    deposited energy in keV.

tdcrpy.TDCR_model_lib.energie_dep_gamma(e_inci, v, matrice10_1=array([[1.0, 2.0, 3.0, ..., 198.0, 199.0, 200.0], [0.0, 0.0, 0.0, ..., 1e-06, 2e-06, 2e-06], [0.0, 0.001795, 0.005885, ..., 0.873706, 0.87388, 0.87406], ..., [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0]]), matrice10_2=array([[200.0, 202.0, 204.0, ..., 1996.0, 1998.0, 2000.0], [2e-06, 1e-06, 0.0, ..., 4.5e-05, 4.2e-05, 4.8e-05], [0.877508, 0.877865, 0.878157, ..., 0.951362, 0.951381, 0.951434], ..., [0.0, 0.0, 0.0, ..., 3e-06, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 4e-06, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 4e-06]]), matrice10_3=array([[2000.0, 2010.0, 2020.0, ..., 9980.0, 9990.0, 10000.0], [6e-05, 3e-05, 8e-05, ..., 0.00017, 0.00019, 0.00015], [0.95212, 0.95221, 0.95236, ..., 0.97913, 0.97918, 0.97918], ..., [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0]]), matrice16_1=array([[1.0, 2.0, 3.0, ..., 198.0, 199.0, 200.0], [0.0, 0.0, 0.0, ..., 2e-06, 1e-06, 3e-06], [0.0, 0.001533, 0.005069, ..., 0.855719, 0.855893, 0.856118], ..., [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0]]), matrice16_2=array([[200.0, 202.0, 204.0, ..., 1996.0, 1998.0, 2000.0], [3e-06, 1e-06, 0.0, ..., 3.8e-05, 4.8e-05, 4.1e-05], [0.859989, 0.860337, 0.860676, ..., 0.943906, 0.943951, 0.944006], ..., [0.0, 0.0, 0.0, ..., 3e-06, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 4e-06, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 4e-06]]), matrice16_3=array([[2000.0, 2010.0, 2020.0, ..., 9980.0, 9990.0, 10000.0], [4.1e-05, 3.1e-05, 4.4e-05, ..., 0.000194, 0.00019, 0.000205], [0.944572, 0.944712, 0.944892, ..., 0.975521, 0.975553, 0.975526], ..., [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0]]), ed=array([[0.0, 0.0, 0.0], [0.0002008, 0.001999, 0.009991], [0.0004016, 0.003998, 0.019982], ..., [0.2006, 1.997, 9.981], [0.2008, 1.999, 9.991], [0.201, 2.001, 10.001]]))

  This function samples the energy deposited by a x or gamma rays in the scintillator using response calculated by the Monte-Carlo code MCNP6.

  e_incifloat

    energy of the photon in keV.

  vfloat

    volume of the scintillator in ml.

  matrice10_1list[list], optional

    response matrix for photons in the range [1-200] keV and for a scintillator volume of 10 ml.

  matrice10_2list[list], optional

    response matrix for photons in the range [200-2000] keV and for a scintillator volume of 10 ml.

  matrice10_3list[list], optional

    response matrix for photons in the range [2000-10000] keV and for a scintillator volume of 10 ml.

  edlist[list], optional

    matrix of input energies. column 0: [1-200] keV; column 1: [200-2000] keV; column 2: [2000-10000] keV

  resultfloat

    deposited energy in keV.

tdcrpy.TDCR_model_lib.energie_dep_gamma2(e_inci, v, matrice10_1=array([[1.0, 2.0, 3.0, ..., 198.0, 199.0, 200.0], [0.0, 0.0, 0.0, ..., 1e-06, 2e-06, 2e-06], [0.0, 0.001795, 0.005885, ..., 0.873706, 0.87388, 0.87406], ..., [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0]]), matrice10_2=array([[200.0, 202.0, 204.0, ..., 1996.0, 1998.0, 2000.0], [2e-06, 1e-06, 0.0, ..., 4.5e-05, 4.2e-05, 4.8e-05], [0.877508, 0.877865, 0.878157, ..., 0.951362, 0.951381, 0.951434], ..., [0.0, 0.0, 0.0, ..., 3e-06, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 4e-06, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 4e-06]]), matrice10_3=array([[2000.0, 2010.0, 2020.0, ..., 9980.0, 9990.0, 10000.0], [6e-05, 3e-05, 8e-05, ..., 0.00017, 0.00019, 0.00015], [0.95212, 0.95221, 0.95236, ..., 0.97913, 0.97918, 0.97918], ..., [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0]]), matrice16_1=array([[1.0, 2.0, 3.0, ..., 198.0, 199.0, 200.0], [0.0, 0.0, 0.0, ..., 2e-06, 1e-06, 3e-06], [0.0, 0.001533, 0.005069, ..., 0.855719, 0.855893, 0.856118], ..., [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0]]), matrice16_2=array([[200.0, 202.0, 204.0, ..., 1996.0, 1998.0, 2000.0], [3e-06, 1e-06, 0.0, ..., 3.8e-05, 4.8e-05, 4.1e-05], [0.859989, 0.860337, 0.860676, ..., 0.943906, 0.943951, 0.944006], ..., [0.0, 0.0, 0.0, ..., 3e-06, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 4e-06, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 4e-06]]), matrice16_3=array([[2000.0, 2010.0, 2020.0, ..., 9980.0, 9990.0, 10000.0], [4.1e-05, 3.1e-05, 4.4e-05, ..., 0.000194, 0.00019, 0.000205], [0.944572, 0.944712, 0.944892, ..., 0.975521, 0.975553, 0.975526], ..., [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, ..., 0.0, 0.0, 0.0]]), ed=array([[0.0, 0.0, 0.0], [0.0002008, 0.001999, 0.009991], [0.0004016, 0.003998, 0.019982], ..., [0.2006, 1.997, 9.981], [0.2008, 1.999, 9.991], [0.201, 2.001, 10.001]]))

  This function samples the energy deposited by a x or gamma rays in the scintillator using response calculated by the Monte-Carlo code MCNP6.

  e_incifloat

    energy of the photon in keV.

  vfloat

    volume of the scintillator in ml.

  matrice10_1list[list], optional

    response matrix for photons in the range [1-200] keV and for a scintillator volume of 10 ml.

  matrice10_2list[list], optional

    response matrix for photons in the range [200-2000] keV and for a scintillator volume of 10 ml.

  matrice10_3list[list], optional

    response matrix for photons in the range [2000-10000] keV and for a scintillator volume of 10 ml.

  matrice16_1list[list], optional

    response matrix for photons in the range [1-200] keV and for a scintillator volume of 16 ml.

  matrice16_2list[list], optional

    response matrix for photons in the range [200-2000] keV and for a scintillator volume of 16 ml.

  matrice16_3list[list], optional

    response matrix for photons in the range [2000-10000] keV and for a scintillator volume of 16 ml.

  edlist[list], optional

    matrix of input energies. column 0: [1-200] keV; column 1: [200-2000] keV; column 2: [2000-10000] keV

  resultfloat

    deposited energy in keV.

tdcrpy.TDCR_model_lib.modelAnalytical(L, TD, TAB, TBC, TAC, rad, kB, V, mode, mode2, ne)

  TDCR analytical model that is used for pure beta emitting radionuclides

  Lfloat or tuple

    free parameter(s).

  TDfloat

    triple-to-double coincidence ratio that was measured (logic sum).

  TABfloat

    triple-to-double coincidence ratio that was measured (channels A and B).

  TBCflat

    triple-to-double coincidence ratio that was measured (channels B and C).

  TACfloat

    triple-to-double coincidence ratio that was measured (channels A and C).

  radstring

    radionuclide (eg. “Na-22”).

  kBfloat

    Birks constant in cm/keV.

  Vfloat

    volume of the scintillator in ml. run only for 10 ml

  modestring

    “res” to return the residual, “eff” to return efficiencies.

  mode2string

    “sym” for symetrical model, “asym” for symetrical model.

  nEinteger

    Number of bins for the quenching function.

  resfloat

    Residuals of the model compared the measurement data for (a) given free parmeters L. (only in mode=”res”)

  mean_efficiency_Sfloat

    Estimation of the efficiency of single counting events. (only in mode=”eff”)

  mean_efficiency_Dfloat

    Estimation of the efficiency of logic sum of double coincidences. (only in mode=”eff”)

  mean_efficiency_Tfloat

    Estimation of the efficiency of triple coincidences. (only in mode=”eff”)

tdcrpy.TDCR_model_lib.normalise(p_x)

  This function is used to ensure that the sum of probability is equal to 1.

  p_xlist

    vector of probabilities.

  plist

    normalized probability vector.

tdcrpy.TDCR_model_lib.readBetaShape(rad, mode, level, z=<zipfile.ZipFile filename='C:\\Users\\romain.coulon\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\tdcrpy\\decayData\\All-nuclides_BetaShape.zip' mode='r'>)

  This funcion reads the beta spectra calculated by the code BetaShape and published in the DDEP web page.

  refs:

  > https://doi.org/10.1103/PhysRevC.92.059902

  > http://www.lnhb.fr/ddep_wg/

  radstring

    identifier of the radionuclide. e.g. ‘Na-22’

  modestring

    identifier of the decay mode. ‘beta-’ or ‘beta+’

  levelint or string

    level of the daughter after decay. 0,1,2,3 …. or ‘tot’ in case of pure beta emitting radionuclides

  elist

    the energy vector in keV.

  dNdxlist

    the probability density in keV-1.

tdcrpy.TDCR_model_lib.readEShape(rad, *, z=<zipfile.ZipFile filename='C:\\Users\\romain.coulon\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\tdcrpy\\decayData\\All-nuclides_Ensdf.zip' mode='r'>)

  This function reads the ENSDF zip files and format the data to be processed by TDCRPy.

  radstring

    name of the radionuclide such as ‘Ag-108’.

  zZipFile object

    zip ENSDF file.

  daug_namelist

    daughter nucleus of the decay

  Energylist

    comprise all transition energies of the daughter nucleus.

  Problist

    comprise all transtion probabilities of the daughter nucleus.

  Typelist

    comprise all type of transition of the daughter nucleus.

tdcrpy.TDCR_model_lib.readPenNuc2(rad, z1=<zipfile.ZipFile filename='C:\\Users\\romain.coulon\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\tdcrpy\\decayData\\All-nuclides_PenNuc.zip' mode='r'>)

  This function is used to read PenNuc files to format the decay data in lists readable by TDCRPy.

  radstring

    name of the radionculide (for example: “Am-241”).

  daughterlist

    list of the daughter nucleus – indice 0.

  prob_dauglist

    list of probabilities to produce daugter nuclei – indice 1.

  energy_Qlist

    list of Q value for each transition to a given daughter nucleus – indice 2.

  desin_type_totlist[list]

    list of type of decay branch / emitted particules – indice 3. It contains a sub-list for all possible branches of a given daughter nucleus and a sub-sub list related to possible decay mode of each branch.

  desin_energy_totlist[list]

    list of the energies of decay transition or the emitted particles – indice 4. It contains a sub-list for all possible branches of a given daughter nucleus and a sub-sub list related to possible decay mode of each branch.

  desin_prob_totlist[list]

    list of the prabability of decay transition or the emitted particles – indice 5. It contains a sub-list for all possible branches of a given daughter nucleus and a sub-sub list related to possible decay mode of each branch.

  desin_level_totlist[list]

    list of energy level that the daughter nucleus can have just after the decay of the mother nucleus – indice 6. It contains a sub-list for all possible branches of a given daughter nucleus and a sub-sub list related to possible decay mode of each branch.

  prob_branch_totlist

    list of branch probabilities – indice 7. It contains a sub-list for all possible branches of a given daughter nucleus.

  tran_type_totlist[list]

    list of all possible transitions – indice 8. It contains a sub-list for all possible branches of a given daughter nucleus and a sub-sub list related to possible decay mode of each branch.

  tran_energy_totlist[list]

    list of energy associated with transitions – indice 9. It contains a sub-list for all possible branches of a given daughter nucleus and a sub-sub list related to possible decay mode of each branch.

  tran_prob_totlist[list]

    list of probability associated with transitions – indice 10. It contains a sub-list for all possible branches of a given daughter nucleus and a sub-sub list related to possible decay mode of each branch.

  tran_level_totlist[list]

    list of corresponding branch levels – indice 11. It contains a sub-list for all possible branches of a given daughter nucleus and a sub-sub list related to the level before the transition.

  tran_level_end_totlist[list]

    list of level following given transitions – indice 12. It contains a sub-list for all possible branches of a given daughter nucleus and a sub-sub list related to the level after the transition.

  level_energy_totlist[list]

    list of energy levels – indice 13. It contains a sub-list for all possible branches of a given daughter nucleus and a sub-sub list related to possible decay mode of each branch.

  prob_tran_totlist[list]

    list of sum of transition of each branches – indice 14. It contains a sub-list for all possible branches of a given daughter nucleus and a sub-sub list related to possible decay mode of each branch.

tdcrpy.TDCR_model_lib.read_matrice(path, niveau)

  This function read the response matrix calculated by MCNP6 simulation.

  pathstring

    path to the response matrix.

  niveauinteger or string

    energy range of the response matrix. 0: [1-200] keV; 1: [200-2000] keV; 2: [2000-10000] keV. “e” for the input energy matrix.

  matricelist[list]

    formatted response matrix.

tdcrpy.TDCR_model_lib.relaxation_atom(daugther, rad, lacune='defaut')

  This function simulates the atomic rearangement following a missing electron an inner shell of the daughter atom.

  daugtherstring

    The daughter nucleus (for example NB95,PD110 etc.)

  radstring

    The mother nucleus (for exemple Am-241, C-11 etc.)

  lacunestring

    The shell where the electron is missing (for example ‘Atom_K’,’Atom_L’ etc.)

  Type : type of transition Auger L or K, or X Ray. Energy : corresponding energy in keV.

tdcrpy.TDCR_model_lib.sampling(p_x)

  This function aims to sample in a pdf or a pmf

  p_xfloat vector

    Probability Density (or mass) Function (PDF or PMF) of the random variable x.

  iinteger

    index in x pointing the sampled value of the random variable X.

tdcrpy.TDCR_model_lib.stoppingpower(e, rho=0.96, Z=5.2, A=11.04, emin=0, file=array([0.0, 0.7, 1.4, ..., 12.491336, 12.490668, 8.55292038e-72]))

  The stopping power of electrons between 20 keV and 1000 keV is a mixture of a radiative loss model [1], and a collision model [2] that has been validated agaisnt the NIST model ESTAR [3] recommanded by the ICRU Report 37 [4]. At low energy - between 10 eV and 20 keV - the model from Tan and Xia [5] is implemented.

  Refs:

  > [1] https://doi.org/10.1016/0020-708x(82)90244-7

  > [2] https://www.ijstr.org/final-print/jan2017/Calculations-Of-Stopping-Power-And-Range-Of-Electrons-Interaction-With-Different-Material-And-Human-Body-Parts.pdf

  > [3] https://dx.doi.org/10.18434/T4NC7P

  > [4] ICRU Report 37, Stopping Powers for Electrons and Positrons

  > [5] https://doi.org/10.1016/j.apradiso.2011.08.012

  efloat

    Energy of the electron in eV.

  rhofloat, optional

    density of the source in g.cm-3. The default is 0.96.

  Zfloat, optional

    mean charge number of the source. The default is 5.2.

  Afloat, optional

    mean mass number of the source. The default is 11.04.

  eminfloat, optional

    the minimal energy to consider. The default is 0.

  filelist, optional

    tabulated data form the Tan and Xia model. The default is data_TanXia_f.

  dEdxfloat

    Calculated stopping power in MeV.cm-1.

tdcrpy.TDCR_model_lib.stoppingpowerA(e, rho=0.96, energy_alpha=[1.0, 1.5, 2.0, 2.5, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 12.5, 15.0, 17.5, 20.0, 22.5, 25.0, 27.5, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0, 100.0, 125.0, 150.0, 175.0, 200.0, 225.0, 250.0, 275.0, 300.0, 350.0, 400.0, 450.0, 500.0, 550.0, 600.0, 650.0, 700.0, 750.0, 800.0, 850.0, 900.0, 950.0, 1000.0, 1250.0, 1500.0, 1750.0, 2000.0, 2250.0, 2500.0, 2750.0, 3000.0, 3500.0, 4000.0, 4500.0, 5000.0, 5500.0, 6000.0, 6500.0, 7000.0, 7500.0, 8000.0], dEdx_alpha=[426600.0, 442500.0, 456000.0, 468700.0, 480800.0, 504300.0, 526800.0, 548500.0, 569400.0, 589600.0, 609100.0, 628100.0, 673000.0, 715000.0, 754500.0, 791900.0, 827400.0, 861200.0, 893600.0, 924700.0, 983500.0, 1038000.0, 1090000.0, 1139000.0, 1185000.0, 1229000.0, 1271000.0, 1311000.0, 1350000.0, 1387000.0, 1423000.0, 1457000.0, 1490000.0, 1522000.0, 1668000.0, 1792000.0, 1900000.0, 1993000.0, 2074000.0, 2145000.0, 2206000.0, 2258000.0, 2340000.0, 2398000.0, 2436000.0, 2457000.0, 2465000.0, 2463000.0, 2453000.0, 2436000.0, 2415000.0, 2389000.0, 2361000.0, 2331000.0, 2299000.0, 2267000.0, 2111000.0, 1962000.0, 1819000.0, 1684000.0, 1561000.0, 1457000.0, 1369000.0, 1292000.0, 1164000.0, 1061000.0, 977400.0, 907300.0, 847700.0, 796300.0, 751400.0, 711800.0, 676600.0, 645000.0])

  Estimation of the stopping power of alpha particles using tabulated values form the ASTAR code

  ref:

  > https://dx.doi.org/10.18434/T4NC7P

  efloat

    energy of the alpha particle in keV.

  rhofloat, optional

    density of the source in g.cm-3. The default is 0.96.

  energy_alphalist, optional

    the list of energy (in keV) for which the stopping power was calculated with ASTAR. The default is energy_alph.

  dEdx_alphalist, optional

    the list of stopping powers (in keV.cm2/g) associated with the energy vector. The default is dEdx_alph.

  float

    Interpolated ASTAR estimation of the stopping power.

tdcrpy.TDCR_model_lib.tic()

  Records a time in TicToc, marks the beginning of a time interval

tdcrpy.TDCR_model_lib.toc(tempBool=True)

  Prints the time difference yielded by generator instance TicToc

tdcrpy.TDCR_model_lib.transf_name(rad)

  This function format the name of the nuclide to match with the PenNuc format.

  radstring

    name of the radionculdie such as ‘108AG’.

  RADstring

    name of the radionuclide such as ‘AG108’ that match with PenNuc format.

tdcrpy.TDCR_model_lib.writeEffcurves(x, y, uy, rad, p, kB, SDT)

  This function writes efficiency curves

  xTYPE

    DESCRIPTION.

  yTYPE

    DESCRIPTION.

  uyTYPE

    DESCRIPTION.

  radTYPE

    DESCRIPTION.

  pTYPE

    DESCRIPTION.

  kBTYPE

    DESCRIPTION.

  SDTTYPE

    DESCRIPTION.

  None.

## tdcrpy.TDCRoptimize module

Created on Wed Jul 5 10:04:53 2023

@author: romain.coulon, jialin.hu

tdcrpy.TDCRoptimize.eff(TD, TAB, TBC, TAC, Rad, pmf_1, kB, V, mode2, N=1000, L=1)

  Caclulation of the efficiency of a TDCR system based on the model TDCRPy.

  TDfloat

    triple-to-double coincidence ratio. Not consider if mode2=”asym”. Not consider if mode2=”asym”.

  TABfloat

    triple-to-double coincidence ratio (coincidences between channel A and B). Not consider if mode2=”sym”.

  TBCfloat

    triple-to-double coincidence ratio (coincidences between channel B and C). Not consider if mode2=”sym”.

  TACfloat

    triple-to-double coincidence ratio (coincidences between channel A and C). Not consider if mode2=”sym”.

  Radstring

    List of radionuclides.

  pmf_1string

    list of probability of each radionuclide..

  kBfloat

    Birks constant.

  Vfloat

    volume of the scintillator in ml. run only for 10 ml

  mode2string

    “sym” for symetrical model, “asym” for symetrical model.

  Ninterger, optional

    number of Monte-Carlo trials. The default is 1000.

  Lfloat, optional

    free parameter(s) as initial guess. The default is 1.

  L0float

    global free parameter.

  Ltuple

    free parameters (relevant for the asymetric model).

  eff_Sfloat

    counting efficiency of single events.

  u_eff_Sfloat

    standard uncertainty of eff_S.

  eff_Dfloat

    counting efficiency of double coincidences.

  u_eff_Dfloat

    standard uncertainty of eff_D.

  eff_Tfloat

    counting efficiency of triple coincidences.

  u_eff_Tfloat

    standard uncertainty of eff_T.

## Module contents