MARLEY (Model of Argon Reaction Low Energy Yields) v2.0.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
Loading...
Searching...
No Matches
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.
 

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.

Definition at line 25 of file Gamma.hh.

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

Definition at line 19 of file Gamma.cc.

20 : energy_(energy),
21 relative_intensity_(rel_intensity), start_level_(start_lev),
22 end_level_(end_lev)
23{
24}
double energy_
Energy of the emitted gamma (MeV)
Definition Gamma.hh:65
marley::Level * start_level_
Pointer to the Level that emits this γ-ray.
Definition Gamma.hh:69
double relative_intensity_
Relative intensity of the transition.
Definition Gamma.hh:66
double energy() const
Get the energy of the emitted γ-ray (MeV)
Definition Gamma.hh:84
marley::Level * end_level_
Pointer to the Level that absorbs this γ-ray.
Definition Gamma.hh:72

References end_level_, energy(), energy_, relative_intensity_, and start_level_.

Member Function Documentation

◆ end_level()

marley::Level * marley::Gamma::end_level ( ) const
inline

Get a pointer to the Level that absorbs this γ-ray.

Definition at line 80 of file Gamma.hh.

80{ return end_level_; }

References end_level_.

Referenced by marley::DecayScheme::do_cascade().

◆ energy()

double marley::Gamma::energy ( ) const
inline

Get the energy of the emitted γ-ray (MeV)

Definition at line 84 of file Gamma.hh.

84{ return energy_; }

References energy_.

Referenced by Gamma(), and marley::DecayScheme::do_cascade().

◆ 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.

Definition at line 89 of file Gamma.hh.

90 {
91 return marley::IteratorToMember<It, double>(it,
93 }

References relative_intensity_.

◆ relative_intensity()

double marley::Gamma::relative_intensity ( ) const
inline

Get the relative intensity for this transition.

Definition at line 85 of file Gamma.hh.

86 { return relative_intensity_; }

References relative_intensity_.

◆ set_end_level()

void marley::Gamma::set_end_level ( marley::Level * end_lev)
inline

Set the Level that abosrbs this γ-ray.

Definition at line 81 of file Gamma.hh.

82 { end_level_ = end_lev; }

References end_level_.

◆ set_start_level()

void marley::Gamma::set_start_level ( marley::Level * start_lev)
inline

Set the Level that emits this γ-ray.

Definition at line 77 of file Gamma.hh.

78 { start_level_ = start_lev; }

References start_level_.

◆ start_level()

marley::Level * marley::Gamma::start_level ( ) const
inline

Get a pointer to the Level that emits this γ-ray.

Definition at line 76 of file Gamma.hh.

76{ return start_level_; }

References start_level_.

Member Data Documentation

◆ end_level_

marley::Level* marley::Gamma::end_level_
protected

Pointer to the Level that absorbs this γ-ray.

Definition at line 72 of file Gamma.hh.

Referenced by Gamma(), end_level(), and set_end_level().

◆ energy_

double marley::Gamma::energy_
protected

Energy of the emitted gamma (MeV)

Definition at line 65 of file Gamma.hh.

Referenced by Gamma(), and energy().

◆ relative_intensity_

double marley::Gamma::relative_intensity_
protected

Relative intensity of the transition.

Definition at line 66 of file Gamma.hh.

Referenced by Gamma(), make_intensity_iterator(), and relative_intensity().

◆ start_level_

marley::Level* marley::Gamma::start_level_
protected

Pointer to the Level that emits this γ-ray.

Definition at line 69 of file Gamma.hh.

Referenced by Gamma(), set_start_level(), and start_level().


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