Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
PoPI::NuclideGammaBranchStateInfo Class Reference

#include <PoPI.hpp>

Public Member Functions

 NuclideGammaBranchStateInfo (std::string const &a_state, int a_intid, std::string const &a_kind, double a_nuclearLevelEnergy)
std::string const & state () const
int intid () const
std::string const & kind () const
double nuclearLevelEnergy () const
double nuclearLevelEnergyWidth () const
void setNuclearLevelEnergyWidth (double a_nuclearLevelEnergyWidth)
bool derivedCalculated () const
double multiplicity () const
double averageGammaEnergy () const
std::vector< NuclideGammaBranchInfo > const & branches () const
void add (NuclideGammaBranchInfo const &a_nuclideGammaBranchInfo)
void calculateDerivedData (NuclideGammaBranchStateInfos &a_nuclideGammaBranchStateInfos)

Detailed Description

Definition at line 573 of file PoPI.hpp.

Constructor & Destructor Documentation

◆ NuclideGammaBranchStateInfo()

PoPI::NuclideGammaBranchStateInfo::NuclideGammaBranchStateInfo ( std::string const & a_state,
int a_intid,
std::string const & a_kind,
double a_nuclearLevelEnergy )

Definition at line 53 of file PoPI_nuclideGammaBranching.cc.

54 :
55 m_state( a_state ),
56 m_intid( a_intid ),
57 m_kind( a_kind ),
58 m_nuclearLevelEnergy( a_nuclearLevelEnergy ),
59 m_nuclearLevelEnergyWidth( 0.0 ),
60 m_derivedCalculated( false ),
61 m_multiplicity( 0.0 ),
62 m_averageGammaEnergy( 0.0 ) {
63
64}

Referenced by calculateDerivedData().

Member Function Documentation

◆ add()

void PoPI::NuclideGammaBranchStateInfo::add ( NuclideGammaBranchInfo const & a_nuclideGammaBranchInfo)

Definition at line 68 of file PoPI_nuclideGammaBranching.cc.

68 {
69
70 m_branches.push_back( a_nuclideGammaBranchInfo );
71}

Referenced by PoPI::DecayMode::calculateNuclideGammaBranchStateInfo(), and PoPI::GammaDecayData::calculateNuclideGammaBranchStateInfo().

◆ averageGammaEnergy()

double PoPI::NuclideGammaBranchStateInfo::averageGammaEnergy ( ) const
inline

Returns the value of the m_averageGammaEnergy member.

Definition at line 599 of file PoPI.hpp.

Referenced by calculateDerivedData().

◆ branches()

std::vector< NuclideGammaBranchInfo > const & PoPI::NuclideGammaBranchStateInfo::branches ( ) const
inline

Returns a reference to the m_branches member.

Definition at line 600 of file PoPI.hpp.

Referenced by PoPI::Nuclide::calculateNuclideGammaBranchStateInfos(), and MCGIDI::NuclideGammaBranchStateInfo::NuclideGammaBranchStateInfo().

◆ calculateDerivedData()

void PoPI::NuclideGammaBranchStateInfo::calculateDerivedData ( NuclideGammaBranchStateInfos & a_nuclideGammaBranchStateInfos)

Definition at line 75 of file PoPI_nuclideGammaBranching.cc.

75 {
76
77 if( m_derivedCalculated ) return;
78
79 for( std::size_t i1 = 0; i1 < m_branches.size( ); ++i1 ) {
80 NuclideGammaBranchInfo &nuclideGammaBranchInfo = m_branches[i1];
81
82 std::string const &residualState = nuclideGammaBranchInfo.residualState( );
83 NuclideGammaBranchStateInfo *nuclideGammaBranchStateInfo = a_nuclideGammaBranchStateInfos.find( residualState );
84
85 double chainedMultiplicity = 0.0;
86 double chainedAverageGammaEnergy = 0.0;
87 if( nuclideGammaBranchStateInfo != nullptr ) {
88 nuclideGammaBranchStateInfo->calculateDerivedData( a_nuclideGammaBranchStateInfos );
89 chainedMultiplicity = nuclideGammaBranchStateInfo->multiplicity( );
90 chainedAverageGammaEnergy = nuclideGammaBranchStateInfo->averageGammaEnergy( );
91 }
92
93 m_multiplicity += nuclideGammaBranchInfo.probability( ) * ( nuclideGammaBranchInfo.photonEmissionProbability( ) + chainedMultiplicity );
94 m_averageGammaEnergy += nuclideGammaBranchInfo.probability( ) *
95 ( nuclideGammaBranchInfo.photonEmissionProbability( ) * nuclideGammaBranchInfo.gammaEnergy( ) + chainedAverageGammaEnergy );
96 }
97
98 m_derivedCalculated = true;
99}
NuclideGammaBranchStateInfo(std::string const &a_state, int a_intid, std::string const &a_kind, double a_nuclearLevelEnergy)

Referenced by calculateDerivedData(), and PoPI::Database::calculateNuclideGammaBranchStateInfos().

◆ derivedCalculated()

bool PoPI::NuclideGammaBranchStateInfo::derivedCalculated ( ) const
inline

Returns the value of the m_derivedCalculated member.

Definition at line 597 of file PoPI.hpp.

◆ intid()

int PoPI::NuclideGammaBranchStateInfo::intid ( ) const
inline

Returns the value of the m_intid member.

Definition at line 590 of file PoPI.hpp.

◆ kind()

std::string const & PoPI::NuclideGammaBranchStateInfo::kind ( ) const
inline

Returns the value of the m_kind member.

Definition at line 591 of file PoPI.hpp.

◆ multiplicity()

double PoPI::NuclideGammaBranchStateInfo::multiplicity ( ) const
inline

Returns the value of the m_multiplicity member.

Definition at line 598 of file PoPI.hpp.

Referenced by GIDI::Functions::Branching1d::Branching1d(), and calculateDerivedData().

◆ nuclearLevelEnergy()

double PoPI::NuclideGammaBranchStateInfo::nuclearLevelEnergy ( ) const
inline

Returns the value of the m_nuclearLevelEnergy member.

Definition at line 592 of file PoPI.hpp.

◆ nuclearLevelEnergyWidth()

double PoPI::NuclideGammaBranchStateInfo::nuclearLevelEnergyWidth ( ) const
inline

Returns the value of the m_nuclearLevelEnergyWidth member.

Definition at line 593 of file PoPI.hpp.

◆ setNuclearLevelEnergyWidth()

void PoPI::NuclideGammaBranchStateInfo::setNuclearLevelEnergyWidth ( double a_nuclearLevelEnergyWidth)
inline

Set the value of the m_nuclearLevelEnergyWidth member to a_nuclearLevelEnergyWidth.

Definition at line 595 of file PoPI.hpp.

◆ state()


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