MARLEY (Model of Argon Reaction Low Energy Yields)  v1.0.0
A Monte Carlo event generator for tens-of-MeV neutrino-nucleus interactions in liquid argon
 All Classes Functions Variables Enumerations Pages
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 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 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.
 

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

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


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