MURE
Loading...
Searching...
No Matches
Public Member Functions | List of all members
ReactionList Class Reference

Reactions to take into account for evolution of a given nucleus. More...

#include <ReactionList.hxx>

Public Member Functions

 ReactionList (ZAI *zai=nullptr)
 Normal Constructor.
 
 ReactionList (const ReactionList &r)
 
Reaction list methods

They are used to choose which reactions are allowed

void FindReactions ()
 Find the reaction list.
 
void SetReactionListDir (string str="ReactionList")
 Set the directory where binary reaction list files are store.
 
void SetReactionThreshold (double sigma=1e-2)
 
void InitAll (bool state)
 Set all reactions to state.
 
void InitSimple ()
 Simple Initialization of te reactions (debug only)
 
void InitFissionTest ()
 Simple Initialization of te reactions (debug only)
 
void InitU5Only ()
 Only n, gamma on U5 (debug only)
 
void InitAuto ()
 Initialization of the reactions according to autodetection.
 
void ReactionAutoDetection ()
 Auto detection of reactions that will be used in evolution using ENDF file.
 
Set/Get individual reaction allowed
void N_fission (bool state=true)
 
void N_gamma (bool state=true)
 
void N_2N (bool state=true)
 
void N_3N (bool state=true)
 
void N_4N (bool state=true)
 
void N_p (bool state=true)
 
void N_d (bool state=true)
 
void N_t (bool state=true)
 
void N_He3 (bool state=true)
 
void N_alpha (bool state=true)
 
void N_Np (bool state=true)
 
void N_Nd (bool state=true)
 
void N_Nt (bool state=true)
 
void N_NHe3 (bool state=true)
 
void N_Nalpha (bool state=true)
 
void N_2Np (bool state=true)
 
void N_3Np (bool state=true)
 
void N_2Nd (bool state=true)
 
void N_2Nalpha (bool state=true)
 
void N_3Nalpha (bool state=true)
 
void N_2p (bool state=true)
 
void N_2alpha (bool state=true)
 
void N_3alpha (bool state=true)
 
void N_N2p (bool state=true)
 
void N_N2alpha (bool state=true)
 
void N_N3alpha (bool state=true)
 
void N_pd (bool state=true)
 
void N_pt (bool state=true)
 
void N_palpha (bool state=true)
 
void N_dalpha (bool state=true)
 
void N_d2alpha (bool state=true)
 
void N_t2alpha (bool state=true)
 
void N_Npalpha (bool state=true)
 
void N_2N2alpha (bool state=true)
 
void N_Nd2alpha (bool state=true)
 
void N_Nt2alpha (bool state=true)
 
void SetNumberOfReactions (int reaction_number)
 
int GetNumberOfReactions ()
 
bool IsReactionAllowed (int reaction_code)
 Returns true if a reaction is used.
 
int GetReactionArray (int i)
 
int GetReactionArraySize ()
 

Miscellaneous methods

ZAIfZAI
 the ZAI
 
map< int, bool > fList
 allow/disable Reaction list.
 
double fReactionThreshold
 Threshold for the ratio $\sigma_i/\sigma_{tot}$.
 
string fReactionListDir
 binary ReactionList dir name
 
static vector< int > fReactionArray
 ENDF code for reaction (used as index of fList)
 
static vector< string > fReactionName
 Reaction Name (e.g., N_2N)
 
static int fN = 0
 size of fReactionArray &fReactionName
 
static int iElasticPosition = 0
 
void WriteReactionList (int other_isomer)
 write reaction list in binary to speed up detection
 
void InitReactionArray (bool extended=false)
 Init static arrays (fReactionArray & fReactionName)
 
string Print ()
 Print all allowed reactions.
 
string PrintReaction (int reaction_code)
 Print reaction name (from the reaction_code)
 
int * Return_DaughterConstituents (ZAI *, int)
 

Detailed Description

Reactions to take into account for evolution of a given nucleus.

First, try to find, in a binary file, if the reaction list for a ZAI has already been detected ; the file is stored locally in a directory name ReactionList and its name is Z.bin where Z is the atomic number of the ZAI. If it is not the case, using XSDIR file and the associated cross-section (in binary only) calculates the integral I over energy of cross-section for reaction i. If the I>fReactionThreshold then the reaction i will be taken into account in a future evolution (i.e., automatic tallies storing these cross-section reactions will be insert in MCNP input file).

