MARLEY (Model of Argon Reaction Low Energy Yields)
v1.2.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
|
Singleton lookup table for particle and atomic masses. More...
#include <MassTable.hh>
Public Member Functions | |
MassTable (const MassTable &)=delete | |
Deleted copy constructor. | |
MassTable (MassTable &&)=delete | |
Deleted move constructor. | |
double | fragment_emission_threshold (const int Zi, const int Ai, const marley::Fragment &f) const |
Get the approximate excitation energy threshold for emission of a particular nuclear fragment. More... | |
double | get_atomic_mass (int pdg_code, bool theory_ok=true) const |
Get the mass of an atom. More... | |
double | get_atomic_mass (int Z, int A, bool theory_ok=true) const |
Get the mass of an atom. More... | |
double | get_binding_energy (int Z, int A, bool theory_ok=true) const |
Get the binding energy of a nucleus. More... | |
double | get_fragment_separation_energy (int nuc_pdg, int frag_pdg, bool theory_ok=true) const |
Get the separation energy for emission of a nuclear fragment from a nucleus. More... | |
double | get_fragment_separation_energy (int Z, int A, int pdg, bool theory_ok=true) const |
Get the separation energy for emission of a nuclear fragment from a nucleus. More... | |
double | get_mass_excess (int Z, int A, bool theory_ok=true) const |
Get the mass excess of a nucleus. More... | |
double | get_particle_mass (int pdg_code) const |
Get the mass of a particle. More... | |
double | liquid_drop_model_atomic_mass (int Z, int A) const |
Calculate a theoretical atomic mass using the liquid drop model. More... | |
double | liquid_drop_model_mass_excess (int Z, int A) const |
Calculate a theoretical mass excess for a nucleus using the liquid drop model. More... | |
MassTable & | operator= (const MassTable &)=delete |
Deleted copy assignment operator. | |
MassTable & | operator= (MassTable &&)=delete |
Deleted move assignment operator. | |
double | unbound_threshold (const int initial_nucleus_pdg) const |
Computes the lowest excitation energy at which one of the nuclear fragments considered by the HauserFeshbachDecay class may be emitted. More... | |
double | unbound_threshold (const int Zi, const int Ai) const |
Computes the lowest excitation energy at which one of the nuclear fragments considered by the HauserFeshbachDecay class may be emitted. More... | |
Static Public Member Functions | |
static const MassTable & | Instance () |
Get a const reference to the singleton instance of the MassTable. | |
Protected Member Functions | |
MassTable () | |
Create the singleton MassTable object. | |
Singleton lookup table for particle and atomic masses.
double marley::MassTable::fragment_emission_threshold | ( | const int | Zi, |
const int | Ai, | ||
const marley::Fragment & | f | ||
) | const |
Get the approximate excitation energy threshold for emission of a particular nuclear fragment.
Zi | Proton number of the initial nucleus |
Ai | Mass number of the initial nucleus |
f | Fragment to be emitted |
double marley::MassTable::get_atomic_mass | ( | int | pdg_code, |
bool | theory_ok = true |
||
) | const |
Get the mass of an atom.
pdg_code | PDG code identifying the nucleus of the atom |
theory_ok | Whether to calculate a theoretical mass using the liquid drop model if an experimental mass cannot be found. If theory_ok is false, then a marley::Error will be thrown if an experimental mass cannot be found. |
double marley::MassTable::get_atomic_mass | ( | int | Z, |
int | A, | ||
bool | theory_ok = true |
||
) | const |
Get the mass of an atom.
Z | Atomic number of the atom |
A | Mass number of the atom |
theory_ok | Whether to calculate a theoretical mass using the liquid drop model if an experimental mass cannot be found. If theory_ok is false, then a marley::Error will be thrown if an experimental mass cannot be found. |
double marley::MassTable::get_binding_energy | ( | int | Z, |
int | A, | ||
bool | theory_ok = true |
||
) | const |
Get the binding energy of a nucleus.
Z | Atomic number |
A | Mass number |
theory_ok | Whether to use a theoretical (liquid drop model) atomic mass during the calculation if an experimental atomic mass cannot be found. If theory_ok is false, then a marley::Error will be thrown if an experimental atomic mass cannot be found. |
double marley::MassTable::get_fragment_separation_energy | ( | int | nuc_pdg, |
int | frag_pdg, | ||
bool | theory_ok = true |
||
) | const |
Get the separation energy for emission of a nuclear fragment from a nucleus.
nuc_pdg | PDG code for the mother nucleus |
frag_pdg | PDG code for the emitted nuclear fragment |
theory_ok | Whether to calculate a theoretical mass using the liquid drop model if an experimental mass cannot be found. If theory_ok is false, then a marley::Error will be thrown if an experimental mass cannot be found. |
double marley::MassTable::get_fragment_separation_energy | ( | int | Z, |
int | A, | ||
int | pdg, | ||
bool | theory_ok = true |
||
) | const |
Get the separation energy for emission of a nuclear fragment from a nucleus.
Z | Atomic number for the mother nucleus |
A | Mass number for the mother nucleus |
pdg | PDG code for the emitted nuclear fragment |
theory_ok | Whether to calculate a theoretical mass using the liquid drop model if an experimental mass cannot be found. If theory_ok is false, then a marley::Error will be thrown if an experimental mass cannot be found. |
double marley::MassTable::get_mass_excess | ( | int | Z, |
int | A, | ||
bool | theory_ok = true |
||
) | const |
Get the mass excess of a nucleus.
Z | Atomic number |
A | Mass number |
theory_ok | Whether to use a theoretical (liquid drop model) atomic mass during the calculation if an experimental atomic mass cannot be found. If theory_ok is false, then a marley::Error will be thrown if an experimental atomic mass cannot be found. |
double marley::MassTable::get_particle_mass | ( | int | pdg_code | ) | const |
Get the mass of a particle.
pdg_code | PDG code identifying the type of particle |
double marley::MassTable::liquid_drop_model_atomic_mass | ( | int | Z, |
int | A | ||
) | const |
Calculate a theoretical atomic mass using the liquid drop model.
Z | Atomic number |
A | Mass number |
double marley::MassTable::liquid_drop_model_mass_excess | ( | int | Z, |
int | A | ||
) | const |
Calculate a theoretical mass excess for a nucleus using the liquid drop model.
Z | Atomic number |
A | Mass number |
The liquid drop model parameters used here are based on those given in A. J. Koning, et al., Nucl. Phys. A 810 (2008) pp. 13-76 for use with the back-shifted Fermi gas nuclear level density model.
double marley::MassTable::unbound_threshold | ( | const int | initial_nucleus_pdg | ) | const |
Computes the lowest excitation energy at which one of the nuclear fragments considered by the HauserFeshbachDecay class may be emitted.
initial_nucleus_pdg | PDG code of the initial nucleus |
double marley::MassTable::unbound_threshold | ( | const int | Zi, |
const int | Ai | ||
) | const |
Computes the lowest excitation energy at which one of the nuclear fragments considered by the HauserFeshbachDecay class may be emitted.
Zi | Proton number of the initial nucleus |
Ai | Mass number of the initial nucleus |