MURE
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Member Functions | Private Attributes | List of all members
LatticeBin Class Reference

Define Lattice Cell type bin. More...

#include <Tally.hxx>

Inheritance diagram for LatticeBin:
TallyBin

Public Member Functions

 LatticeBin (const LatticeBin &b)
 Copy constructor. More...
 
 LatticeBin (Cell *C, string pos="")
 Build a Lattice Bin of type Cell. More...
 
 LatticeBin (TallyBin *theTallyBin)
 Build a Lattice Bin of type Cell only. More...
 
 LatticeBin (int universe)
 Build a Lattice Bin based on the universe shorthand. More...
 
 ~LatticeBin ()
 Destructor. More...
 
TallyBinClone ()
 Clone method. More...
 
bool IsLatticeBin ()
 This is a LatticeBin. More...
 
void Add (Cell *C, int InclusionLevel=0, string pos="")
 
void Add (TallyBin *theTallyBin, int InclusionLevel=0)
 
void Add (int universe, int InclusionLevel=0)
 Add a universe shortcut as bin to a LatticeBin. More...
 
void AddContainer (Cell *C, string pos="")
 Add a Cell in a new outer level. More...
 
void AddContainer (TallyBin *theTallyBin)
 Add a TallyBinin a new outer level. More...
 
void AddContainer (int universe)
 Add a universe shortcut in a new outer level. More...
 
string Print (int BeforeRparenthesis=0)
 Print the LatticeBin in MCNP. More...
 
string PrintVolume ()
 Print the LatticeBin list of volume in MCNP. More...
 
bool IsInBin (int num)
 whether or not the cell/suface "num" is in the bin More...
 
vector< vector< TallyBin * > > GetLevelVector ()
 Returns the fLevel vector, (used in Tally::SetBinVolume();) More...
 
- Public Member Functions inherited from TallyBin
 TallyBin (const TallyBin &b)
 Copy constructor. More...
 
 TallyBin ()
 Normal Construcator. More...
 
virtual ~TallyBin ()
 
virtual bool IsSimpleBin ()
 if the TallyBin is a SimpleBin More...
 
virtual bool IsGroupBin ()
 if the TallyBin is a GroupBin More...
 
int GetCellType ()
 returns -1, 0, 1 in function of the bin type. More...
 
virtual bool NeedVolume ()
 
vector< double > GetVolume ()
 retruns the bin volume vector. More...
 
double GetVolume (int i)
 retruns the ith bin volume vector. More...
 
double GetSurface ()
 retruns the bin surface More...
 
int GetNumberOfVolume ()
 
void SetSurface (double S, bool Inc=false)
 Set the bin surface. More...
 
void SetVolume (double V, int i=0, bool Inc=false)
 set the bin volume of ith partial bin. More...
 
void SetBinVolume (vector< double > V)
 Set volume(s) to bin(s) More...
 

Private Attributes

vector< vector< TallyBin * > > fLevel
 array of array of TallyBin. More...
 
vector< vector< bool > > fHasPosition
 flag to know if a given cell has restricted positions in a lattice More...
 
vector< vector< string > > fPosition
 array of the positions of each cell in each level. More...
 

Additional Inherited Members

- Protected Member Functions inherited from TallyBin
 TallyBin (int celltype, vector< double > vol, double surf)
 used by Copy constructor of daugthers classes More...
 
- Protected Attributes inherited from TallyBin
int fCellType
 type of the bin (-1=unknown, 0=surface, 1=cell) More...
 
vector< double > fVolume
 bin volume vector (1 value except for LatticeBin or Universe) More...
 
double fSurface
 bin surface More...
 

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 or 3 when they are inside cells 4 or 5, only when those latter one are in cell 6

Author
PTO
Version
1.0

Constructor & Destructor Documentation

LatticeBin::LatticeBin ( const LatticeBin b)

Copy constructor.

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

Build a Lattice Bin of type Cell.

LatticeBin::LatticeBin ( TallyBin theTallyBin)

Build a Lattice Bin of type Cell only.

LatticeBin::LatticeBin ( int  universe)

Build a Lattice Bin based on the universe shorthand.

LatticeBin::~LatticeBin ( )

Destructor.

Member Function Documentation

void LatticeBin::Add ( Cell C,
int  InclusionLevel = 0,
string  pos = "" 
)

Add the Cell C in a given Level. For exemple, in (1 2 < 3), cells 1 and 2 are at level 0, cell 3 is at level 1

Parameters
C: the cell to add
InclusionLevel: the level at which it is insert
pos: overload dummy (?)
void LatticeBin::Add ( TallyBin theTallyBin,
int  InclusionLevel = 0 
)

Add the TallyBin 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
void LatticeBin::Add ( int  universe,
int  InclusionLevel = 0 
)

Add a universe shortcut as bin to a LatticeBin.

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

Add a Cell in a new outer level.

void LatticeBin::AddContainer ( TallyBin theTallyBin)

Add a TallyBinin a new outer level.

void LatticeBin::AddContainer ( int  universe)

Add a universe shortcut in a new outer level.

TallyBin* LatticeBin::Clone ( )
inlinevirtual

Clone method.

Reimplemented from TallyBin.

vector< vector<TallyBin*> > LatticeBin::GetLevelVector ( )
inline

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

bool LatticeBin::IsInBin ( int  num)
virtual

whether or not the cell/suface "num" is in the bin

Reimplemented from TallyBin.

bool LatticeBin::IsLatticeBin ( )
inlinevirtual

This is a LatticeBin.

Reimplemented from TallyBin.

string LatticeBin::Print ( int  BeforeRparenthesis = 0)
virtual

Print the LatticeBin in MCNP.

Reimplemented from TallyBin.

string LatticeBin::PrintVolume ( )
virtual

Print the LatticeBin list of volume in MCNP.

Reimplemented from TallyBin.

Member Data Documentation

vector< vector< bool > > LatticeBin::fHasPosition
private

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

vector< vector<TallyBin*> > LatticeBin::fLevel
private

array of array of TallyBin.

vector< vector< string > > LatticeBin::fPosition
private

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.8.5 - Mon Nov 17 2014