|
MARLEY (Model of Argon Reaction Low Energy Yields) v2.0.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
|
Monte Carlo implementation of the Hauser-Feshbach statistical model for decays of highly-excited nuclei. More...
#include <HauserFeshbachDecay.hh>
Public Member Functions | |
| HauserFeshbachDecay (const std::shared_ptr< HepMC3::GenParticle > &compound_nucleus, double Exi, int twoJi, marley::Parity Pi, marley::StructureDatabase &sdb) | |
| const marley::ExitChannel & | do_decay (double &Exf, int &twoJf, marley::Parity &Pf, std::shared_ptr< HepMC3::GenParticle > &emitted_particle, std::shared_ptr< HepMC3::GenParticle > &residual_nucleus, int &qIon, marley::Generator &gen) |
| Simulates a decay of the compound nucleus. | |
| std::vector< std::unique_ptr< marley::ExitChannel > > & | exit_channels () |
| Get a non-const reference to the owned vector of ExitChannel pointers. | |
| const std::vector< std::unique_ptr< marley::ExitChannel > > & | exit_channels () const |
| Get a const reference to the owned vector of ExitChannel pointers. | |
| void | print (std::ostream &out) const |
| Print information about the possible decay channels to a std::ostream. | |
| const std::unique_ptr< marley::ExitChannel > & | sample_exit_channel (marley::Generator &gen) const |
| Helper function for do_decay(). Samples an ExitChannel using the partial decay widths as weights. | |
| double | total_width () const |
Monte Carlo implementation of the Hauser-Feshbach statistical model for decays of highly-excited nuclei.
Definition at line 34 of file HauserFeshbachDecay.hh.
| marley::HauserFeshbachDecay::HauserFeshbachDecay | ( | const std::shared_ptr< HepMC3::GenParticle > & | compound_nucleus, |
| double | Exi, | ||
| int | twoJi, | ||
| marley::Parity | Pi, | ||
| marley::StructureDatabase & | sdb ) |
| compound_nucleus | GenParticle object that represents the excited nucleus |
| Exi | Initial excitation energy (MeV) |
| twoJi | Two times the initial nuclear spin |
| Pi | Initial nuclear parity |
| sdb | Reference to the StructureDatabase to use in calculations |
Definition at line 28 of file HauserFeshbachDecay.cc.
| const marley::ExitChannel & marley::HauserFeshbachDecay::do_decay | ( | double & | Exf, |
| int & | twoJf, | ||
| marley::Parity & | Pf, | ||
| std::shared_ptr< HepMC3::GenParticle > & | emitted_particle, | ||
| std::shared_ptr< HepMC3::GenParticle > & | residual_nucleus, | ||
| int & | qIon, | ||
| marley::Generator & | gen ) |
Simulates a decay of the compound nucleus.
| [out] | Exf | Final nuclear excitation energy (MeV) |
| [out] | twoJf | Two times the final nuclear spin |
| [out] | Pf | Final nuclear parity |
| [out] | emitted_particle | GenParticle object representing the nuclear fragment or γ-ray emitted during the decay |
| [out] | residual_nucleus | GenParticle object representing the final-state nucleus (ion) |
| [out] | qIon | Charge (in units of the elementary charge) of the residual nucleus (ion) |
| gen | Generator to use for random sampling |
Definition at line 229 of file HauserFeshbachDecay.cc.
References sample_exit_channel().
Referenced by marley::NucleusDecayer::process_event().
|
inline |
Get a non-const reference to the owned vector of ExitChannel pointers.
Definition at line 110 of file HauserFeshbachDecay.hh.
Referenced by marley::OMPWeightCalculator::weight().
|
inline |
Get a const reference to the owned vector of ExitChannel pointers.
Definition at line 113 of file HauserFeshbachDecay.hh.
| void marley::HauserFeshbachDecay::print | ( | std::ostream & | out | ) | const |
Print information about the possible decay channels to a std::ostream.
Definition at line 243 of file HauserFeshbachDecay.cc.
| const std::unique_ptr< marley::ExitChannel > & marley::HauserFeshbachDecay::sample_exit_channel | ( | marley::Generator & | gen | ) | const |
Helper function for do_decay(). Samples an ExitChannel using the partial decay widths as weights.
Definition at line 273 of file HauserFeshbachDecay.cc.
References marley::ExitChannel::make_width_iterator(), and marley::Generator::sample_from_distribution().
Referenced by do_decay().
|
inline |
Definition at line 115 of file HauserFeshbachDecay.hh.