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 | Protected Attributes | List of all members
marley::FragmentDiscreteExitChannel Class Reference

Fragment emission ExitChannel that leads to a discrete nuclear level in the final state More...

#include <ExitChannel.hh>

Inheritance diagram for marley::FragmentDiscreteExitChannel:
marley::DiscreteExitChannel marley::ExitChannel

Public Member Functions

 FragmentDiscreteExitChannel (double width, marley::Level &flev, marley::Particle residue, const marley::Fragment &frag)
 
virtual void do_decay (double &Ex, int &two_J, marley::Parity &Pi, marley::Particle &emitted_particle, marley::Particle &residual_nucleus, marley::Generator &) 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.
 
const marley::Fragmentget_fragment () const
 Get a reference to the emitted Fragment.
 
- Public Member Functions inherited from marley::DiscreteExitChannel
 DiscreteExitChannel (double width, marley::Level &flev, marley::Particle residue)
 
const marley::Levelget_final_level () const
 Get a const reference to the final-state nuclear level.
 
marley::Levelget_final_level ()
 Get a non-const reference to the final-state nuclear level.
 
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

const marley::Fragmentfragment_
 Fragment emitted by this exit channel.
 
- Protected Attributes inherited from marley::DiscreteExitChannel
marley::Levelfinal_level_
 Reference to the final-state nuclear level.
 
marley::Particle residue_
 Residual nucleus Particle object.
 
- 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

Fragment emission ExitChannel that leads to a discrete nuclear level in the final state

Constructor & Destructor Documentation

marley::FragmentDiscreteExitChannel::FragmentDiscreteExitChannel ( double  width,
marley::Level flev,
marley::Particle  residue,
const marley::Fragment frag 
)
inline
Parameters
widthPartial decay width (MeV)
[in]flevReference to the final-state nuclear level
residueParticle object to use as the final-state nucleus
fragReference to the emitted Fragment

Member Function Documentation

void marley::FragmentDiscreteExitChannel::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.


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