|
MARLEY (Model of Argon Reaction Low Energy Yields) v2.0.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
|
Container for nuclear structure information organized by nuclide. More...
#include <StructureDatabase.hh>
Public Member Functions | |
| StructureDatabase () | |
| Creates an empty database. | |
| void | add_decay_scheme (int pdg, std::unique_ptr< marley::DecayScheme > &ds) |
| Add a DecayScheme object to the database that contains discrete level data for a specific nuclide. | |
| void | clear () |
| Removes all previously stored data from the database. | |
| const std::unordered_map< int, std::unique_ptr< marley::DecayScheme > > & | decay_schemes () const |
| Retrieves a const reference to the table of DecayScheme objects. | |
| void | emplace_decay_scheme (int pdg, const std::string &filename, DecayScheme::FileFormat format=DecayScheme::FileFormat::talys) |
| Construct and add a DecayScheme object to the database that contains discrete level data for a specific nuclide. | |
| std::set< int > | find_all_nuclides (const std::string &filename, DecayScheme::FileFormat format=DecayScheme::FileFormat::talys) |
| Create a set of Particle Data Group codes for every nuclide in a discrete level data file. | |
| marley::DecayScheme * | get_decay_scheme (const int particle_id) |
| Retrieves discrete level data from the database. | |
| marley::DecayScheme * | get_decay_scheme (const int Z, const int A) |
| Retrieves discrete level data from the database. | |
| int | get_fragment_l_max () const |
| Returns the maximum orbital angular momentum to consider when simulating fragment emission to the continuum. | |
| int | get_gamma_l_max () const |
| Returns the maximum multipolarity to consider when simulating gamma-ray emission to the continuum. | |
| marley::GammaStrengthFunctionModel & | get_gamma_strength_function_model (const int nuc_pdg) |
| Retrieves a gamma-ray strength function model object from the database, creating it if one did not already exist. | |
| marley::GammaStrengthFunctionModel & | get_gamma_strength_function_model (const int Z, const int A) |
| Retrieves a gamma-ray strength function model object from the database, creating it if one did not already exist. | |
| marley::LevelDensityModel & | get_level_density_model (const int nucleus_pid) |
| Retrieves a level density model object from the database, creating it if one did not already exist. | |
| marley::LevelDensityModel & | get_level_density_model (const int Z, const int A) |
| Retrieves a level density model object from the database, creating it if one did not already exist. | |
| marley::OpticalModel & | get_optical_model (const int Z, const int A) |
| Retrieves an optical model object from the database, creating it if one did not already exist. | |
| marley::OpticalModel & | get_optical_model (int nucleus_pid) |
| Retrieves an optical model object from the database, creating it if one did not already exist. | |
| void | load_optical_model_params (const marley::JSON *om_config=nullptr) |
| Helper function that initializes the map of JSON settings for the optical model parameters. | |
| void | remove_decay_scheme (int pdg) |
| Deletes the discrete level data in the database associated with a given nuclide. | |
| void | set_fragment_l_max (int ell) |
| Sets the maximum orbital angular momentum to consider when simulating fragment emission to the continuum. | |
| void | set_gamma_l_max (int ell) |
| Sets the maximum multipolarity to consider when simulating gamma-ray emission to the continuum. | |
Static Public Member Functions | |
| static const std::map< int, marley::Fragment > & | fragments () |
| Retrieves a const reference to the table of Fragment objects. | |
| static const marley::Fragment * | get_fragment (const int fragment_pdg) |
| Retrieves nuclear fragment data from the database. | |
| static const marley::Fragment * | get_fragment (const int Z, const int A) |
| Retrieves nuclear fragment data from the database. | |
| static void | get_gs_spin_parity (const int Z, const int A, int &twoJ, marley::Parity &Pi) |
| Looks up the ground-state spin-parity for a particular nuclide. | |
| static void | get_gs_spin_parity (int nuc_pdg, int &twoJ, marley::Parity &Pi) |
| Looks up the ground-state spin-parity for a particular nuclide. | |
Container for nuclear structure information organized by nuclide.
Currently, the StructureDatabase object can hold nuclear discrete level data (DecayScheme objects), optical models (OpticalModel objects), \(\gamma\)-ray strength function models (GammaStrengthFunctionModel objects), and level density models (LevelDensityModel objects)
Definition at line 40 of file StructureDatabase.hh.
| marley::StructureDatabase::StructureDatabase | ( | ) |
| void marley::StructureDatabase::add_decay_scheme | ( | int | pdg, |
| std::unique_ptr< marley::DecayScheme > & | ds ) |
Add a DecayScheme object to the database that contains discrete level data for a specific nuclide.
| pdg | PDG code for the desired nuclide |
| ds | A unique_ptr to DecayScheme object to move into the database. |
Definition at line 59 of file StructureDatabase.cc.
Referenced by get_decay_scheme().
| void marley::StructureDatabase::clear | ( | ) |
Removes all previously stored data from the database.
Definition at line 335 of file StructureDatabase.cc.
|
inline |
Retrieves a const reference to the table of DecayScheme objects.
Definition at line 135 of file StructureDatabase.hh.
| void marley::StructureDatabase::emplace_decay_scheme | ( | int | pdg, |
| const std::string & | filename, | ||
| DecayScheme::FileFormat | format = DecayScheme::FileFormat::talys ) |
Construct and add a DecayScheme object to the database that contains discrete level data for a specific nuclide.
| pdg | PDG code for the desired nuclide |
| filename | Name of the file that contains the discrete level data |
| format | DecayScheme::FileFormat specifier that indicates which nuclear data format is used in the file |
Definition at line 66 of file StructureDatabase.cc.
| std::set< int > marley::StructureDatabase::find_all_nuclides | ( | const std::string & | filename, |
| DecayScheme::FileFormat | format = DecayScheme::FileFormat::talys ) |
Create a set of Particle Data Group codes for every nuclide in a discrete level data file.
| filename | Name of the file that contains the discrete level data |
| format | DecayScheme::FileFormat specifier that indicates which nuclear data format is used in the file |
Definition at line 80 of file StructureDatabase.cc.
|
inlinestatic |
Retrieves a const reference to the table of Fragment objects.
Definition at line 141 of file StructureDatabase.hh.
Referenced by marley::MassTable::unbound_threshold().
| marley::DecayScheme * marley::StructureDatabase::get_decay_scheme | ( | const int | particle_id | ) |
Retrieves discrete level data from the database.
| particle_id | PDG code for the desired nuclide |
Definition at line 132 of file StructureDatabase.cc.
References add_decay_scheme(), get_decay_scheme(), and marley::FileManager::Instance().
Referenced by marley::CommandHandler::cmd_decay(), get_decay_scheme(), get_decay_scheme(), and marley::NucleusDecayer::process_event().
| marley::DecayScheme * marley::StructureDatabase::get_decay_scheme | ( | const int | Z, |
| const int | A ) |
Retrieves discrete level data from the database.
| Z | atomic number |
| A | mass number |
Definition at line 200 of file StructureDatabase.cc.
References get_decay_scheme().
|
static |
Retrieves nuclear fragment data from the database.
| fragment_pdg | PDG code for the desired fragment |
Definition at line 339 of file StructureDatabase.cc.
Referenced by get_fragment().
|
static |
Retrieves nuclear fragment data from the database.
Definition at line 350 of file StructureDatabase.cc.
References get_fragment().
|
inline |
Returns the maximum orbital angular momentum to consider when simulating fragment emission to the continuum.
Definition at line 161 of file StructureDatabase.hh.
|
inline |
Returns the maximum multipolarity to consider when simulating gamma-ray emission to the continuum.
Definition at line 165 of file StructureDatabase.hh.
| marley::GammaStrengthFunctionModel & marley::StructureDatabase::get_gamma_strength_function_model | ( | const int | nuc_pdg | ) |
Retrieves a gamma-ray strength function model object from the database, creating it if one did not already exist.
| nuc_pdg | PDG code for the nuclide of interest |
Definition at line 301 of file StructureDatabase.cc.
References get_gamma_strength_function_model().
| marley::GammaStrengthFunctionModel & marley::StructureDatabase::get_gamma_strength_function_model | ( | const int | Z, |
| const int | A ) |
Retrieves a gamma-ray strength function model object from the database, creating it if one did not already exist.
| Z | atomic number |
| A | mass number |
Definition at line 310 of file StructureDatabase.cc.
Referenced by get_gamma_strength_function_model().
|
static |
Looks up the ground-state spin-parity for a particular nuclide.
| [in] | Z | Proton number for the nuclide of interest |
| [in] | A | Mass number for the nuclide of interest |
| [out] | twoJ | Two times the ground-state nuclear spin |
| [out] | Pi | Ground-state nuclear parity |
Definition at line 357 of file StructureDatabase.cc.
References get_gs_spin_parity().
|
static |
Looks up the ground-state spin-parity for a particular nuclide.
| [in] | nuc_pdg | PDG code for the nuclide of interest |
| [out] | twoJ | Two times the ground-state nuclear spin |
| [out] | Pi | Ground-state nuclear parity |
Definition at line 364 of file StructureDatabase.cc.
Referenced by get_gs_spin_parity().
| marley::LevelDensityModel & marley::StructureDatabase::get_level_density_model | ( | const int | nucleus_pid | ) |
Retrieves a level density model object from the database, creating it if one did not already exist.
| nucleus_pid | PDG particle ID for the desired nucleus |
Definition at line 275 of file StructureDatabase.cc.
Referenced by get_level_density_model().
| marley::LevelDensityModel & marley::StructureDatabase::get_level_density_model | ( | const int | Z, |
| const int | A ) |
Retrieves a level density model object from the database, creating it if one did not already exist.
| Z | atomic number |
| A | mass number |
Definition at line 293 of file StructureDatabase.cc.
References get_level_density_model().
| marley::OpticalModel & marley::StructureDatabase::get_optical_model | ( | const int | Z, |
| const int | A ) |
Retrieves an optical model object from the database, creating it if one did not already exist.
| Z | atomic number |
| A | mass number |
Definition at line 242 of file StructureDatabase.cc.
References load_optical_model_params().
| marley::OpticalModel & marley::StructureDatabase::get_optical_model | ( | int | nucleus_pid | ) |
Retrieves an optical model object from the database, creating it if one did not already exist.
| particle_id | PDG particle ID for the desired nuclide |
Definition at line 207 of file StructureDatabase.cc.
References load_optical_model_params().
| void marley::StructureDatabase::load_optical_model_params | ( | const marley::JSON * | om_config = nullptr | ) |
Helper function that initializes the map of JSON settings for the optical model parameters.
Definition at line 469 of file StructureDatabase.cc.
References marley::FileManager::Instance().
Referenced by get_optical_model(), and get_optical_model().
| void marley::StructureDatabase::remove_decay_scheme | ( | int | pdg | ) |
Deletes the discrete level data in the database associated with a given nuclide.
If a decay scheme does not exist in the database for the requested nuclide, then this function will return without making any changes.
| pdg | PDG code for the nuclide to remove |
Definition at line 328 of file StructureDatabase.cc.
|
inline |
Sets the maximum orbital angular momentum to consider when simulating fragment emission to the continuum.
Definition at line 169 of file StructureDatabase.hh.
|
inline |
Sets the maximum multipolarity to consider when simulating gamma-ray emission to the continuum.
Definition at line 173 of file StructureDatabase.hh.