MARLEY (Model of Argon Reaction Low Energy Yields)  v1.2.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
Public Member Functions | List of all members
marley::HauserFeshbachDecay Class Reference

Monte Carlo implementation of the Hauser-Feshbach statistical model for decays of highly-excited nuclei. More...

#include <HauserFeshbachDecay.hh>

Public Member Functions

 HauserFeshbachDecay (const marley::Particle &compound_nucleus, double Exi, int twoJi, marley::Parity Pi, marley::StructureDatabase &sdb)
 
bool do_decay (double &Exf, int &twoJf, marley::Parity &Pf, marley::Particle &emitted_particle, marley::Particle &residual_nucleus, marley::Generator &gen)
 Simulates a decay of the compound nucleus. More...
 
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.
 

Detailed Description

Monte Carlo implementation of the Hauser-Feshbach statistical model for decays of highly-excited nuclei.

Constructor & Destructor Documentation

◆ HauserFeshbachDecay()

marley::HauserFeshbachDecay::HauserFeshbachDecay ( const marley::Particle compound_nucleus,
double  Exi,
int  twoJi,
marley::Parity  Pi,
marley::StructureDatabase sdb 
)
Parameters
compound_nucleusParticle object that represents the excited nucleus
ExiInitial excitation energy (MeV)
twoJiTwo times the initial nuclear spin
PiInitial nuclear parity
sdbReference to the StructureDatabase to use in calculations

Member Function Documentation

◆ do_decay()

bool marley::HauserFeshbachDecay::do_decay ( double &  Exf,
int &  twoJf,
marley::Parity Pf,
marley::Particle emitted_particle,
marley::Particle residual_nucleus,
marley::Generator gen 
)

Simulates a decay of the compound nucleus.

Parameters
[out]ExfFinal nuclear excitation energy (MeV)
[out]twoJfTwo times the final nuclear spin
[out]PfFinal nuclear parity
[out]emitted_particleParticle object representing the nuclear fragment or γ-ray emitted during the decay
[out]residual_nucleusParticle object representing the final-state nucleus param gen Generator to use for random sampling

The documentation for this class was generated from the following files: