MURE
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
MureLatticeBin Class Reference

Define Lattice Cell type bin. More...

#include <MureLatticeBin.hxx>

Inheritance diagram for MureLatticeBin:
MureTallyBin MCNP::LatticeBin

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.
 
MureTallyBinClone () 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 MureTallyBinClone ()=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
 

Detailed Description

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)

Author
PTO
Version
1.0

Constructor & Destructor Documentation

◆ MureLatticeBin() [1/5]

MureLatticeBin::MureLatticeBin ( const MureLatticeBin b)

Copy constructor.

◆ MureLatticeBin() [2/5]

MureLatticeBin::MureLatticeBin ( Cell C,
string  pos = "" 
)

Build a Lattice Bin and add C in the level 0.

◆ MureLatticeBin() [3/5]

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() [4/5]

MureLatticeBin::MureLatticeBin ( MureTallyBin theTallyBin)

Build a Lattice Bin and add the contents of theTallyBin in the level 0.

◆ MureLatticeBin() [5/5]

MureLatticeBin::MureLatticeBin ( int  universe)

Build a Lattice Bin based on the universe shorthand and add it to level 0.

◆ ~MureLatticeBin()

MureLatticeBin::~MureLatticeBin ( )
override

Destructor.

Member Function Documentation

◆ Add() [1/4]

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

Parameters
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)

◆ Add() [2/4]

void MureLatticeBin::Add ( int  universe,
int  InclusionLevel = 0 
)

Add a universe shortcut as bin to a MureLatticeBin.

◆ Add() [3/4]

void MureLatticeBin::Add ( MureTallyBin theTallyBin,
int  InclusionLevel = 0 
)

Add the MureTallyBin in a given Level. ONLY if theTallyBin is of type Cell.

Parameters
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

◆ Add() [4/4]

void MureLatticeBin::Add ( PinCell C,
int  layeridx,
int  InclusionLevel,
string  pos = "" 
)

Add the layer idx of PinCell C in a given Level.

Parameters
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

◆ AddContainer() [1/3]

void MureLatticeBin::AddContainer ( Cell C,
string  pos = "" 
)

Add a Cell in a new outer level.

◆ AddContainer() [2/3]

void MureLatticeBin::AddContainer ( int  universe)

Add a universe shortcut in a new outer level.

◆ AddContainer() [3/3]

void MureLatticeBin::AddContainer ( MureTallyBin theTallyBin)

Add a TallyBinin a new outer level.

◆ Clone()

MureTallyBin * MureLatticeBin::Clone ( )
inlineoverridevirtual

The "Virtual Copy Constructor".

< Clone method

Implements MureTallyBin.

◆ GetLevelVector()

vector< vector< MureTallyBin * > > MureLatticeBin::GetLevelVector ( )
inline

< Returns the fLevel vector, (used in Tally::SetBinVolume();)

◆ IsInBin() [1/2]

bool MureLatticeBin::IsInBin ( Cell C)
overridevirtual

whether or not the cell C is in the bin

Reimplemented from MureTallyBin.

◆ IsInBin() [2/2]

bool MureLatticeBin::IsInBin ( int  num)
overridevirtual

whether or not the universe "num" is in the bin

Reimplemented from MureTallyBin.

◆ IsLatticeBin()

bool MureLatticeBin::IsLatticeBin ( )
inlineoverridevirtual

< This is a LatticeBin

Reimplemented from MureTallyBin.

◆ Print()

string MureLatticeBin::Print ( int  BeforeRparenthesis = 0)
overridevirtual

Print the MureLatticeBin in MCNP.

Implements MureTallyBin.

◆ PrintVolume()

string MureLatticeBin::PrintVolume ( )
overridevirtual

Print the MureLatticeBin list of volume in MCNP.

Reimplemented from MureTallyBin.

◆ UpdateTallyBinVolume()

void MureLatticeBin::UpdateTallyBinVolume ( )
overridevirtual

Reread all bins and assign necessary volume.

Implements MureTallyBin.

Member Data Documentation

◆ fHasPosition

vector< vector < bool > > MureLatticeBin::fHasPosition
protected

flag to know if a given cell has restricted positions in a lattice

◆ fLevel

vector< vector < MureTallyBin *> > MureLatticeBin::fLevel
protected

array of array of MureTallyBin.

◆ fPosition

vector< vector < string > > MureLatticeBin::fPosition
protected

array of the positions of each cell in each level.


The documentation for this class was generated from the following files:

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