MURE
|
Define a general Tally Bin. More...
#include <MureTallyBin.hxx>
Public Member Functions | |
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 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 | |
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.
MureTallyBin::MureTallyBin | ( | const MureTallyBin & | b | ) |
Copy constructor.
MureTallyBin::MureTallyBin | ( | ) |
Normal Construcator.
|
virtualdefault |
Destructor.
|
protected |
used by Copy constructor of daugthers classes
|
pure virtual |
The "Virtual Copy Constructor".
Implemented in MCNP::SimpleBin, MCNP::GroupBin, MCNP::LatticeBin, MureGroupBin, MureLatticeBin, MureSimpleBin, and Serpent::SimpleBin.
|
inline |
< returns the number of volume
|
inline |
< retruns the bin area
|
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
|
inline |
retruns the bin volume vector.
In general this vector contains only 1 elements (except for LatticeBin)
|
inline |
retruns the ith bin volume vector.
In general i=0 because the volume vector contains only 1 elements (except for LatticeBin)
|
inline |
|
inlinevirtual |
< if the MureTallyBin is a GroupBin
Reimplemented in MureGroupBin.
|
inlinevirtual |
< whether or not the cell/suface "num" is in the tally bin
Reimplemented in MureGroupBin, MureLatticeBin, and MureSimpleBin.
|
inlinevirtual |
< whether or not the cell/suface "num" is in the tally bin
Reimplemented in MureGroupBin, MureLatticeBin, and MureSimpleBin.
|
inlinevirtual |
< whether or not the cell/suface "num" is in the tally bin
Reimplemented in MureGroupBin, and MureSimpleBin.
|
inlinevirtual |
< if the MureTallyBin is a LatticeBin
Reimplemented in MureLatticeBin.
|
inline |
< This bin is from a PinCell
|
inlinevirtual |
< if the MureTallyBin is a SimpleBin
Reimplemented in MureSimpleBin.
|
inline |
|
inline |
|
virtual |
True if Stochastic Volume/Surface calculation are needed.
|
pure virtual |
Print the MureTallyBin.
Implemented in Serpent::SimpleBin, MCNP::SimpleBin, MCNP::GroupBin, MCNP::LatticeBin, MureGroupBin, MureLatticeBin, and MureSimpleBin.
|
virtual |
Print the Volume of the bin.
Reimplemented in MureLatticeBin, and MureSimpleBin.
|
inlinevirtual |
< do nothing (overloaded)
Reimplemented in MureGroupBin, and MureSimpleBin.
void MureTallyBin::SetBinVolume | ( | vector< double > | V | ) |
Set volume(s) to bin(s)
|
inline |
< say that the bin is from a PinCell (or not)
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.
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) |
|
inline |
< Set bin type
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.
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. |
|
pure virtual |
Reread all bins and assign necessary volume.
Implemented in MureGroupBin, MureLatticeBin, and MureSimpleBin.
|
protected |
type of the bin (-1=unknown, 0=surface, 1=cell, 2=universe)
|
protected |
if the cell type bin is from a PinCell
|
protected |
bin surface
|
protected |
bin volume vector (1 value except for LatticeBin or Universe)