CLASS  5.1
Fuel Cycle Simulator
EQM_PWR_FixedContent.hxx
Go to the documentation of this file.
1 #ifndef _EQM_PWR_FixedContent_HXX
2 #define _EQM_PWR_FixedContent_HXX
3 
4 #include "EquivalenceModel.hxx"
5 #include "TTree.h"
6 #include <map>
7 
8 using namespace std;
9 
11 #ifndef __CINT__
12 typedef void (EQM_PWR_FixedContent::*PWR_Fixed_DMthPtr)( const string & ) ;
13 #endif
14 
24 {
25  public :
26 
27  EQM_PWR_FixedContent(string TMVAWeightPath, int NumOfBatch, string InformationFile = "", double CriticalityThreshold=1.01);
28  EQM_PWR_FixedContent(CLASSLogger* log, string TMVAWeightPath, int NumOfBatch, string InformationFile = "", double CriticalityThreshold=1.01);
29 
30  virtual map <string , vector<double> > BuildFuel(double BurnUp, double HMMass, map < string , vector <IsotopicVector> > StreamArray);
31 
32  void SetSpecificPower(double SpecificPower) {fSpecificPower = SpecificPower;}
33  void SetBurnUpPrecision(double precision) {fBurnUpPrecision= precision;}
34  void SetPCMPrecision(double prop) {fPCMPrecision= prop;}
35 
36  map < string, double> GetFixedMassContent(){return fFixedMassContent;}
37  double GetBurnUpPrecision(){return fBurnUpPrecision;}
38  double GetPCMPrecision(){return fPCMPrecision/1e5;}
39 
40  TTree* CreateTMVAInputTree(IsotopicVector TheFuel, double ThisTime);
41  double ExecuteTMVA(TTree* theTree, string WeightPath);
42  double GetMaximumBurnUp(IsotopicVector TheFuel, double TargetBU);
43 
44  void GetModelInformation();
45  void LoadKeyword();
46  void ReadZAIName(const string &line);
47  void ReadMaxBurnUp(const string &line);
48  void ReadMaxFisContent(const string &line);
49  void ReadFixedMassContent(const string &line);
50  void ReadLine(string line);
51 
52  map < string , double> GetMolarFraction(map < string , IsotopicVector> IVStream, double BurnUp);
53 
54  double BurnupToSecond(double BurnUp){return BurnUp/fSpecificPower*(24*3.6e6);}
55  double SecondToBurnup(double Second){return Second*fSpecificPower/(24*3.6e6);}
56 
57  private :
58  vector <string> fTMVAWeightPath;
59 
60 #ifndef __CINT__
61  map<string, PWR_Fixed_DMthPtr> fDKeyword;
62 #endif
63 
64  int fNumberOfBatch ;
65  double fKThreshold ;
66  double fMaximalBU;
67  double fBurnUpPrecision;
68  double fPCMPrecision;
69  map < string, double> fFixedMassContent;
70 
71  map<ZAI,string> fMapOfTMVAVariableNames;
72 
73 };
74 
75 #endif
Determines how to build a fresh fuel.
Definition: EquivalenceModel.hxx:59
void SetPCMPrecision(double prop)
Definition: EQM_PWR_FixedContent.hxx:34
void SetBurnUpPrecision(double precision)
Definition: EQM_PWR_FixedContent.hxx:33
void SetSpecificPower(double SpecificPower)
Definition: EQM_PWR_FixedContent.hxx:32
Allows to store & operate on radioactive sample.
Definition: IsotopicVector.hxx:37
Definition: CLASSBackEndDict.cxx:37
Header file for EquivalenceModel class.
void(EQM_PWR_FixedContent::* PWR_Fixed_DMthPtr)(const string &)
Definition: EQM_PWR_FixedContent.hxx:12
double GetBurnUpPrecision()
Definition: EQM_PWR_FixedContent.hxx:37
double SecondToBurnup(double Second)
Definition: EQM_PWR_FixedContent.hxx:55
Object to handle output messages.
Definition: CLASSLogger.hxx:144
Definition: EQM_PWR_FixedContent.hxx:23
double GetPCMPrecision()
Definition: EQM_PWR_FixedContent.hxx:38
map< string, double > GetFixedMassContent()
Definition: EQM_PWR_FixedContent.hxx:36
double BurnupToSecond(double BurnUp)
Definition: EQM_PWR_FixedContent.hxx:54