MURE
|
Define Lattice Cell type bin. More...
#include <MureLatticeBin.hxx>
Public Member Functions | |
MureLatticeBin (const MureLatticeBin &b) | |
Copy constructor. | |
MureLatticeBin (Cell *C, string pos="") | |
Build a Lattice Bin and add C in the level 0. | |
MureLatticeBin (PinCell *C, int layeridx, string pos="") | |
Build a Lattice Bin and add the layer idx of PinCell C in the level 0. | |
MureLatticeBin (MureTallyBin *theTallyBin) | |
Build a Lattice Bin and add the contents of theTallyBin in the level 0. | |
MureLatticeBin (int universe) | |
Build a Lattice Bin based on the universe shorthand and add it to level 0. | |
~MureLatticeBin () override | |
Destructor. | |
MureTallyBin * | Clone () override |
The "Virtual Copy Constructor". | |
bool | IsLatticeBin () override |
void | Add (Cell *C, int InclusionLevel=0, string pos="") |
void | Add (PinCell *C, int layeridx, int InclusionLevel, string pos="") |
void | Add (MureTallyBin *theTallyBin, int InclusionLevel=0) |
void | Add (int universe, int InclusionLevel=0) |
Add a universe shortcut as bin to a MureLatticeBin. | |
void | AddContainer (Cell *C, string pos="") |
Add a Cell in a new outer level. | |
void | AddContainer (MureTallyBin *theTallyBin) |
Add a TallyBinin a new outer level. | |
void | AddContainer (int universe) |
Add a universe shortcut in a new outer level. | |
string | Print (int BeforeRparenthesis=0) override |
Print the MureLatticeBin in MCNP. | |
string | PrintVolume () override |
Print the MureLatticeBin list of volume in MCNP. | |
bool | IsInBin (int num) override |
whether or not the universe "num" is in the bin | |
bool | IsInBin (Cell *C) override |
whether or not the cell C is in the bin | |
vector< vector< MureTallyBin * > > | GetLevelVector () |
void | UpdateTallyBinVolume () override |
Reread all bins and assign necessary volume. | |
Public Member Functions inherited from MureTallyBin | |
MureTallyBin (const MureTallyBin &b) | |
Copy constructor. | |
MureTallyBin () | |
Normal Construcator. | |
virtual | ~MureTallyBin ()=default |
Destructor. | |
virtual MureTallyBin * | Clone ()=0 |
The "Virtual Copy Constructor". | |
virtual bool | IsSimpleBin () |
virtual bool | IsGroupBin () |
virtual bool | IsLatticeBin () |
int | GetType () |
returns -1, 0, 1 or 2 in function of the bin type. | |
void | SetType (int type) |
bool | IsSurfaceBin () |
bool | IsCellBin () |
bool | IsUniverseBin () |
virtual string | Print (int BeforeRparenthesis=0)=0 |
Print the MureTallyBin. | |
virtual string | PrintVolume () |
Print the Volume of the bin. | |
virtual bool | NeedVolume () |
vector< double > | GetVolume () |
retruns the bin volume vector. | |
double | GetVolume (int i) |
retruns the ith bin volume vector. | |
double | GetSurface () |
int | GetNumberOfVolume () |
void | SetSurface (double S, bool Inc=false) |
Set the bin area. | |
void | SetVolume (double V, int i=0, bool Inc=false) |
set the bin volume of ith partial bin. | |
virtual bool | IsInBin (int num) |
virtual bool | IsInBin (Cell *C) |
virtual bool | IsInBin (Shape_ptr S) |
void | SetBinVolume (vector< double > V) |
Set volume(s) to bin(s) | |
virtual double | RescanVolume () |
virtual void | UpdateTallyBinVolume ()=0 |
Reread all bins and assign necessary volume. | |
bool | IsPinCellBin () |
void | SetPinCellBin (bool flag) |
Protected Attributes | |
vector< vector< MureTallyBin * > > | fLevel |
array of array of MureTallyBin. | |
vector< vector< bool > > | fHasPosition |
flag to know if a given cell has restricted positions in a lattice | |
vector< vector< string > > | fPosition |
array of the positions of each cell in each level. | |
Protected Attributes inherited from MureTallyBin | |
int | fBinType |
type of the bin (-1=unknown, 0=surface, 1=cell, 2=universe) | |
vector< double > | fVolume |
bin volume vector (1 value except for LatticeBin or Universe) | |
double | fSurface |
bin surface | |
bool | fIsPinCellBin |
if the cell type bin is from a PinCell | |
Additional Inherited Members | |
Protected Member Functions inherited from MureTallyBin | |
MureTallyBin (int bintype, vector< double > vol, double surf) | |
used by Copy constructor of daugthers classes | |
Define Lattice Cell type bin.
This is only defined for Universe and Fill cells definition For exemple: (2 3 < (4 5) < 6) which means that the bin considers cells 2 and 3 (level 0) when they are inside cells 4 or 5 (level 1), only when those latter one are in cell 6 (level 2)
YOU MUST USE THE REAL IMPLEMENTATION OF THIS CLASS (MCNP::LatticeBin)
MureLatticeBin::MureLatticeBin | ( | const MureLatticeBin & | b | ) |
Copy constructor.
MureLatticeBin::MureLatticeBin | ( | Cell * | C, |
string | pos = "" |
||
) |
Build a Lattice Bin and add C in the level 0.
MureLatticeBin::MureLatticeBin | ( | PinCell * | C, |
int | layeridx, | ||
string | pos = "" |
||
) |
Build a Lattice Bin and add the layer idx of PinCell C in the level 0.
MureLatticeBin::MureLatticeBin | ( | MureTallyBin * | theTallyBin | ) |
Build a Lattice Bin and add the contents of theTallyBin in the level 0.
MureLatticeBin::MureLatticeBin | ( | int | universe | ) |
Build a Lattice Bin based on the universe shorthand and add it to level 0.
|
override |
Destructor.
void MureLatticeBin::Add | ( | Cell * | C, |
int | InclusionLevel = 0 , |
||
string | pos = "" |
||
) |
Add the Cell C in a given Level. For exemple, in (1 2 < 3 < 4[i j k]), cells 1 and 2 are at level 0, cell 3 is at level 1 and cell 4 in level 2 at the position [i j k] in the lattice
C | : the cell to add |
InclusionLevel | : the level at which it is insert |
pos | : the position idx in a LatticeCell ([i j k] in the example) |
void MureLatticeBin::Add | ( | int | universe, |
int | InclusionLevel = 0 |
||
) |
Add a universe shortcut as bin to a MureLatticeBin.
void MureLatticeBin::Add | ( | MureTallyBin * | theTallyBin, |
int | InclusionLevel = 0 |
||
) |
Add the MureTallyBin in a given Level. ONLY if theTallyBin is of type Cell.
theTallyBin | : the TallyBin to add |
InclusionLevel | : the level at which it is insert For exemple, in (1 2 < 3), cells 1 and 2 are at level 0, cell 3 is at level 1 |
void MureLatticeBin::Add | ( | PinCell * | C, |
int | layeridx, | ||
int | InclusionLevel, | ||
string | pos = "" |
||
) |
Add the layer idx of PinCell C in a given Level.
C | : the PinCell to add |
layeridx | : The PinCell layer number to add (0=the most inner one) |
InclusionLevel | : the level at which it is insert |
pos | : the position idx in a LatticeCell |
void MureLatticeBin::AddContainer | ( | int | universe | ) |
Add a universe shortcut in a new outer level.
void MureLatticeBin::AddContainer | ( | MureTallyBin * | theTallyBin | ) |
Add a TallyBinin a new outer level.
|
inlineoverridevirtual |
|
inline |
< Returns the fLevel vector, (used in Tally::SetBinVolume();)
|
overridevirtual |
whether or not the cell C is in the bin
Reimplemented from MureTallyBin.
|
overridevirtual |
whether or not the universe "num" is in the bin
Reimplemented from MureTallyBin.
|
inlineoverridevirtual |
< This is a LatticeBin
Reimplemented from MureTallyBin.
|
overridevirtual |
Print the MureLatticeBin in MCNP.
Implements MureTallyBin.
|
overridevirtual |
Print the MureLatticeBin list of volume in MCNP.
Reimplemented from MureTallyBin.
|
overridevirtual |
Reread all bins and assign necessary volume.
Implements MureTallyBin.
|
protected |
flag to know if a given cell has restricted positions in a lattice
|
protected |
array of array of MureTallyBin.
|
protected |
array of the positions of each cell in each level.