MARLEY (Model of Argon Reaction Low Energy Yields)  v1.1.0
A Monte Carlo event generator for tens-of-MeV neutrino-nucleus interactions in liquid argon
 All Classes Functions Variables Enumerations Pages
Public Member Functions | Static Public Member Functions | Static Public Attributes | 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::Generator &gen)
 
bool do_decay (double &Exf, int &twoJf, marley::Parity &Pf, marley::Particle &emitted_particle, marley::Particle &residual_nucleus)
 Simulates a decay of the compound nucleus. More...
 
const std::vector
< std::unique_ptr
< marley::ExitChannel > > & 
exit_channels () const
 
void print (std::ostream &out) const
 Print information about the possible decay channels to a std::ostream.
 

Static Public Member Functions

static double get_fragment_emission_threshold (const int Zi, const int Ai, const marley::Fragment &f)
 Get the approximate threshold for emission of a nuclear fragment. More...
 
static const std::vector
< marley::Fragment > & 
get_fragments ()
 Get a const reference to the table of Fragment objects that will be considered when simulating compound nucleus decays.
 

Static Public Attributes

static constexpr int l_max_ = 5
 Maximum value of the orbital angular momentum to use when considering compound nucleus decays to the continuum of nuclear levels. More...
 

Detailed Description

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

Constructor & Destructor Documentation

marley::HauserFeshbachDecay::HauserFeshbachDecay ( const marley::Particle compound_nucleus,
double  Exi,
int  twoJi,
marley::Parity  Pi,
marley::Generator gen 
)
Parameters
compound_nucleusParticle object that represents the excited nucleus
ExiInitial excitation energy (MeV)
twoJiTwo times the initial nuclear spin
PiInitial nuclear parity
genReference to the Generator to use for random sampling

Member Function Documentation

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

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
double marley::HauserFeshbachDecay::get_fragment_emission_threshold ( const int  Zi,
const int  Ai,
const marley::Fragment f 
)
static

Get the approximate threshold for emission of a nuclear fragment.

Parameters
ZiAtomic number of the initial nucleus
AiMass number of the initial nucleus
fFragment to be emitted

Member Data Documentation

constexpr int marley::HauserFeshbachDecay::l_max_ = 5
static

Maximum value of the orbital angular momentum to use when considering compound nucleus decays to the continuum of nuclear levels.

Todo:
Make this a user-controlled value specified in the configuration file

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