18 #include <unordered_map>
82 bool theory_ok =
true)
const;
94 bool theory_ok =
true)
const;
162 const std::string& array_key,
163 std::unordered_map<int, double>& map_to_use);
171 double lookup_atomic_mass(
int nucleus_pid,
bool& exp,
172 bool theory_ok =
true)
const;
173 double lookup_atomic_mass(
int Z,
int A,
bool& exp,
174 bool theory_ok =
true)
const;
178 std::unordered_map<int, double> particle_masses_;
182 std::unordered_map<int, double> atomic_masses_;
185 static constexpr
double micro_amu_ = 0.000931494061;
188 static const std::string data_file_name_;
Simple container for storing reference data about each of the nuclear fragments considered by MARLEY'...
Definition: Fragment.hh:27
Singleton lookup table for particle and atomic masses.
Definition: MassTable.hh:27
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.
Definition: MassTable.cc:264
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.
Definition: MassTable.cc:205
static const MassTable & Instance()
Get a const reference to the singleton instance of the MassTable.
Definition: MassTable.cc:68
double get_mass_excess(int Z, int A, bool theory_ok=true) const
Get the mass excess of a nucleus.
Definition: MassTable.cc:182
double get_atomic_mass(int pdg_code, bool theory_ok=true) const
Get the mass of an atom.
Definition: MassTable.cc:94
double liquid_drop_model_atomic_mass(int Z, int A) const
Calculate a theoretical atomic mass using the liquid drop model.
Definition: MassTable.cc:79
double get_binding_energy(int Z, int A, bool theory_ok=true) const
Get the binding energy of a nucleus.
Definition: MassTable.cc:166
MassTable & operator=(const MassTable &)=delete
Deleted copy assignment operator.
MassTable & operator=(MassTable &&)=delete
Deleted move assignment operator.
double get_particle_mass(int pdg_code) const
Get the mass of a particle.
Definition: MassTable.cc:83
double liquid_drop_model_mass_excess(int Z, int A) const
Calculate a theoretical mass excess for a nucleus using the liquid drop model.
Definition: MassTable.cc:232
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 HauserF...
Definition: MassTable.cc:275
MassTable(const MassTable &)=delete
Deleted copy constructor.
MassTable()
Create the singleton MassTable object.
Definition: MassTable.cc:29