CLASS  5.1
Fuel Cycle Simulator
CLASSFacility.hxx
Go to the documentation of this file.
1 
2 #ifndef _CLASSFACILITY_
3 #define _CLASSFACILITY_
4 
5 #include <string>
6 #include <fstream>
7 
8 #include "CLASSObject.hxx"
9 #include "IsotopicVector.hxx"
10 
11 #include "TNamed.h"
12 
13 using namespace std;
14 
15 class Scenario;
16 //-----------------------------------------------------------------------------//
18 
25 //________________________________________________________________________
26 
27 
28 
29 
30 class CLASSFacility : public CLASSObject
31 {
32 public :
37 
38  //{
40 
48  CLASSFacility(int type = 0);
49  //}
50 
51  //{
53 
62  CLASSFacility(CLASSLogger* log, int type = 0);
63  //}
64 
65  //{
67 
77  CLASSFacility(CLASSLogger* log, cSecond cycletime, int type = 0);
78  //}
79 
80  //{
82 
93  CLASSFacility(CLASSLogger* log, cSecond creationtime, cSecond lifetime, int type = 0);
94  //}
95 
96  //{
98 
110  CLASSFacility(CLASSLogger* log, cSecond startingtime, cSecond lifetime, cSecond cycletime, int type = 0);
111  //}
112 
113  //********* Get Method *********//
118 
119  int GetId() const { return fId; }
120  IsotopicVector GetInsideIV() const { return fInsideIV; }
121 
122  int GetFacilityType() const { return fFacilityType; }
123 
124  cSecond GetInternalTime() const { return fInternalTime; }
125 
126  cSecond GetCycleTime() const { return fCycleTime; }
127  cSecond GetCreationTime() const { return fCreationTime; }
128  cSecond GetLifeTime() const { return fLifeTime; }
129 #ifndef __ROOTCLING__
130  Scenario* GetParc() { return fParc; }
131 #endif
132 
133  IsotopicVector GetCumulativeIVIn() { return fCumulativeIVIn;}
134  IsotopicVector GetCumulativeIVOut() { return fCumulativeIVOut;}
135 
136 
137  //********* Set Method *********//
142  void SetId(int id) { fId = id; }
143 #ifndef __ROOTCLING__
144  void SetParc(Scenario* parc) { fParc = parc; }
145 #endif
146  void SetFacilityType(int type) { fFacilityType = type; }
147  using CLASSObject::SetName;
152  using CLASSObject::GetName;
153 
154 
155  void SetInsideIV(IsotopicVector const& isotopicvector) { fInsideIV = isotopicvector; }
156 
157  void SetCreationTime(cSecond CTtime) { fCreationTime = CTtime;}
158  void SetLifeTime(cSecond Ltime) { fLifeTime = Ltime; }
159  void SetShutDownTime(cSecond SDTime) { fLifeTime = SDTime-fCreationTime; }
160 
161  void SetInCycleTime(cSecond ICtime) { fInCycleTime = ICtime; fIsStarted = true; }
162  void SetInternalTime(cSecond INtime) { fInternalTime = INtime; }
163  virtual void SetCycleTime(cSecond Ctime){ fCycleTime = Ctime; }
164 
166 
167 
172  virtual void ApplyZAIThreshold(int z = 90);
173  void AddCumulativeIVIn(IsotopicVector const& IV) { fCumulativeIVIn += IV;}
174  void AddCumulativeIVOut(IsotopicVector const& IV) { fCumulativeIVOut += IV;}
175  virtual void Evolution(cSecond t) = 0;
176  virtual void Dump() { }
177 
179 protected :
180  bool fIsStarted;
181  bool fIsShutDown;
183 
184 
188 
192 
193  //********* Internal Parameter *********//
194 private :
195  int fId;
196  int fFacilityType;
197 
201 #ifndef __ROOTCLING__
202  Scenario* fParc;
203 #endif
204  cSecond fCreationTime;
205  cSecond fLifeTime;
206 
207  ClassDef(CLASSFacility,1);
208 };
209 
210 #endif
211 
cSecond fInternalTime
Internal Clock [s].
Definition: CLASSFacility.hxx:185
void SetInCycleTime(cSecond ICtime)
Set the In cycle time.
Definition: CLASSFacility.hxx:161
cSecond GetLifeTime() const
Return the life time of the Facility.
Definition: CLASSFacility.hxx:128
cSecond fCycleTime
Cycle duration Time [s].
Definition: CLASSFacility.hxx:187
IsotopicVector fInsideIV
All IV in the Facility (fuel for reactor, total for all others...)
Definition: CLASSFacility.hxx:189
Allows to store & operate on radioactive sample.
Definition: IsotopicVector.hxx:37
cSecond GetCreationTime() const
Return the creation time of the Facility.
Definition: CLASSFacility.hxx:127
void SetLifeTime(cSecond Ltime)
Set the life time of the facility.
Definition: CLASSFacility.hxx:158
Definition: CLASSBackEndDict.cxx:37
void SetShutDownTime(cSecond SDTime)
Set the shutdown time of the facility.
Definition: CLASSFacility.hxx:159
IsotopicVector fCumulativeIVIn
All IV in the Facility (fuel for reactor, total for all others...)
Definition: CLASSFacility.hxx:190
cSecond GetCycleTime() const
Return the cycle time of the Facility.
Definition: CLASSFacility.hxx:126
void SetCreationTime(cSecond CTtime)
Set the creation Time.
Definition: CLASSFacility.hxx:157
Scenario * GetParc()
return the pointer to the Park
Definition: CLASSFacility.hxx:130
IsotopicVector GetCumulativeIVOut()
return the cumulative sum of all outcoming IV
Definition: CLASSFacility.hxx:134
cSecond GetInternalTime() const
Return Creation Time.
Definition: CLASSFacility.hxx:124
void SetInternalTime(cSecond INtime)
Set the Internal Time.
Definition: CLASSFacility.hxx:162
void AddCumulativeIVIn(IsotopicVector const &IV)
Add the Input IsotopicVector in the cumulative IV IN.
Definition: CLASSFacility.hxx:173
long long int cSecond
Definition: CLASSConstante.hxx:10
void AddCumulativeIVOut(IsotopicVector const &IV)
Add the Input IsotopicVector in the cumulative IV OUT.
Definition: CLASSFacility.hxx:174
Header file for IsotopicVector class.
void SetFacilityType(int type)
Definition: CLASSFacility.hxx:146
int GetId() const
Return the Facility Parc&#39;Is.
Definition: CLASSFacility.hxx:119
IsotopicVector GetInsideIV() const
Return the IV contained in the Facility.
Definition: CLASSFacility.hxx:120
bool fIsShutDown
True if the facility is stoped, False Otherwise.
Definition: CLASSFacility.hxx:181
Object to handle output messages.
Definition: CLASSLogger.hxx:144
virtual void SetCycleTime(cSecond Ctime)
Set the cycle time (Cycle of the loading Plan)
Definition: CLASSFacility.hxx:163
Defines the common properties of all facilities.
Definition: CLASSFacility.hxx:30
cSecond fInCycleTime
Time spent since the beginning of the last Cycle [s].
Definition: CLASSFacility.hxx:186
bool fIsStarted
True if Running, False Otherwise.
Definition: CLASSFacility.hxx:180
void SetInsideIV(IsotopicVector const &isotopicvector)
Set the IV inside the Facility.
Definition: CLASSFacility.hxx:155
int GetFacilityType() const
Return the Facility Type id.
Definition: CLASSFacility.hxx:122
virtual void Dump()
Write Modification (IV In/Out, filling the TF...)
Definition: CLASSFacility.hxx:176
IsotopicVector fCumulativeIVOut
All IV in the Facility (fuel for reactor, total for all others...)
Definition: CLASSFacility.hxx:191
Define common proporties of all objects.
Definition: CLASSObject.hxx:39
void SetId(int id)
Set The Facility Parc&#39;Id.
Definition: CLASSFacility.hxx:142
Header file for CLASSObject class.
IsotopicVector GetCumulativeIVIn()
return the cumulative sum of all incoming IV
Definition: CLASSFacility.hxx:133
Defines a Scenario (the whole electro-nuclear system)
Definition: Scenario.hxx:44
bool fIsAtEndOfCycle
True if Reaching the end of a Facility cycle.
Definition: CLASSFacility.hxx:182
void SetParc(Scenario *parc)
Set the Pointer to the Parc.
Definition: CLASSFacility.hxx:144