MURE
Loading...
Searching...
No Matches
Storage.hxx
Go to the documentation of this file.
1/*
2 This file is part of MURE,
3 Copyright (C) 2007-2021 MURE developers.
4
5 MURE is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 MURE is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with MURE. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef _STORAGE_HXX_
20#define _STORAGE_HXX_
21
27#include <fstream>
28#include <iostream>
29#include <sstream>
30#include <vector>
31#include <string>
32#include <algorithm>
33
34#include "Material.hxx"
35#include "Cell.hxx"
36
37class Cell;
38class Material;
39
40using namespace std;
42
52{
53 public:
55
69 Storage(Material *Fuel, string Name, double SpatialVarVal);
70
71 Storage(const Storage &m);
72
74 {
75 return fVirtualCell;
76 }
78 {
79 return fFuel;
80 }
81
82 string GetName()
83 {
84 return fName;
85 }
86
88
99 double GetMass(int Z, int A = 0);
101
107 double GetMass(vector < int > Zvect);
108
109
110 protected:
113 string fName;
114};
115
117
127{
128 public:
130
143 TemporalStorage(Material *Fuel, double WaitingTime, string Name, int Number = 0);
144
146
148 {
149 return fWaitingTime;
150 }
151 vector < double > &GetRetreatmentTime()
152 {
153 return fRetreatmentTime;
154 }
157
162 void SetRetreatmentTime(vector < double > T);
164 {
165 return fStorage[i];
166 }
167
169
180 void Build(int SN, vector < double > TimeVector);
181
182 Cell *GetCell(int i)
183 {
184 return fStorage[i] -> GetCell();
185 }
187 {
188 return min(fRetreatmentIndex, int(fRetreatmentTime.size() - 1));
189 }
191 {
192 fRetreatmentIndex = idx;
193 }
194
195 protected:
197 vector < double > fRetreatmentTime;
198 vector < Storage *> fStorage;
200};
201
202
203#endif
Header file for Cell class.
Header file for Material class.
A Cell is composed from a Shape and a Material.
Definition Cell.hxx:84
A Material constituing a Cell.
Definition Material.hxx:83
Storage are outcore containers.
Definition Storage.hxx:52
Material * fFuel
the storage Material
Definition Storage.hxx:112
Cell * fVirtualCell
the out-core cell
Definition Storage.hxx:111
double GetMass(int Z, int A=0)
return the storage masses.
Definition Storage.cxx:60
string fName
the storage Name
Definition Storage.hxx:113
Cell * GetCell()
Definition Storage.hxx:73
string GetName()
Definition Storage.hxx:82
Material * GetFuel()
Definition Storage.hxx:77
TemporalStorage are outcore containers function of a Retreatment time.
Definition Storage.hxx:127
Storage * GetStorage(int i)
Definition Storage.hxx:163
void SetRetreatmentTimeIndex(int idx)
Definition Storage.hxx:190
vector< double > & GetRetreatmentTime()
Definition Storage.hxx:151
void SetRetreatmentTime(vector< double > T)
Set the reprocessing time vector.
Definition Storage.cxx:138
void Build(int SN, vector< double > TimeVector)
Build Storage vectors.
Definition Storage.cxx:127
vector< Storage * > fStorage
Storage collection as a function of Reprocessing Time.
Definition Storage.hxx:198
double fWaitingTime
Period to wait before reprocessing a storage.
Definition Storage.hxx:196
int GetRetreatmentTimeIndex()
Definition Storage.hxx:186
double GetCurrentRetreatmentTime()
Definition Storage.cxx:147
double GetWaitingTime()
Definition Storage.hxx:147
int fRetreatmentIndex
The current Retreatment index in the fRetreatmenTime vector.
Definition Storage.hxx:199
vector< double > fRetreatmentTime
Time vector at which a storage is reprocessed.
Definition Storage.hxx:197
Cell * GetCell(int i)
Definition Storage.hxx:182
the namespace of the Standard C++

MURE Project, documentation generated by Doxygen 1.9.7 - Fri Jan 19 2024