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

Define a general Tally Bin. More...

#include <MureTallyBin.hxx>

Inheritance diagram for MureTallyBin:
MureGroupBin MureLatticeBin MureSimpleBin MCNP::GroupBin MCNP::LatticeBin MCNP::SimpleBin Serpent::SimpleBin

Public Member Functions

 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 Member Functions

 MureTallyBin (int bintype, vector< double > vol, double surf)
 used by Copy constructor of daugthers classes
 

Protected Attributes

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
 

Detailed Description

Define a general Tally Bin.

This abstract class defines a general tally bin (i.e. either a Cell, a Surface, a Universe, a group bin, ...)

WARNING: The surface for surface bin is not fully implemented and yet not tested.

See also
SimpleBin
GroupBin
LatticeBin
User Guide
Author
PTO
J. Hajnrych
Version
1.0

Constructor & Destructor Documentation

◆ MureTallyBin() [1/3]

MureTallyBin::MureTallyBin ( const MureTallyBin b)

Copy constructor.

◆ MureTallyBin() [2/3]

MureTallyBin::MureTallyBin ( )

Normal Construcator.

◆ ~MureTallyBin()

virtual MureTallyBin::~MureTallyBin ( )
virtualdefault

Destructor.

◆ MureTallyBin() [3/3]

MureTallyBin::MureTallyBin ( int  bintype,
vector< double >  vol,
double  surf 
)
protected

used by Copy constructor of daugthers classes

Member Function Documentation

◆ Clone()

virtual MureTallyBin * MureTallyBin::Clone ( )
pure virtual

◆ GetNumberOfVolume()

int MureTallyBin::GetNumberOfVolume ( )
inline

< returns the number of volume

◆ GetSurface()

double MureTallyBin::GetSurface ( )
inline

< retruns the bin area

◆ GetType()

int MureTallyBin::GetType ( )
inline

returns -1, 0, 1 or 2 in function of the bin type.

-1 if the bin type is not known, 0 if it is a Surface bin and 1 if it is a Cell bin, 2 if it is a universe bin

◆ GetVolume() [1/2]

vector< double > MureTallyBin::GetVolume ( )
inline

retruns the bin volume vector.

In general this vector contains only 1 elements (except for LatticeBin)

◆ GetVolume() [2/2]

double MureTallyBin::GetVolume ( int  i)
inline

retruns the ith bin volume vector.

In general i=0 because the volume vector contains only 1 elements (except for LatticeBin)

◆ IsCellBin()

bool MureTallyBin::IsCellBin ( )
inline

◆ IsGroupBin()

virtual bool MureTallyBin::IsGroupBin ( )
inlinevirtual

< if the MureTallyBin is a GroupBin

Reimplemented in MureGroupBin.

◆ IsInBin() [1/3]

virtual bool MureTallyBin::IsInBin ( Cell C)
inlinevirtual

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

Reimplemented in MureGroupBin, MureLatticeBin, and MureSimpleBin.

◆ IsInBin() [2/3]

virtual bool MureTallyBin::IsInBin ( int  num)
inlinevirtual

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

Reimplemented in MureGroupBin, MureLatticeBin, and MureSimpleBin.

◆ IsInBin() [3/3]

virtual bool MureTallyBin::IsInBin ( Shape_ptr  S)
inlinevirtual

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

Reimplemented in MureGroupBin, and MureSimpleBin.

◆ IsLatticeBin()

virtual bool MureTallyBin::IsLatticeBin ( )
inlinevirtual

< if the MureTallyBin is a LatticeBin

Reimplemented in MureLatticeBin.

◆ IsPinCellBin()

bool MureTallyBin::IsPinCellBin ( )
inline

< This bin is from a PinCell

◆ IsSimpleBin()

virtual bool MureTallyBin::IsSimpleBin ( )
inlinevirtual

< if the MureTallyBin is a SimpleBin

Reimplemented in MureSimpleBin.

◆ IsSurfaceBin()

bool MureTallyBin::IsSurfaceBin ( )
inline

◆ IsUniverseBin()

bool MureTallyBin::IsUniverseBin ( )
inline

◆ NeedVolume()

bool MureTallyBin::NeedVolume ( )
virtual

True if Stochastic Volume/Surface calculation are needed.

◆ Print()

virtual string MureTallyBin::Print ( int  BeforeRparenthesis = 0)
pure virtual

◆ PrintVolume()

string MureTallyBin::PrintVolume ( )
virtual

Print the Volume of the bin.

Reimplemented in MureLatticeBin, and MureSimpleBin.

◆ RescanVolume()

virtual double MureTallyBin::RescanVolume ( )
inlinevirtual

< do nothing (overloaded)

Reimplemented in MureGroupBin, and MureSimpleBin.

◆ SetBinVolume()

void MureTallyBin::SetBinVolume ( vector< double >  V)

Set volume(s) to bin(s)

◆ SetPinCellBin()

void MureTallyBin::SetPinCellBin ( bool  flag)
inline

< say that the bin is from a PinCell (or not)

◆ SetSurface()

void MureTallyBin::SetSurface ( double  S,
bool  Inc = false 
)

Set the bin area.

If Inc=true then increment the Bin surface of S. In this case, if fSurface=-1, it is assume that no surface has been enter thus fSurface is set to S. If fSurface=-2, no incrementation is done: this means that surface for the whole bin (GroupBin) cannot be obtained.

Parameters
S: the value of the surface or of the increment depending on Inc
Inc: if false set fSurface to S, else increment fSurface of S (except if fSurface=-2)

◆ SetType()

void MureTallyBin::SetType ( int  type)
inline

< Set bin type

◆ SetVolume()

void MureTallyBin::SetVolume ( double  V,
int  i = 0,
bool  Inc = false 
)

set the bin volume of ith partial bin.

If Inc=true then increment the Bin volume of V. In this case, if fVolume=-1, it is assume that no volume has been enter thus fVolume is set to V. If fVolume=-2, no incrementation is done: this means that volume for the whole bin (GroupBin) cannot be obtained.

Parameters
V: the value of the volume or of the increment depending on Inc
i: the ith partial bin for LatticeBin; i=0 for all other bin
Inc: if false set fVolume to V, else increment fVolume of V (except if fVolume=-2) set the bin volume of ith partial bin (i=0 except for LatticeBin.

◆ UpdateTallyBinVolume()

virtual void MureTallyBin::UpdateTallyBinVolume ( )
pure virtual

Reread all bins and assign necessary volume.

Implemented in MureGroupBin, MureLatticeBin, and MureSimpleBin.

Member Data Documentation

◆ fBinType

int MureTallyBin::fBinType
protected

type of the bin (-1=unknown, 0=surface, 1=cell, 2=universe)

◆ fIsPinCellBin

bool MureTallyBin::fIsPinCellBin
protected

if the cell type bin is from a PinCell

◆ fSurface

double MureTallyBin::fSurface
protected

bin surface

◆ fVolume

vector< double > MureTallyBin::fVolume
protected

bin volume vector (1 value except for LatticeBin or Universe)


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

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