|
MARLEY (Model of Argon Reaction Low Energy Yields) v2.0.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. | |
| double | get_atomic_mass (int pdg_code, bool theory_ok=true) const |
| Get the mass of an atom. | |
| double | get_atomic_mass (int Z, int A, bool theory_ok=true) const |
| Get the mass of an atom. | |
| double | get_binding_energy (int Z, int A, bool theory_ok=true) const |
| Get the binding energy of a nucleus. | |
| 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. | |
| 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. | |
| double | get_mass_excess (int Z, int A, bool theory_ok=true) const |
| Get the mass excess of a nucleus. | |
| double | get_particle_mass (int pdg_code) const |
| Get the mass of a particle. | |
| double | liquid_drop_model_atomic_mass (int Z, int A) const |
| Calculate a theoretical atomic mass using the liquid drop model. | |
| double | liquid_drop_model_mass_excess (int Z, int A) const |
| Calculate a theoretical mass excess for a nucleus using the liquid drop model. | |
| 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. | |
| 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. | |
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.
Definition at line 30 of file MassTable.hh.
|
protected |
Create the singleton MassTable object.
Definition at line 30 of file MassTable.cc.
References marley::FileManager::Instance().
| 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 |
Definition at line 270 of file MassTable.cc.
References get_fragment_separation_energy(), and marley::Fragment::get_pid().
Referenced by unbound_threshold().
| 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. |
Definition at line 95 of file MassTable.cc.
Referenced by marley::NuclearReaction::NuclearReaction(), and marley::DecayScheme::do_cascade().
| 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. |
Definition at line 191 of file MassTable.cc.
| 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. |
Definition at line 167 of file MassTable.cc.
| 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. |
Definition at line 198 of file MassTable.cc.
References get_fragment_separation_energy().
| 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. |
Definition at line 206 of file MassTable.cc.
Referenced by marley::BackshiftedFermiGasModel::BackshiftedFermiGasModel(), fragment_emission_threshold(), and get_fragment_separation_energy().
| 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. |
Definition at line 183 of file MassTable.cc.
Referenced by marley::BackshiftedFermiGasModel::BackshiftedFermiGasModel().
| 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 |
Definition at line 84 of file MassTable.cc.
Referenced by marley::CoulombCorrector::CoulombCorrector(), marley::NuclearReaction::NuclearReaction(), marley::DecayScheme::do_cascade(), marley::Fragment::get_mass(), and marley::WeisskopfSingleParticleModel::strength_function().
|
static |
Get a const reference to the singleton instance of the MassTable.
Definition at line 69 of file MassTable.cc.
Referenced by marley::BackshiftedFermiGasModel::BackshiftedFermiGasModel(), marley::CoulombCorrector::CoulombCorrector(), marley::KoningDelarocheOpticalModel::KoningDelarocheOpticalModel(), marley::NuclearReaction::NuclearReaction(), marley::CommandHandler::cmd_decay(), marley::TabulatedXSec::compute_integral(), marley::DecayScheme::do_cascade(), marley::Fragment::get_mass(), marley::FragmentExitChannel::max_Exf(), marley::KoningDelarocheOpticalModel::optical_model_potential(), marley::ExitChannel::prepare_products(), marley::NucleusDecayer::process_event(), marley::DecayScheme::read_from_stream(), marley::ContinuumNuclearReaction::reassign_sub_continuum(), marley::WeisskopfSingleParticleModel::strength_function(), and marley::KoningDelarocheOpticalModel::total_cross_section().
| 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 |
Definition at line 80 of file MassTable.cc.
References liquid_drop_model_mass_excess().
| 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.
Definition at line 238 of file MassTable.cc.
Referenced by marley::BackshiftedFermiGasModel::BackshiftedFermiGasModel(), and liquid_drop_model_atomic_mass().
| 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 |
Definition at line 303 of file MassTable.cc.
References unbound_threshold().
| 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 |
Definition at line 281 of file MassTable.cc.
References fragment_emission_threshold(), marley::StructureDatabase::fragments(), marley::Fragment::get_pid(), and unbound_threshold().
Referenced by unbound_threshold(), and unbound_threshold().