CLASS  5.1
Fuel Cycle Simulator
Pool.hxx
Go to the documentation of this file.
1 #ifndef _Pool_
2 #define _Pool_
3 
8 #include <string>
9 #include <map>
10 
11 #include "CLASSConstante.hxx"
12 #include "CLASSBackEnd.hxx"
13 #include "IsotopicVector.hxx"
14 
15 using namespace std;
16 typedef long long int cSecond;
17 
18 class CLASSBackEnd;
19 class CLASSLogger;
20 class DecayDataBank;
21 
22 //-----------------------------------------------------------------------------//
24 
32 //________________________________________________________________________
33 
34 
35 
36 class Pool : public CLASSBackEnd
37 {
38 public :
39 
40 
41 //********* Constructor/Destructor Method *********//
42 
47 
48  Pool();
49 #ifndef __ROOTCLING__
50  //{
52 
57  Pool(CLASSLogger* Log, cSecond coolingtime = 5*cYear);
58  //}
59 
60 
61  //{
63 
69  Pool(CLASSLogger* log, CLASSBackEnd* backend,
70  cSecond coolingtime = 5*cYear);
71  //}
72 #endif
73 
74  ~Pool();
75 
76 
77 
78 
79 
80 //********* Set Method *********//
81 
86 #ifndef __ROOTCLING__
88  { fOutBackEndFacility = befacility;
89  SetIsStorageType(false);
90  fPutToWaste = false; }
91 #endif
92  void SetPutToWaste(bool val) { fPutToWaste = val; }
93 
94  void SetIVArray(vector<IsotopicVector> ivarray);
95  void SetIVArray(vector<IsotopicVector> ivarray, vector<cSecond> timearray);
96 
97 
98  using CLASSBackEnd::SetName;
99 
101 
102 
103 
104 
105 //********* Get Method *********//
106 
111 
112  bool GetPutToWaste() const { return fPutToWaste; }
113 
115 
116 
117 
118 
119 //********* IsotopicVector Managment Method *********//
120 
125 
126  vector<cSecond> GetCoolingStartingTime() const
127  { return GetIVArrayArrivalTime(); }
128  void RemoveIVCooling(int i);
129 
130  void AddIV(IsotopicVector isotopicvector);
131 
132 
133 
134 
135 
136 //********* Other Method *********//
137 
139 
143 
144  void Evolution(cSecond t);
145  void Dump();
146 
148 
149 protected :
150 
151 
152 
153 //********* Internal Parameter *********//
154  bool fPutToWaste;
155 
156 
157 //********* Isotopic Quantity *********//
158 //--------- Cooling ---------//
159  vector<int> fCoolingIndex;
161  vector<int> fCoolingEndOfCycle;
162 
163 
164 //********* Private Method *********//
165  void CoolingEvolution(cSecond t);
166 
167 
168 
169 
170  ClassDef(Pool,3);
171 };
172 
173 #endif
Defines the spent fuel pool.
Definition: Pool.hxx:36
void SetOutBackEndFacility(CLASSBackEnd *befacility)
Set the pointer to facility at the back end of the pool.
Definition: Pool.hxx:87
Allows to store & operate on radioactive sample.
Definition: IsotopicVector.hxx:37
Definition: CLASSBackEndDict.cxx:37
bool GetPutToWaste() const
Return true if IV goes to waste after cooling, false instead.
Definition: Pool.hxx:112
vector< int > fCoolingEndOfCycle
Index of the cooling IV reaching the end of a cooling cycle.
Definition: Pool.hxx:161
long long int cSecond
Definition: Pool.hxx:16
void SetPutToWaste(bool val)
Set true if IV goes to waste after cooling false instead.
Definition: Pool.hxx:92
vector< int > fCoolingIndex
Vector of the cooling index.
Definition: Pool.hxx:159
long long int cSecond
Definition: CLASSConstante.hxx:10
Header file for IsotopicVector class.
vector< cSecond > GetCoolingStartingTime() const
Return vector of the arrival time of each IV in the Pool.
Definition: Pool.hxx:126
Describes outcore radioactive decays.
Definition: DecayDataBank.hxx:45
Object to handle output messages.
Definition: CLASSLogger.hxx:144
bool fPutToWaste
True if IV goes to waste after cooling false instead.
Definition: Pool.hxx:154
Class defining the common properties of all back end fuel cycle facilities.
Definition: CLASSBackEnd.hxx:26
int fCoolingLastIndex
Number of cooling IV handle.
Definition: Pool.hxx:160