CLASS  5.1
Fuel Cycle Simulator
EQM_MLP_Kinf.hxx
Go to the documentation of this file.
1 #ifndef _EQM_MLP_Kinf_HXX
2 #define _EQM_MLP_Kinf_HXX
3 
4 #include "EquivalenceModel.hxx"
5 #include "TTree.h"
6 #include <map>
7 
8 using namespace std;
9 
10 class EQM_MLP_Kinf;
11 #ifndef __CINT__
12 typedef void (EQM_MLP_Kinf::*PWR_MLP_KINF_DMthPtr)( const string & ) ;
13 #endif
14 
15 //-----------------------------------------------------------------------------//
17 
35 //________________________________________________________________________
36 
37 
39 {
40  public :
45 
46  //{
48 
55  EQM_MLP_Kinf(string TMVAWeightPath,int NumOfBatch, string InformationFile = "", double CriticalityThreshold = 1.01);
56  //}
57 
58  //{
60 
68  EQM_MLP_Kinf(CLASSLogger* log, string TMVAWeightPath, int NumOfBatch, string InformationFile = "", double CriticalityThreshold = 1.01);
69  //}
71 
76 
77  void SetPCMPrecision(double pcm){fPCMprecision = pcm;}
78  double GetPCMPrecision(){return fPCMprecision/1e5;}
79  double GetEqMHigherLimitOnBU(){return fMaximalBU;}
80 
81  double CalculateTargetParameter(IsotopicVector FuelToTest);
82  void GetModelInformation();
83 
85 
90 
91  double SecondToBurnup(double Second){return Second*fSpecificPower/(24*3.6e6);}
92  double BurnupToSecond(double BurnUp){return BurnUp/fSpecificPower*(24*3.6e6);}
93 
95 
100 
101  TTree* CreateTMVAInputTree(IsotopicVector FreshFuel, double ThisTime);
102  double ExecuteTMVA(TTree* theTree, string WeightPath, bool IsTimeDependant);
103 
105 
110 
111  //{
113  void LoadKeyword();
114  //}
115 
116  //{
118 
121  void ReadZAIName(const string &line);
122  //}
123 
124  //{
126 
129  void ReadMaxBurnUp(const string &line);
130  //}
131 
132  //{
134 
137  void ReadLine(string line);
138  //}
139 
141 
142  private :
143  vector <string> fTMVAWeightPath;
144 
145 #ifndef __CINT__
146  map<string, PWR_MLP_KINF_DMthPtr> fDKeyword;
147 #endif
148 
149  map<ZAI,string> fMapOfTMVAVariableNames;
150 
155 
156 
158 
159  int fNumberOfBatch;
160  double fKThreshold;
161  double fBurnUpPrecision;
162  double fPCMprecision;
163 
164 
165 };
166 
167 #endif
168 
Determines how to build a fresh fuel.
Definition: EquivalenceModel.hxx:59
Allows to store & operate on radioactive sample.
Definition: IsotopicVector.hxx:37
double GetEqMHigherLimitOnBU()
Get EqM higher limit on burn-up.
Definition: EQM_MLP_Kinf.hxx:79
Definition: CLASSBackEndDict.cxx:37
double SecondToBurnup(double Second)
Definition: EQM_MLP_Kinf.hxx:91
double GetPCMPrecision()
Get the precision on prediction []. Neural network predictor constructors.
Definition: EQM_MLP_Kinf.hxx:78
Header file for EquivalenceModel class.
Object to handle output messages.
Definition: CLASSLogger.hxx:144
Defines an EquivalenceModel based on neural network to predict .
Definition: EQM_MLP_Kinf.hxx:38
double BurnupToSecond(double BurnUp)
Definition: EQM_MLP_Kinf.hxx:92
void(EQM_MLP_Kinf::* PWR_MLP_KINF_DMthPtr)(const string &)
Definition: EQM_MLP_Kinf.hxx:12
void SetPCMPrecision(double pcm)
Set the precision on prediction [pcm]. Neural network predictor constructors.
Definition: EQM_MLP_Kinf.hxx:77