MURE
|
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 | |
ZAI * | fZAI |
the ZAI | |
map< int, bool > | fList |
allow/disable Reaction list. | |
double | fReactionThreshold |
Threshold for the ratio . | |
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) |
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).
ReactionList::ReactionList | ( | ZAI * | zai = nullptr | ) |
Normal Constructor.
zai | : the ZAI to which it refers ; if zai=0, only used to fill InitReactionArray (static attribute) |
ReactionList::ReactionList | ( | const ReactionList & | r | ) |
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.
|
inline |
< returns the number of reaction taken into account
|
inline |
< returns the ith value of fReactionArray
|
inline |
< returns the ith value of fReactionArray
void ReactionList::InitAll | ( | bool | state | ) |
Set all reactions to state.
void ReactionList::InitAuto | ( | ) |
Initialization of the reactions according to autodetection.
void ReactionList::InitFissionTest | ( | ) |
Simple Initialization of te reactions (debug only)
void ReactionList::InitReactionArray | ( | bool | extended = false | ) |
Init static arrays (fReactionArray & fReactionName)
void ReactionList::InitSimple | ( | ) |
Simple Initialization of te reactions (debug only)
void ReactionList::InitU5Only | ( | ) |
Only n, gamma on U5 (debug only)
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, ...)
reaction_code | : ENDF reaction code |
|
inline |
< Set the N_2alpha to state
|
inline |
< Set the N_2N to state
|
inline |
< Set the N_2N2alpha to state
|
inline |
< Set the N_2Nalpha to state
|
inline |
< Set the N_2Nd to state
|
inline |
< Set the N_2Np to state
|
inline |
< Set the N_2p to state
|
inline |
< Set the N_3alpha to state
|
inline |
< Set the N_3N to state
|
inline |
< Set the N_3Nalpha to state
|
inline |
< Set the N_3Np to state
|
inline |
< Set the N_4N to state
|
inline |
< Set the N_alpha to state
|
inline |
< Set the N_d to state
|
inline |
< Set the N_d2alpha to state
|
inline |
< Set the N_dalpha to state
|
inline |
< Set the N_fission to state
|
inline |
< Set the N_gamma to state
|
inline |
< Set the N_He3 to state
|
inline |
< Set the N_N2alpha to state
|
inline |
< Set the N_N2p to state
|
inline |
< Set the N_N3alpha to state
|
inline |
< Set the N_Nalpha to state
|
inline |
< Set the N_Nd to state
|
inline |
< Set the N_Nd2alpha to state
|
inline |
< Set the N_NHe3 to state
|
inline |
< Set the N_Np to state
|
inline |
< Set the N_Npalpha to state
|
inline |
< Set the N_Nt to state
|
inline |
< Set the N_Nt2alpha to state
|
inline |
< Set the N_p to state
|
inline |
< Set the N_palpha to state
|
inline |
< Set the N_pd to state
|
inline |
< Set the N_pt to state
|
inline |
< Set the N_t to state
|
inline |
< Set the N_t2alpha to state
string ReactionList::Print | ( | ) |
Print all allowed reactions.
string ReactionList::PrintReaction | ( | int | reaction_code | ) |
Print reaction name (from the reaction_code)
void ReactionList::ReactionAutoDetection | ( | ) |
Auto detection of reactions that will be used in evolution using ENDF file.
This is based on the ratio of , where and 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
int * ReactionList::Return_DaughterConstituents | ( | ZAI * | zai, |
int | MT | ||
) |
|
inline |
< Set the number of reaction to take into account, must be lower or equal to 37
void ReactionList::SetReactionListDir | ( | string | str = "ReactionList" | ) |
Set the directory where binary reaction list files are store.
|
inline |
< Set the reaction ratio threshold
void ReactionList::WriteReactionList | ( | int | other_isomer | ) |
write reaction list in binary to speed up detection
|
protected |
allow/disable Reaction list.
|
staticprotected |
size of fReactionArray &fReactionName
|
staticprotected |
ENDF code for reaction (used as index of fList)
|
protected |
binary ReactionList dir name
|
staticprotected |
Reaction Name (e.g., N_2N)
|
protected |
Threshold for the ratio .
|
staticprivate |