Author
PTO
Version
0.1

Constructor & Destructor Documentation

◆ ReactionList() [1/2]

ReactionList::ReactionList ( ZAI zai = nullptr)

Normal Constructor.

Parameters
zai: the ZAI to which it refers ; if zai=0, only used to fill InitReactionArray (static attribute)

◆ ReactionList() [2/2]

ReactionList::ReactionList ( const ReactionList r)

Member Function Documentation

◆ FindReactions()

void ReactionList::FindReactions ( )

Find the reaction list.

The function to call when using automatic=false in the constructor, else the constructor calls that function with default paths for Xsdir and binary rection list files.

◆ GetNumberOfReactions()

int ReactionList::GetNumberOfReactions ( )
inline

< returns the number of reaction taken into account

◆ GetReactionArray()

int ReactionList::GetReactionArray ( int  i)
inline

< returns the ith value of fReactionArray

◆ GetReactionArraySize()

int ReactionList::GetReactionArraySize ( )
inline

< returns the ith value of fReactionArray

◆ InitAll()

void ReactionList::InitAll ( bool  state)

Set all reactions to state.

◆ InitAuto()

void ReactionList::InitAuto ( )

Initialization of the reactions according to autodetection.

◆ InitFissionTest()

void ReactionList::InitFissionTest ( )

Simple Initialization of te reactions (debug only)

◆ InitReactionArray()

void ReactionList::InitReactionArray ( bool  extended = false)

Init static arrays (fReactionArray & fReactionName)

◆ InitSimple()

void ReactionList::InitSimple ( )

Simple Initialization of te reactions (debug only)

◆ InitU5Only()

void ReactionList::InitU5Only ( )

Only n, gamma on U5 (debug only)

◆ IsReactionAllowed()

bool ReactionList::IsReactionAllowed ( int  reaction_code)

Returns true if a reaction is used.

ReactionId can be used for reaction code (kTotal=1, k_Fission=18, ...)

Parameters
reaction_code: ENDF reaction code

◆ N_2alpha()

void ReactionList::N_2alpha ( bool  state = true)
inline

< Set the N_2alpha to state

◆ N_2N()

void ReactionList::N_2N ( bool  state = true)
inline

< Set the N_2N to state

◆ N_2N2alpha()

void ReactionList::N_2N2alpha ( bool  state = true)
inline

< Set the N_2N2alpha to state

◆ N_2Nalpha()

void ReactionList::N_2Nalpha ( bool  state = true)
inline

< Set the N_2Nalpha to state

◆ N_2Nd()

void ReactionList::N_2Nd ( bool  state = true)
inline

< Set the N_2Nd to state

◆ N_2Np()

void ReactionList::N_2Np ( bool  state = true)
inline

< Set the N_2Np to state

◆ N_2p()

void ReactionList::N_2p ( bool  state = true)
inline

< Set the N_2p to state

◆ N_3alpha()

void ReactionList::N_3alpha ( bool  state = true)
inline

< Set the N_3alpha to state

◆ N_3N()

void ReactionList::N_3N ( bool  state = true)
inline

< Set the N_3N to state

◆ N_3Nalpha()

void ReactionList::N_3Nalpha ( bool  state = true)
inline

< Set the N_3Nalpha to state

◆ N_3Np()

void ReactionList::N_3Np ( bool  state = true)
inline

< Set the N_3Np to state

◆ N_4N()

void ReactionList::N_4N ( bool  state = true)
inline

< Set the N_4N to state

◆ N_alpha()

void ReactionList::N_alpha ( bool  state = true)
inline

< Set the N_alpha to state

◆ N_d()

void ReactionList::N_d ( bool  state = true)
inline

< Set the N_d to state

◆ N_d2alpha()

void ReactionList::N_d2alpha ( bool  state = true)
inline

< Set the N_d2alpha to state

◆ N_dalpha()

void ReactionList::N_dalpha ( bool  state = true)
inline

< Set the N_dalpha to state

◆ N_fission()

void ReactionList::N_fission ( bool  state = true)
inline

< Set the N_fission to state

◆ N_gamma()

void ReactionList::N_gamma ( bool  state = true)
inline

< Set the N_gamma to state

◆ N_He3()

void ReactionList::N_He3 ( bool  state = true)
inline

< Set the N_He3 to state

◆ N_N2alpha()

void ReactionList::N_N2alpha ( bool  state = true)
inline

