GamR  0.0.0
GammaROOT
Loading...
Searching...
No Matches
GamR::Coulex::LevelScheme Class Reference

#include <CoulexCalculation.hh>

+ Collaboration diagram for GamR::Coulex::LevelScheme:

Public Member Functions

void AddLevel (std::string name, float energy, float spin, bool parity)
 
void AddLevel (float energy, float spin, bool parity)
 
void AddTransition (std::string initial, std::string final, float mat_el, float multipolarity)
 
void SetIndices ()
 
void PrintLevels (int loi=-1)
 
void PrintTransitions (int toi=-1)
 
void Print (int loi=-1, int toi=-1)
 
LevelGetLevelByIndex (int i)
 
int GetNLevels ()
 
int GetNTransitions ()
 
std::vector< WDB_nuclvlGetLevels ()
 
std::vector< WDB_nuctransGetETransitions ()
 
std::vector< WDB_nuctransGetMTransitions ()
 

Public Attributes

std::map< std::string, Level * > fLevels
 
std::vector< Transition * > fTransitions
 

Detailed Description

LevelScheme class to contain the (previously known) level scheme

Definition at line 120 of file CoulexCalculation.hh.

Member Function Documentation

◆ AddLevel() [1/2]

void GamR::Coulex::LevelScheme::AddLevel ( float energy,
float spin,
bool parity )

Adds a level with name "l"+index

Parameters
energyEnergy of level in MeV
spinSpin of energy. Make sure only integers or half integers are input, there's no check
paritytrue = positive, false = negative

Definition at line 139 of file CoulexCalculation.cc.

References AddLevel(), and fLevels.

+ Here is the call graph for this function:

◆ AddLevel() [2/2]

void GamR::Coulex::LevelScheme::AddLevel ( std::string name,
float energy,
float spin,
bool parity )

Adds a level with specified name

Parameters
nameName of level
energyEnergy of level in MeV
spinSpin of energy. Make sure only integers or half integers are input, there's no check
paritytrue = positive, false = negative

Definition at line 127 of file CoulexCalculation.cc.

References fLevels.

Referenced by AddLevel().

+ Here is the caller graph for this function:

◆ AddTransition()

void GamR::Coulex::LevelScheme::AddTransition ( std::string initial,
std::string final,
float mat_el,
float multipolarity )

Adds a transition

Parameters
initialstring corresponding to name of initial (higher) state
finalstring corresponding to name of final (lower) state
mat_elmatrix element in eb^(lambda - 1) for electric, not sure about magnetic
multipolaritymultipolarity of transition

Definition at line 152 of file CoulexCalculation.cc.

References fLevels, and fTransitions.

◆ GetETransitions()

std::vector< WDB_nuctrans > GamR::Coulex::LevelScheme::GetETransitions ( )

Gets a vector of electric transitions for the WDB codes

Returns
vector of WDB_nuctrans structs containing electric transitions only

Definition at line 270 of file CoulexCalculation.cc.

References GamR::Coulex::WDB_nuctrans::B, fTransitions, GamR::Coulex::WDB_nuctrans::lvl1, GamR::Coulex::WDB_nuctrans::lvl2, and GamR::Coulex::WDB_nuctrans::M.

◆ GetLevelByIndex()

Level * GamR::Coulex::LevelScheme::GetLevelByIndex ( int i)

Definition at line 110 of file CoulexCalculation.cc.

References fLevels.

Referenced by PrintLevels().

+ Here is the caller graph for this function:

◆ GetLevels()

std::vector< WDB_nuclvl > GamR::Coulex::LevelScheme::GetLevels ( )

Gets a vector of levels in the format required by the WDB codes

Returns
vector of WDB_nuclvl structs

Definition at line 242 of file CoulexCalculation.cc.

References GamR::Coulex::WDB_nuclvl::E, fLevels, GamR::Coulex::WDB_nuclvl::K_Band, GamR::Coulex::WDB_nuclvl::par, and GamR::Coulex::WDB_nuclvl::spin.

◆ GetMTransitions()

std::vector< WDB_nuctrans > GamR::Coulex::LevelScheme::GetMTransitions ( )

Gets a vector of magnetic transitions for the WDB codes

Returns
vector of WDB_nuctrans structs containing magnetic transitions only

Definition at line 290 of file CoulexCalculation.cc.

References GamR::Coulex::WDB_nuctrans::B, fTransitions, GamR::Coulex::WDB_nuctrans::lvl1, GamR::Coulex::WDB_nuctrans::lvl2, and GamR::Coulex::WDB_nuctrans::M.

◆ GetNLevels()

int GamR::Coulex::LevelScheme::GetNLevels ( )
inline

Definition at line 133 of file CoulexCalculation.hh.

References fLevels.

◆ GetNTransitions()

int GamR::Coulex::LevelScheme::GetNTransitions ( )
inline

Definition at line 134 of file CoulexCalculation.hh.

References fTransitions.

◆ Print()

void GamR::Coulex::LevelScheme::Print ( int loi = -1,
int toi = -1 )

Prints the states and transitions in the level scheme

Parameters
loiState index to highlight
toiTransition index to highlight

Definition at line 230 of file CoulexCalculation.cc.

References PrintLevels(), and PrintTransitions().

+ Here is the call graph for this function:

◆ PrintLevels()

void GamR::Coulex::LevelScheme::PrintLevels ( int loi = -1)

Prints the states in the level scheme

Parameters
loiState index to highlight

Definition at line 193 of file CoulexCalculation.cc.

References ANSI_COLOR_GREEN, ANSI_COLOR_RESET, GamR::Coulex::Level::fEnergy, GamR::Coulex::Level::fIndex, fLevels, GetLevelByIndex(), GamR::Coulex::Level::PrintSP(), and SetIndices().

Referenced by Print().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PrintTransitions()

void GamR::Coulex::LevelScheme::PrintTransitions ( int toi = -1)

Prints the transitions in the level scheme

Parameters
toiTransition index to highlight

Definition at line 209 of file CoulexCalculation.cc.

References ANSI_COLOR_GREEN, ANSI_COLOR_RESET, GamR::Coulex::Transition::Energy(), GamR::Coulex::Transition::fFinal, GamR::Coulex::Level::fIndex, GamR::Coulex::Transition::fInitial, GamR::Coulex::Transition::fMatEl, fTransitions, SetIndices(), and GamR::Coulex::Transition::Type().

Referenced by Print().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetIndices()

void GamR::Coulex::LevelScheme::SetIndices ( )

Sets indices of every level in the scheme, ascending in energy order, starting from 0

Definition at line 171 of file CoulexCalculation.cc.

References fLevels.

Referenced by PrintLevels(), and PrintTransitions().

+ Here is the caller graph for this function:

Member Data Documentation

◆ fLevels

std::map<std::string, Level*> GamR::Coulex::LevelScheme::fLevels

◆ fTransitions

std::vector<Transition*> GamR::Coulex::LevelScheme::fTransitions

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