|
MARLEY (Model of Argon Reaction Low Energy Yields)
v1.2.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
|
Discrete level and γ-ray data for a specific nuclide. More...
#include <DecayScheme.hh>
Public Types | |
| enum class | FileFormat { native , talys } |
| The FileFormat type is used to tell the DecayScheme class which format to assume when parsing a discrete level data file. More... | |
Public Member Functions | |
| DecayScheme (int Z, int A) | |
| Create a DecayScheme without any levels. More... | |
| DecayScheme (int Z, int A, const std::string &filename, FileFormat format=FileFormat::talys) | |
| Create a DecayScheme using discrete level data from a file. More... | |
| int | A () const |
| Get the mass number. | |
| marley::Level & | add_level (const marley::Level &level) |
| Add a level to the DecayScheme. More... | |
| void | do_cascade (marley::Level &initial_level, marley::Event &event, marley::Generator &gen, int qIon) |
| Simulates nuclear de-excitation via γ-ray emission(s) More... | |
| const std::vector< std::unique_ptr< marley::Level > > & | get_levels () const |
| Get a const reference to the vector that holds the Level objects. | |
| marley::Level * | get_pointer_to_closest_level (double E_level) |
| Gets a pointer to the Level in the DecayScheme whose excitation energy is closest to E_level. More... | |
| int | pdg () const |
| Returns the nuclear PDG code corresponding to Z and A. | |
| void | print (std::ostream &out=std::cout) const |
| Print this DecayScheme object to a std::ostream. | |
| void | print_latex_table (std::ostream &ostr=std::cout) |
| Print LaTeX source code that gives a tabular representation of the DecayScheme object. | |
| void | print_report (std::ostream &ostr=std::cout) const |
| Print a human-readable text representation of the DecayScheme object. | |
| void | read_from_stream (std::istream &in) |
| Use a std::istream to initialize this DecayScheme object, replacing any previous data. More... | |
| int | Z () const |
| Get the atomic number. | |
Protected Member Functions | |
| size_t | level_lower_bound_index (double Ex) |
| Get the index of the first level whose energy is not less than Ex. More... | |
Protected Attributes | |
| int | A_ |
| Mass number. | |
| std::vector< std::unique_ptr< marley::Level > > | levels_ |
| Level objects owned by this DecayScheme. | |
| int | Z_ |
| Atomic number. | |
Discrete level and γ-ray data for a specific nuclide.
|
strong |
The FileFormat type is used to tell the DecayScheme class which format to assume when parsing a discrete level data file.
Currently, only discrete level data in MARLEY's native format (which may be read from a std::istream to initialize a marley::DecayScheme object via the >> operator) or in the format used by the TALYS nuclear code are allowed.
| marley::DecayScheme::DecayScheme | ( | int | Z, |
| int | A | ||
| ) |
Create a DecayScheme without any levels.
| Z | Atomic number of the desired nuclide |
| A | Mass number of the desired nuclide |
| marley::DecayScheme::DecayScheme | ( | int | Z, |
| int | A, | ||
| const std::string & | filename, | ||
| FileFormat | format = FileFormat::talys |
||
| ) |
Create a DecayScheme using discrete level data from a file.
| Z | Atomic number of the desired nuclide |
| A | Mass number of the desired nuclide |
| filename | Name of the file containing the discrete level data |
| format | FileFormat specifier that indicates which nuclear data format is used in the file |
| marley::Level & marley::DecayScheme::add_level | ( | const marley::Level & | level | ) |
Add a level to the DecayScheme.
| void marley::DecayScheme::do_cascade | ( | marley::Level & | initial_level, |
| marley::Event & | event, | ||
| marley::Generator & | gen, | ||
| int | qIon | ||
| ) |
Simulates nuclear de-excitation via γ-ray emission(s)
Gamma-rays will be randomly emitted until the nucleus reaches its ground state.
| marley::Level * marley::DecayScheme::get_pointer_to_closest_level | ( | double | E_level | ) |
Gets a pointer to the Level in the DecayScheme whose excitation energy is closest to E_level.
| E_level | excitation energy (MeV) |
|
protected |
Get the index of the first level whose energy is not less than Ex.
| Ex | Excitation energy (MeV) |
| void marley::DecayScheme::read_from_stream | ( | std::istream & | in | ) |
Use a std::istream to initialize this DecayScheme object, replacing any previous data.
The expected format for data in the std::istream is the same as the output format in DecayScheme::print()