MARLEY (Model of Argon Reaction Low Energy Yields)  v1.2.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
marley::MassTable Class Reference

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...
 
MassTableoperator= (const MassTable &)=delete
 Deleted copy assignment operator.
 
MassTableoperator= (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 MassTableInstance ()
 Get a const reference to the singleton instance of the MassTable.
 

Protected Member Functions

 MassTable ()
 Create the singleton MassTable object.
 

Detailed Description

Singleton lookup table for particle and atomic masses.

Member Function Documentation

◆ fragment_emission_threshold()

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.

Parameters
ZiProton number of the initial nucleus
AiMass number of the initial nucleus
fFragment to be emitted

◆ get_atomic_mass() [1/2]

double marley::MassTable::get_atomic_mass ( int  pdg_code,
bool  theory_ok = true 
) const

Get the mass of an atom.

Parameters
pdg_codePDG code identifying the nucleus of the atom
theory_okWhether 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.
Returns
Atomic mass (MeV)

◆ get_atomic_mass() [2/2]

double marley::MassTable::get_atomic_mass ( int  Z,
int  A,
bool  theory_ok = true 
) const

Get the mass of an atom.

Parameters
ZAtomic number of the atom
AMass number of the atom
theory_okWhether 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.
Returns
Atomic mass (MeV)

◆ get_binding_energy()

double marley::MassTable::get_binding_energy ( int  Z,
int  A,
bool  theory_ok = true 
) const

Get the binding energy of a nucleus.

Parameters
ZAtomic number
AMass number
theory_okWhether 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.
Returns
Binding energy (MeV)

◆ get_fragment_separation_energy() [1/2]

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.

Parameters
nuc_pdgPDG code for the mother nucleus
frag_pdgPDG code for the emitted nuclear fragment
theory_okWhether 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.
Returns
Separation energy (MeV)

◆ get_fragment_separation_energy() [2/2]

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.

Parameters
ZAtomic number for the mother nucleus
AMass number for the mother nucleus
pdgPDG code for the emitted nuclear fragment
theory_okWhether 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.
Returns
Separation energy (MeV)

◆ get_mass_excess()

double marley::MassTable::get_mass_excess ( int  Z,
int  A,
bool  theory_ok = true 
) const

Get the mass excess of a nucleus.

Parameters
ZAtomic number
AMass number
theory_okWhether 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.
Returns
Mass excess (MeV)

◆ get_particle_mass()

double marley::MassTable::get_particle_mass ( int  pdg_code) const

Get the mass of a particle.

Parameters
pdg_codePDG code identifying the type of particle
Returns
Particle mass (MeV)

◆ liquid_drop_model_atomic_mass()

double marley::MassTable::liquid_drop_model_atomic_mass ( int  Z,
int  A 
) const

Calculate a theoretical atomic mass using the liquid drop model.

Parameters
ZAtomic number
AMass number
Returns
Atomic mass (MeV)

◆ 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.

Parameters
ZAtomic number
AMass number
Returns
Mass excess (MeV)

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.

◆ unbound_threshold() [1/2]

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.

Parameters
initial_nucleus_pdgPDG code of the initial nucleus

◆ unbound_threshold() [2/2]

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.

Parameters
ZiProton number of the initial nucleus
AiMass number of the initial nucleus

The documentation for this class was generated from the following files: