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 | Static Public Member Functions | Protected Attributes | List of all members
marley::Gamma Class Reference

A gamma-ray transition between two nuclear levels. More...

#include <Gamma.hh>

Public Member Functions

 Gamma (double energy=0., double rel_intensity=0., marley::Level *start_lev=nullptr, marley::Level *end_lev=nullptr)
 
marley::Levelend_level () const
 Get a pointer to the Level that absorbs this γ-ray.
 
double energy () const
 Get the energy of the emitted γ-ray (MeV)
 
double relative_intensity () const
 Get the relative intensity for this transition.
 
void set_end_level (marley::Level *end_lev)
 Set the Level that abosrbs this γ-ray.
 
void set_start_level (marley::Level *start_lev)
 Set the Level that emits this γ-ray.
 
marley::Levelstart_level () const
 Get a pointer to the Level that emits this γ-ray.
 

Static Public Member Functions

template<typename It >
static marley::IteratorToMember< It, double > make_intensity_iterator (It it)
 Convert an iterator that points to a Gamma object into an iterator that points to the Gamma's relative_intensity_ member variable. More...
 

Protected Attributes

marley::Levelend_level_
 Pointer to the Level that absorbs this γ-ray.
 
double energy_
 Energy of the emitted gamma (MeV)
 
double relative_intensity_
 Relative intensity of the transition.
 
marley::Levelstart_level_
 Pointer to the Level that emits this γ-ray.
 

Detailed Description

A gamma-ray transition between two nuclear levels.

Constructor & Destructor Documentation

◆ Gamma()

marley::Gamma::Gamma ( double  energy = 0.,
double  rel_intensity = 0.,
marley::Level start_lev = nullptr,
marley::Level end_lev = nullptr 
)
Parameters
energyEnergy of the emitted γ-ray (MeV)
rel_intensityRelative intensity of this transition
start_levPointer to the Level that de-excites by emitting this γ-ray

Member Function Documentation

◆ make_intensity_iterator()

template<typename It >
marley::IteratorToMember< It, double > marley::Gamma::make_intensity_iterator ( It  it)
inlinestatic

Convert an iterator that points to a Gamma object into an iterator that points to the Gamma's relative_intensity_ member variable.

This function is used to load the std::discrete_distribution in the starting Level object with the intensities of the gammas that it owns without redundant storage.


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