MARLEY (Model of Argon Reaction Low Energy Yields)  v1.0.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 | Protected Attributes | List of all members
marley::GammaContinuumExitChannel Class Reference

Gamma emission exit channel that leads to the unbound continuum in the final state More...

#include <ExitChannel.hh>

Inheritance diagram for marley::GammaContinuumExitChannel:
marley::ContinuumExitChannel marley::ExitChannel

Public Member Functions

 GammaContinuumExitChannel (double width, double Emin, double Emax, std::function< double(double)> Epdf, marley::Particle gs_residue)
 
virtual void do_decay (double &Ex, int &two_J, marley::Parity &Pi, marley::Particle &emitted_particle, marley::Particle &residual_nucleus, marley::Generator &gen) override
 Simulates a nuclear decay into this channel. More...
 
virtual bool emits_fragment () const finaloverride
 Returns true if this decay channel involves fragment emission or false if it involves gamma-ray emission.
 
void sample_spin_parity (int Z, int A, int &twoJ, marley::Parity &Pi, double Exi, double Exf, marley::Generator &gen)
 Sample a final-state spin and parity for the residual nucleus. More...
 
- Public Member Functions inherited from marley::ContinuumExitChannel
 ContinuumExitChannel (double width, double Emin, double Emax, marley::Particle gs_residue)
 
virtual bool is_continuum () const finaloverride
 Returns true if this channel accesses the particle-unbound continuum of nuclear levels or false otherwise.
 
- Public Member Functions inherited from marley::ExitChannel
 ExitChannel (double width)
 
double width () const
 Get the partial decay width to this channel.
 

Protected Attributes

std::function< double(double)> Epdf_
 Probability density function describing the distribution of final-state nuclear excitation energies within the continuum. More...
 
- Protected Attributes inherited from marley::ContinuumExitChannel
double Emax_
 Maximum accessible nuclear excitation energy (MeV)
 
double Emin_
 Minimum accessible nuclear excitation energy (MeV)
 
marley::Particle gs_residue_
 Ground-state residual nucleus.
 
std::vector< SpinParityWidthjpi_widths_table_
 Table of possible final-state spin-parities together with their partial decay widths.
 
- Protected Attributes inherited from marley::ExitChannel
double width_
 Partial decay width (MeV)
 

Additional Inherited Members

- Static Public Member Functions inherited from marley::ExitChannel
template<typename It >
static
marley::IteratorToPointerMember
< It, marley::ExitChannel,
double > 
make_width_iterator (It it)
 Convert an iterator that points to an ExitChannel object into an iterator to the ExitChannel's width_ member variable. More...
 

Detailed Description

Gamma emission exit channel that leads to the unbound continuum in the final state

Constructor & Destructor Documentation

marley::GammaContinuumExitChannel::GammaContinuumExitChannel ( double  width,
double  Emin,
double  Emax,
std::function< double(double)>  Epdf,
marley::Particle  gs_residue 
)
inline
Parameters
widthPartial decay width (MeV)
EminMinimum accessible nuclear excitation energy (MeV)
EmaxMinimum accessible nuclear excitation energy (MeV)
Epdfstd::function describing the final-state nuclear excitation energy distribution
gs_residueResidual nucleus Particle object whose mass corresponds to the ground state
Note
Calls to do_decay() for this channel will use the mass of the gs_residue Particle and the sampled excitation energy to determine the mass of the final-state nucleus

Member Function Documentation

void marley::GammaContinuumExitChannel::do_decay ( double &  Ex,
int &  two_J,
marley::Parity Pi,
marley::Particle emitted_particle,
marley::Particle residual_nucleus,
marley::Generator gen 
)
overridevirtual

Simulates a nuclear decay into this channel.

The excitation energy, spin, and parity values are loaded with their final values as this function returns.

Parameters
[in,out]ExThe nuclear excitation energy
[in,out]two_JTwo times the nuclear spin
[in,out]PiThe nuclear parity
[out]emitted_particleParticle emitted in the de-excitation
[out]residual_nucleusFinal-state nucleus after particle emission
genGenerator to use for random sampling

Implements marley::ExitChannel.

void marley::GammaContinuumExitChannel::sample_spin_parity ( int  Z,
int  A,
int &  twoJ,
marley::Parity Pi,
double  Exi,
double  Exf,
marley::Generator gen 
)

Sample a final-state spin and parity for the residual nucleus.

Parameters
ZAtomic number
AMass number
[out]twoJTwo times the final-state nuclear spin
[out]PiThe final-state nuclear parity
ExiThe initial nuclear excitation energy
ExfThe final nuclear excitation energy
genReference to the Generator object to use for random sampling

Member Data Documentation

std::function<double(double)> marley::GammaContinuumExitChannel::Epdf_
protected

Probability density function describing the distribution of final-state nuclear excitation energies within the continuum.

The argument is the final-state nuclear excitation energy (MeV). The return value is a probability density (MeV -1) for sampling the final-state nuclear excitation energy.


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