CLASS  5.1
Fuel Cycle Simulator
EquivalenceModel.hxx
Go to the documentation of this file.
1 #ifndef _FUELLOADINGMODEL_
2 #define _FUELLOADINGMODEL_
3 
4 
16 #include "IsotopicVector.hxx"
17 #include <math.h>
18 #include "TTree.h"
19 #include <map>
20 #include "CLASSObject.hxx"
21 
22 
23 using namespace std;
24 
25 class EquivalenceModel;
26 #ifndef __ROOTCLING__
27 typedef void (EquivalenceModel::*EQM_MthPtr)( const string & );
28 #endif
29 
30 //-----------------------------------------------------------------------------//
31 
33 
56 //________________________________________________________________________
57 
58 
60 {
61 public :
68 
69  virtual ~EquivalenceModel();
70 
71 
72  map < string, IsotopicVector> GetAllStreamList() {return fStreamList;} // return all the lists
73 
74  virtual map <string , vector<double> > BuildFuel(double BurnUp, double HMMass, map < string , vector <IsotopicVector> > StreamArray, map < string , double> StreamListMassFractionMin, map < string , double> StreamListMassFractionMax, map < int , string> StreamListPriority, map < string , bool> StreamListIsBuffer);
75 
76  double SecondToBurnup(double Second) {return Second * fSpecificPower / (24 * 3.6e6);}
77  double BurnupToSecond(double BurnUp) {return BurnUp / fSpecificPower * (24 * 3.6e6);}
78 
79  bool isIVInDomain(IsotopicVector IV);
80  void StocksTotalMassCalculation(map < string , vector <IsotopicVector> > const& Stocks);
81  void ConvertMassToLambdaVector(string MaterialDenomination, vector<double>& lambda, double MaterialMassNeeded, vector <IsotopicVector> Stocks);
82 
83 protected :
84 
85  map < string, IsotopicVector> fStreamList;
86  double fSpecificPower;
88  void SetLambdaToErrorCode(vector<double>& lambda);
89 
90 
91 #ifndef __ROOTCLING__
92  map<string, EQM_MthPtr> fKeyword;
93 #endif
94 
95  bool freaded;
96 
97  map< ZAI, pair<double, double> > fZAILimits;
98 
103  map <string , double > fTotalMassInStocks;
104  map <string , double > fLambdaMax;
105 
107 
108 private :
109 
110 };
111 
112 #endif
113 
114 
115 
116 
117 
118 
119 
120 
121 
Determines how to build a fresh fuel.
Definition: EquivalenceModel.hxx:59
map< string, double > fTotalMassInStocks
Total mass in each vector of stock.
Definition: EquivalenceModel.hxx:103
map< string, IsotopicVector > fStreamList
Definition: EquivalenceModel.hxx:85
map< string, double > fLambdaMax
Total lambda of available stocks.
Definition: EquivalenceModel.hxx:104
Allows to store & operate on radioactive sample.
Definition: IsotopicVector.hxx:37
map< ZAI, pair< double, double > > fZAILimits
Fresh fuel range : map<ZAI<min edge ,max edge >>
Definition: EquivalenceModel.hxx:97
double SecondToBurnup(double Second)
Definition: EquivalenceModel.hxx:76
Definition: CLASSBackEndDict.cxx:37
void(EquivalenceModel::* EQM_MthPtr)(const string &)
Definition: EquivalenceModel.hxx:27
double BurnupToSecond(double BurnUp)
Definition: EquivalenceModel.hxx:77
map< string, IsotopicVector > GetAllStreamList()
Definition: EquivalenceModel.hxx:72
map< string, EQM_MthPtr > fKeyword
Definition: EquivalenceModel.hxx:92
Header file for IsotopicVector class.
Object to handle output messages.
Definition: CLASSLogger.hxx:144
bool freaded
Definition: EquivalenceModel.hxx:95
Define common proporties of all objects.
Definition: CLASSObject.hxx:39
Header file for CLASSObject class.