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

Define group cell or surface bin. More...

#include <MureGroupBin.hxx>

Inheritance diagram for MureGroupBin:
MureTallyBin MCNP::GroupBin

Public Member Functions

 MureGroupBin (const MureGroupBin &b)
 Copy constructor.
 
 MureGroupBin ()
 default constructor.
 
 MureGroupBin (Cell *C)
 Build a Group Bin of type Cell and add C to the GroupBin.
 
 MureGroupBin (PinCell *C, int layeridx)
 Build a GroupBin of type Cell and add the layer idx of the PinCell to the GroupBin.
 
 MureGroupBin (Shape_ptr S)
 Build a Group Bin of type Surface and add S to the GroupBin.
 
 MureGroupBin (MureTallyBin *theTallyBin)
 Build a Group Bin with the TallyBin's type and add TallyBin contents to the GroupBin.
 
 MureGroupBin (int universe)
 Build a Group Bin based on the universe shorthand, for cell type only.
 
MureTallyBinClone () override
 The "Virtual Copy Constructor".
 
 ~MureGroupBin () override
 Destructor.
 
bool IsGroupBin () override
 
void Add (Cell *C)
 Add a Cell to a Cell type GroupBin.
 
void Add (PinCell *C, int layeridx)
 Add the layer idx of the PinCell C to the GroupBin.
 
void Add (Shape_ptr S)
 Add a Shape to a Surface type GroupBin.
 
void Add (MureTallyBin *theTallyBin)
 Add a TallyBin to a GroupBin if type are compatible.
 
void Add (int universe)
 Add a universe shortcut as bin to a GroupBin if type are compatible.
 
string Print (int BeforeRparenthesis=0) override
 Print the GroupBin (dummy)
 
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
 
bool IsInBin (Shape_ptr S) override
 whether or not the Shape S is in the bin
 
double RescanVolume () override
 Reread all bins and assign necessary volume when known.
 
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< MureTallyBin * > fBin
 the TallyBin vector
 
- 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 group cell or surface bin.

That is to say, only one bin for a list of Cells or Surfaces.

Note that a GroupBin is either a Cell type either a Surface type but not both. GroupBin are not implemented in Serpent.

YOU MUST USE THE REAL IMPLEMENTATION OF THIS CLASS (MCNP::GroupBin)

Author
PTO
J. Hajnrych
Version
1.0

Constructor & Destructor Documentation

◆ MureGroupBin() [1/7]

MureGroupBin::MureGroupBin ( const MureGroupBin b)

Copy constructor.

◆ MureGroupBin() [2/7]

MureGroupBin::MureGroupBin ( )

default constructor.

◆ MureGroupBin() [3/7]

MureGroupBin::MureGroupBin ( Cell C)

Build a Group Bin of type Cell and add C to the GroupBin.

◆ MureGroupBin() [4/7]

MureGroupBin::MureGroupBin ( PinCell C,
int  layeridx 
)

Build a GroupBin of type Cell and add the layer idx of the PinCell to the GroupBin.

◆ MureGroupBin() [5/7]

MureGroupBin::MureGroupBin ( Shape_ptr  S)

Build a Group Bin of type Surface and add S to the GroupBin.

◆ MureGroupBin() [6/7]

MureGroupBin::MureGroupBin ( MureTallyBin theTallyBin)

Build a Group Bin with the TallyBin's type and add TallyBin contents to the GroupBin.

◆ MureGroupBin() [7/7]

MureGroupBin::MureGroupBin ( int  universe)

Build a Group Bin based on the universe shorthand, for cell type only.

◆ ~MureGroupBin()

MureGroupBin::~MureGroupBin ( )
override

Destructor.

Member Function Documentation

◆ Add() [1/5]

void MureGroupBin::Add ( Cell C)

Add a Cell to a Cell type GroupBin.

◆ Add() [2/5]

void MureGroupBin::Add ( int  universe)

Add a universe shortcut as bin to a GroupBin if type are compatible.

◆ Add() [3/5]

void MureGroupBin::Add ( MureTallyBin theTallyBin)

Add a TallyBin to a GroupBin if type are compatible.

◆ Add() [4/5]

void MureGroupBin::Add ( PinCell C,
int  layeridx 
)

Add the layer idx of the PinCell C to the GroupBin.

◆ Add() [5/5]

void MureGroupBin::Add ( Shape_ptr  S)

Add a Shape to a Surface type GroupBin.

◆ Clone()

MureTallyBin * MureGroupBin::Clone ( )
inlineoverridevirtual

The "Virtual Copy Constructor".

< Clone method

Implements MureTallyBin.

◆ IsGroupBin()

bool MureGroupBin::IsGroupBin ( )
inlineoverridevirtual

< This is a MureGroupBin

Reimplemented from MureTallyBin.

◆ IsInBin() [1/3]

bool MureGroupBin::IsInBin ( Cell C)
overridevirtual

whether or not the cell C is in the bin

Reimplemented from MureTallyBin.

◆ IsInBin() [2/3]

bool MureGroupBin::IsInBin ( int  num)
overridevirtual

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

Reimplemented from MureTallyBin.

◆ IsInBin() [3/3]

bool MureGroupBin::IsInBin ( Shape_ptr  S)
overridevirtual

whether or not the Shape S is in the bin

Reimplemented from MureTallyBin.

◆ Print()

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

Print the GroupBin (dummy)

Implements MureTallyBin.

◆ RescanVolume()

double MureGroupBin::RescanVolume ( )
overridevirtual

Reread all bins and assign necessary volume when known.

Reimplemented from MureTallyBin.

◆ UpdateTallyBinVolume()

void MureGroupBin::UpdateTallyBinVolume ( )
overridevirtual

Reread all bins and assign necessary volume.

Implements MureTallyBin.

Member Data Documentation

◆ fBin

vector< MureTallyBin *> MureGroupBin::fBin
protected

the TallyBin vector


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

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