|
MARLEY (Model of Argon Reaction Low Energy Yields)
v1.2.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. More... | |
| 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. More... | |
| 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. More... | |
| marley::DecayScheme * | get_decay_scheme (const int particle_id) |
| Retrieves discrete level data from the database. More... | |
| marley::DecayScheme * | get_decay_scheme (const int Z, const int A) |
| Retrieves discrete level data from the database. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| marley::OpticalModel & | get_optical_model (int nucleus_pid) |
| Retrieves an optical model object from the database, creating it if one did not already exist. More... | |
| void | remove_decay_scheme (int pdg) |
| Deletes the discrete level data in the database associated with a given nuclide. More... | |
| 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. More... | |
| static const marley::Fragment * | get_fragment (const int Z, const int A) |
| Retrieves nuclear fragment data from the database. More... | |
| 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. More... | |
| 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. More... | |
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)
| 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. |
| 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 |
| 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 |
| 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 |
| 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 |
|
static |
Retrieves nuclear fragment data from the database.
| fragment_pdg | PDG code for the desired fragment |
|
static |
| 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 |
| 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 |
|
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 |
|
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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |