MURE
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
ReactionList.hxx
Go to the documentation of this file.
1 #ifndef _ReactionList_
2 #define _ReactionList_
3 
9 #include <math.h>
10 #include <map>
11 #include <string>
12 #include <fstream>
13 
14 #include "MureHeaders.hxx"
15 
16 using namespace std;
17 
18 
22 enum ReactionId {
23  kTotal=1,
24  kN_2Nd=11,
28  kN_Np=28,
30  kN_Nd=32,
32  kN_4N=37,
36  kN_gamma=102,
40  };
41 
47 
48 class ZAI;
49 
51 
64 {
65  public:
67 
70  ReactionList(ZAI *zai);
71  ~ReactionList();
72 
78 
83  void FindReactions();
84  void SetReactionListDir(string str="ReactionList");
85  void SetReactionThreshold(double sigma=1e-2){fReactionThreshold=sigma;}
86  void InitAll(bool state);
87  void InitJon();
88  void InitFissionTest();
89  void InitFrancoTest();
90  void InitU5Only();
91  void InitPTO();
92 
94 
99  void ReactionAutoDetection();
101 
106  void N_fission(bool state=true){fList[k_Fission]=state;}
107  void N_gamma(bool state=true){fList[kN_gamma]=state;}
108  void N_2N(bool state=true){fList[kN_2N]=state;}
109  void N_3N(bool state=true){fList[kN_3N]=state;}
110  void N_4N(bool state=true){fList[kN_4N]=state;}
111  void N_p(bool state=true){fList[kN_p]=state;}
112  void N_d(bool state=true){fList[kN_d]=state;}
113  void N_t(bool state=true){fList[kN_t]=state;}
114  void N_He3(bool state=true){fList[kN_He3]=state;}
115  void N_alpha(bool state=true){fList[kN_alpha]=state;}
116  void N_Np(bool state=true){fList[kN_Np]=state;}
117  void N_Nd(bool state=true){fList[kN_Nd]=state;}
118  void N_Nt(bool state=true){fList[kN_Nt]=state;}
119  void N_NHe3(bool state=true){fList[kN_NHe3]=state;}
120  void N_Nalpha(bool state=true){fList[kN_Nalpha]=state;}
121  void N_2Np(bool state=true){fList[kN_2Np]=state;}
122  void N_3Np(bool state=true){fList[kN_3Np]=state;}
123  void N_2Nd(bool state=true){fList[kN_2Nd]=state;}
124  void N_2Nalpha(bool state=true){fList[kN_2Nalpha]=state;}
125  void N_3Nalpha(bool state=true){fList[kN_3Nalpha]=state;}
126  void N_2p(bool state=true){fList[kN_2p]=state;}
127  void N_2alpha(bool state=true){fList[kN_2alpha]=state;}
128  void N_3alpha(bool state=true){fList[kN_3alpha]=state;}
129  void N_N2p(bool state=true){fList[kN_N2p]=state;}
130  void N_N2alpha(bool state=true){fList[kN_N2alpha]=state;}
131  void N_N3alpha(bool state=true){fList[kN_N3alpha]=state;}
132  void N_pd(bool state=true){fList[kN_pd]=state;}
133  void N_pt(bool state=true){fList[kN_pt]=state;}
134  void N_palpha(bool state=true){fList[kN_palpha]=state;}
135  void N_dalpha(bool state=true){fList[kN_dalpha]=state;}
136  void N_d2alpha(bool state=true){fList[kN_d2alpha]=state;}
137  void N_t2alpha(bool state=true){fList[kN_t2alpha]=state;}
138  void N_Npalpha(bool state=true){fList[kN_Npalpha]=state;}
139  void N_2N2alpha(bool state=true){fList[kN_2N2alpha]=state;}
140  void N_Nd2alpha(bool state=true){fList[kN_Nd2alpha]=state;}
141  void N_Nt2alpha(bool state=true){fList[kN_Nt2alpha]=state;}
142 
144 
148  bool IsReactionAllowed(int reaction_code);
149  int GetReactionArray(int i){return fReactionArray[i];}
150 
151 
156  void WriteReactionList(int other_isomer);
157  void InitReactionArray();
158  string Print();
159  string PrintReaction(int reaction_code);
160 
161 
162  protected:
163 
165  map<int ,bool> fList;
166  static int fN;
167  static int *fReactionArray;
168  static string *fReactionName;
170  ifstream fXsdir;
171  string fXsdirName;
173 };
174 #endif
void N_pd(bool state=true)
Set the N_pd to state.
Definition: ReactionList.hxx:132
static int fN
size of fReactionArray &amp; fReactionName
Definition: ReactionList.hxx:166
void N_3N(bool state=true)
Set the N_3N to state.
Definition: ReactionList.hxx:109
Definition: ReactionList.hxx:27
Definition: ReactionList.hxx:27
void SetReactionThreshold(double sigma=1e-2)
Set the reaction ratio threshold.
Definition: ReactionList.hxx:85
Definition: ReactionList.hxx:38
void N_p(bool state=true)
Set the N_p to state.
Definition: ReactionList.hxx:111
Definition: ReactionList.hxx:46
void N_t(bool state=true)
Set the N_t to state.
Definition: ReactionList.hxx:113
Definition: ReactionList.hxx:23
void N_t2alpha(bool state=true)
Set the N_t2alpha to state.
Definition: ReactionList.hxx:137
ReactionId
Definition: ReactionList.hxx:22
void N_2Np(bool state=true)
Set the N_2Np to state.
Definition: ReactionList.hxx:121
Definition: ReactionList.hxx:25
Definition: ReactionList.hxx:39
DecayId
Definition: ReactionList.hxx:45
map< int,bool > fList
allow/disable Reaction list.
Definition: ReactionList.hxx:165
Definition: ReactionList.hxx:46
static string * fReactionName
Reaction Name (e.g., N_2N)
Definition: ReactionList.hxx:168
Definition: ReactionList.hxx:27
Definition: ReactionList.hxx:39
ZAI * fZAI
the ZAI
Definition: ReactionList.hxx:164
void N_palpha(bool state=true)
Set the N_palpha to state.
Definition: ReactionList.hxx:134
string fXsdirName
XSDIR file name.
Definition: ReactionList.hxx:171
void N_N2p(bool state=true)
Set the N_N2p to state.
Definition: ReactionList.hxx:129
void N_dalpha(bool state=true)
Set the N_dalpha to state.
Definition: ReactionList.hxx:135
Definition: ReactionList.hxx:31
void N_N3alpha(bool state=true)
Set the N_N3alpha to state.
Definition: ReactionList.hxx:131
Definition: ReactionList.hxx:37
double fReactionThreshold
Threshold for the ratio .
Definition: ReactionList.hxx:169
Definition: ReactionList.hxx:26
Definition: ReactionList.hxx:35
void N_Np(bool state=true)
Set the N_Np to state.
Definition: ReactionList.hxx:116
void N_Npalpha(bool state=true)
Set the N_Npalpha to state.
Definition: ReactionList.hxx:138
void N_3alpha(bool state=true)
Set the N_3alpha to state.
Definition: ReactionList.hxx:128
Definition: ReactionList.hxx:37
Definition: ReactionList.hxx:31
Definition: ReactionList.hxx:45
void N_Nd(bool state=true)
Set the N_Nd to state.
Definition: ReactionList.hxx:117
void N_N2alpha(bool state=true)
Set the N_N2alpha to state.
Definition: ReactionList.hxx:130
Definition: ReactionList.hxx:34
void N_2alpha(bool state=true)
Set the N_2alpha to state.
Definition: ReactionList.hxx:127
void N_d(bool state=true)
Set the N_d to state.
Definition: ReactionList.hxx:112
Definition: ReactionList.hxx:31
void N_Nt2alpha(bool state=true)
Set the N_Nt2alpha to state.
Definition: ReactionList.hxx:141
void N_2N2alpha(bool state=true)
Set the N_2N2alpha to state.
Definition: ReactionList.hxx:139
void N_pt(bool state=true)
Set the N_pt to state.
Definition: ReactionList.hxx:133
void N_Nalpha(bool state=true)
Set the N_Nalpha to state.
Definition: ReactionList.hxx:120
Definition: ReactionList.hxx:26
void N_gamma(bool state=true)
Set the N_gamma to state.
Definition: ReactionList.hxx:107
Definition: ReactionList.hxx:28
void N_Nt(bool state=true)
Set the N_Nt to state.
Definition: ReactionList.hxx:118
Definition: ReactionList.hxx:32
File including all headers.
Definition: ReactionList.hxx:27
Reactions to take into account for evolution of a given nucleus.
Definition: ReactionList.hxx:63
Definition: ReactionList.hxx:37
void N_4N(bool state=true)
Set the N_4N to state.
Definition: ReactionList.hxx:110
void N_2p(bool state=true)
Set the N_2p to state.
Definition: ReactionList.hxx:126
Definition: ReactionList.hxx:45
void N_2Nd(bool state=true)
Set the N_2Nd to state.
Definition: ReactionList.hxx:123
Definition: ReactionList.hxx:29
void N_d2alpha(bool state=true)
Set the N_d2alpha to state.
Definition: ReactionList.hxx:136
Definition: ReactionList.hxx:29
Definition: ReactionList.hxx:39
static int * fReactionArray
ENDF code for reaction (used as index of fList)
Definition: ReactionList.hxx:167
void N_fission(bool state=true)
Set the N_fission to state.
Definition: ReactionList.hxx:106
string fReactionListDir
binary ReactionList dir name
Definition: ReactionList.hxx:172
Definition: ReactionList.hxx:46
void N_2Nalpha(bool state=true)
Set the N_2Nalpha to state.
Definition: ReactionList.hxx:124
A ZAI defined a (Z,A,Isomere) for a Nucleus.
Definition: ZAI.hxx:62
ifstream fXsdir
XSDIR file.
Definition: ReactionList.hxx:170
Definition: ReactionList.hxx:34
int GetReactionArray(int i)
returns the ith value of fReactionArray
Definition: ReactionList.hxx:149
void N_He3(bool state=true)
Set the N_He3 to state.
Definition: ReactionList.hxx:114
Definition: ReactionList.hxx:37
Definition: ReactionList.hxx:30
Definition: ReactionList.hxx:45
Definition: ReactionList.hxx:36
void N_3Nalpha(bool state=true)
Set the N_3Nalpha to state.
Definition: ReactionList.hxx:125
Definition: ReactionList.hxx:37
Definition: ReactionList.hxx:25
Definition: ReactionList.hxx:26
Definition: ReactionList.hxx:46
Definition: ReactionList.hxx:37
Definition: ReactionList.hxx:37
void N_alpha(bool state=true)
Set the N_alpha to state.
Definition: ReactionList.hxx:115
Definition: ReactionList.hxx:45
void N_Nd2alpha(bool state=true)
Set the N_Nd2alpha to state.
Definition: ReactionList.hxx:140
Definition: ReactionList.hxx:46
Definition: ReactionList.hxx:31
Definition: ReactionList.hxx:39
Definition: ReactionList.hxx:35
Definition: ReactionList.hxx:38
Definition: ReactionList.hxx:38
Definition: ReactionList.hxx:24
void N_2N(bool state=true)
Set the N_2N to state.
Definition: ReactionList.hxx:108
Definition: ReactionList.hxx:26
void N_3Np(bool state=true)
Set the N_3Np to state.
Definition: ReactionList.hxx:122
void N_NHe3(bool state=true)
Set the N_NHe3 to state.
Definition: ReactionList.hxx:119
Definition: ReactionList.hxx:33

MURE Project, documentation generated by Doxygen 1.8.5 - Mon Nov 17 2014