< Set the N_N2alpha to state

◆ N_N2p()

void ReactionList::N_N2p ( bool  state = true)
inline

< Set the N_N2p to state

◆ N_N3alpha()

void ReactionList::N_N3alpha ( bool  state = true)
inline

< Set the N_N3alpha to state

◆ N_Nalpha()

void ReactionList::N_Nalpha ( bool  state = true)
inline

< Set the N_Nalpha to state

◆ N_Nd()

void ReactionList::N_Nd ( bool  state = true)
inline

< Set the N_Nd to state

◆ N_Nd2alpha()

void ReactionList::N_Nd2alpha ( bool  state = true)
inline

< Set the N_Nd2alpha to state

◆ N_NHe3()

void ReactionList::N_NHe3 ( bool  state = true)
inline

< Set the N_NHe3 to state

◆ N_Np()

void ReactionList::N_Np ( bool  state = true)
inline

< Set the N_Np to state

◆ N_Npalpha()

void ReactionList::N_Npalpha ( bool  state = true)
inline

< Set the N_Npalpha to state

◆ N_Nt()

void ReactionList::N_Nt ( bool  state = true)
inline

< Set the N_Nt to state

◆ N_Nt2alpha()

void ReactionList::N_Nt2alpha ( bool  state = true)
inline

< Set the N_Nt2alpha to state

◆ N_p()

void ReactionList::N_p ( bool  state = true)
inline

< Set the N_p to state

◆ N_palpha()

void ReactionList::N_palpha ( bool  state = true)
inline

< Set the N_palpha to state

◆ N_pd()

void ReactionList::N_pd ( bool  state = true)
inline

< Set the N_pd to state

◆ N_pt()

void ReactionList::N_pt ( bool  state = true)
inline

< Set the N_pt to state

◆ N_t()

void ReactionList::N_t ( bool  state = true)
inline

< Set the N_t to state

◆ N_t2alpha()

void ReactionList::N_t2alpha ( bool  state = true)
inline

< Set the N_t2alpha to state

◆ Print()

string ReactionList::Print ( )

Print all allowed reactions.

◆ PrintReaction()

string ReactionList::PrintReaction ( int  reaction_code)

Print reaction name (from the reaction_code)

◆ ReactionAutoDetection()

void ReactionList::ReactionAutoDetection ( )

Auto detection of reactions that will be used in evolution using ENDF file.

This is based on the ratio of $\sigma_i/\sigma_{tot}$ , where $\sigma_i$ and $\sigma_{tot}$ are integral over energy of cross-section for reaction i and total cross-section respectively. If the r>fReactionThreshold then the reaction i will be taken into account

◆ Return_DaughterConstituents()

int * ReactionList::Return_DaughterConstituents ( ZAI zai,
int  MT 
)

◆ SetNumberOfReactions()

void ReactionList::SetNumberOfReactions ( int  reaction_number)
inline

< Set the number of reaction to take into account, must be lower or equal to 37

◆ SetReactionListDir()

void ReactionList::SetReactionListDir ( string  str = "ReactionList")

Set the directory where binary reaction list files are store.

◆ SetReactionThreshold()

void ReactionList::SetReactionThreshold ( double  sigma = 1e-2)
inline

< Set the reaction ratio threshold

◆ WriteReactionList()

void ReactionList::WriteReactionList ( int  other_isomer)

write reaction list in binary to speed up detection

Member Data Documentation

◆ fList

map< int, bool > ReactionList::fList
protected

allow/disable Reaction list.

◆ fN

int ReactionList::fN = 0
staticprotected

size of fReactionArray &fReactionName

◆ fReactionArray

vector< int > ReactionList::fReactionArray
staticprotected

ENDF code for reaction (used as index of fList)

◆ fReactionListDir

string ReactionList::fReactionListDir
protected

binary ReactionList dir name

◆ fReactionName

vector< string > ReactionList::fReactionName
staticprotected

Reaction Name (e.g., N_2N)

◆ fReactionThreshold

double ReactionList::fReactionThreshold
protected

Threshold for the ratio $\sigma_i/\sigma_{tot}$.

◆ fZAI

ZAI* ReactionList::fZAI
protected

the ZAI

◆ iElasticPosition

int ReactionList::iElasticPosition = 0
staticprivate

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

MURE Project, documentation generated by Doxygen 1.9.7 - Fri Jan 19 2024