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

Define a MURE Tally.abstract class. More...

#include <MureTally.hxx>

Inheritance diagram for MureTally:
MCNP::Tally Serpent::Tally

Public Types

typedef MureTimeEnergyGrid::BinRange ETBinRange
 

Public Member Functions

 MureTally ()
 
 MureTally (const MureTally &t)
 Copy constructor.
 
virtual MureTallyClone ()=0
 The only good way to call copy constructor.
 
virtual ~MureTally ()
 Destructor.
 
int GetNumber ()
 
void SetNumber (int num)
 
bool NeedVolume ()
 Whether or not a stochastic volume/surface calculation is needed.
 
virtual vector< double > GetBinVolume (int i)=0
 returns the ith bin volume of Tally bin
 
virtual void SetBinVolume (int i, double V, int k=0)=0
 set the ith bin volume of (the kth partial bin in a LatticeBin) Tally bin
 
virtual string Print ()=0
 
virtual string PrintMultiplicator ()=0
 
void SetComment (string str)
 
void AddEnergy (int NE, double *E)
 
void AddEnergy (vector< double > E)
 
void AddEnergy (int NE, double Emin, double Emax, bool Linear=false)
 
void AddEnergy (double Emin, double Emax, int N_by_Decade=10)
 
string PrintDebugET ()
 
void AddMultiGroupEnergy (double Emin, double Emax, double decad_mult=1)
 
void AddTime (int NT, double *T)
 
void AddTime (int NT, double Tmin, double Tmax, bool Linear=false)
 
void AddTime (double Tmin, double Tmax, int N_by_Decade=10)
 
void Add (Cell *C, bool SetCellTally=true)
 Add a cell bin.
 
void Add (PinCell *C, int i, bool SetCellTally=true)
 Add a cell bin using a given layer of PinCell.
 
void Add (Shape_ptr S)
 add a surface bin
 
void Add (int universe)
 add a univers bin
 
void Add (MureTallyBin *theTallyBin)
 add a bin from an existing tally bin
 
void Add (TallyMultiplicator *Multiplicator)
 
void AddMultiplicator (Material *M, int reaction, double constant=1)
 add a Tally Multiplicator
 
void AddMultiplicator (Material *M, Reaction *R, double constant=1)
 add a Tally Multiplicator
 
void AddMultiplicator (int M, int R, double constant)
 add a Tally Multiplicator
 
vector< TallyMultiplicator * > & GetMultiplicator ()
 
MureTallyBinGetBin (int i)
 
vector< MureTallyBin * > & GetBin ()
 
int IsInTallyBin (Cell *C)
 whether or not the cell/suface "num" is in the bin
 
int IsInTallyBin (int num)
 return the Bin number containing the Cell/Surface "num"
 
int IsInTallyBin (Shape_ptr S)
 whether or not the cell/suface "num" is in the bin
 
void SetPrintable (bool flag=true)
 
bool IsPrintable ()
 
int GetType ()
 
void SetType (int type)
 
void SkipVolumeCalculation ()
 
bool IsVolumeCalculationSkept ()
 
void SetPinCellTally (bool flag)
 
bool IsPinCellTally ()
 

Protected Member Functions

bool IsMaterialUsed (int num)
 
virtual MureTimeEnergyGridGetNewTimeEnergyGrid ()=0
 A time &energy grid.
 

Protected Attributes

int fType
 Tally type.
 
int fNumber
 Tally number.
 
vector< TallyMultiplicator * > fMultiplicator
 array of Multiplicator bin
 
MureTimeEnergyGridfTimeEnergyGrid
 store time &/or energy grid
 
vector< MureTallyBin * > fBin
 array of Cell/Surface bin
 
bool fIsPrintable
 True for not printable tallies.
 
string fComment
 Tally coment (Added by T. Courau)
 
bool fSkipVolumeCalc
 flag to know whether or not try to calculate Volume/Surface
 
bool fIsPinCellTally
 flag to know whether the tally is from PinCell
 

Detailed Description

Define a MURE Tally.abstract class.

A tally is a scoring interface to MC code (a kind of detector). This class is abstract and depending on the namespace, concrete Tallies (MCNP::Tally or Serpent::Tally) are really built.

Author
PTO
J. Hajnrych
Version
1.0

Member Typedef Documentation

◆ ETBinRange

Constructor & Destructor Documentation

◆ MureTally() [1/2]

MureTally::MureTally ( )

Constructor of a Tally.

◆ MureTally() [2/2]

MureTally::MureTally ( const MureTally t)

Copy constructor.

◆ ~MureTally()

MureTally::~MureTally ( )
virtual

Destructor.

Member Function Documentation

◆ Add() [1/6]

void MureTally::Add ( Cell C,
bool  SetCellTally = true 
)

Add a cell bin.

◆ Add() [2/6]

void MureTally::Add ( int  universe)

add a univers bin

◆ Add() [3/6]

void MureTally::Add ( MureTallyBin theTallyBin)

add a bin from an existing tally bin

◆ Add() [4/6]

void MureTally::Add ( PinCell C,
int  i,
bool  SetCellTally = true 
)

Add a cell bin using a given layer of PinCell.

◆ Add() [5/6]

void MureTally::Add ( Shape_ptr  S)

add a surface bin

◆ Add() [6/6]

void MureTally::Add ( TallyMultiplicator Multiplicator)
inline

< add a Tally Multiplicator

◆ AddEnergy() [1/4]

void MureTally::AddEnergy ( double  Emin,
double  Emax,
int  N_by_Decade = 10 
)

Add a Logaritmic Energy binning.

Parameters
Emin: lower energy bin in eV.
Emax: upper energy bin in eV.
N_by_Decade: number of bin in each decade

◆ AddEnergy() [2/4]

void MureTally::AddEnergy ( int  NE,
double *  E 
)

Add a Energy binning.

Parameters
NE: number of energy bin
E: array of energy bin in eV.

◆ AddEnergy() [3/4]

void MureTally::AddEnergy ( int  NE,
double  Emin,
double  Emax,
bool  Linear = false 
)

Add a Energy binning.

Parameters
NE: number of energy bin
Emin: lower energy bin in eV.
Emax: upper energy bin in eV.
Linear: whether the bining is linear or logarithmic. (Default=Log)

◆ AddEnergy() [4/4]

void MureTally::AddEnergy ( vector< double >  E)

Add a Energy binning.

Parameters
E: vector of energy bin in eV.

◆ AddMultiGroupEnergy()

void MureTally::AddMultiGroupEnergy ( double  Emin,
double  Emax,
double  decad_mult = 1 
)

Add a Logaritmic Energy binning for Multigroup run. By default, groups are constructed from $E_{min}$ to $E_{max}$ with

  • 2000 bins per decade in [0 eV, 1 eV]
  • 2000 bins per decade in [1 eV, 10eV]
  • 5000 bins per decade in [10 eV, 10 keV]
  • 2000 bins per decade in [10 keV, 100 keV]
  • 1000 bins per decade for E > 100 keV.

These number of bins are multiplied by decad_mult. For a default setting in EvolutionSolver (Emin = 1e-4 eV, Emax = 20 Mev), this leads to a 72995 group flux.

Parameters
Emin: lower energy bin in eV.
Emax: upper energy bin in eV.
decad_mult: multiplier of bin/decade in each range.

◆ AddMultiplicator() [1/3]

void MureTally::AddMultiplicator ( int  M,
int  R,
double  constant 
)

add a Tally Multiplicator

◆ AddMultiplicator() [2/3]

void MureTally::AddMultiplicator ( Material M,
int  reaction,
double  constant = 1 
)

add a Tally Multiplicator

◆ AddMultiplicator() [3/3]

void MureTally::AddMultiplicator ( Material M,
Reaction R,
double  constant = 1 
)

add a Tally Multiplicator

◆ AddTime() [1/3]

void MureTally::AddTime ( double  Tmin,
double  Tmax,
int  N_by_Decade = 10 
)

Add a Logaritmic Time binning.

Parameters
Tmin: lower time bin in s.
Tmax: upper time bin in s.
N_by_Decade: number of bin in each decade

◆ AddTime() [2/3]

void MureTally::AddTime ( int  NT,
double *  T 
)

Add a Time binning.

Parameters
NT: number of time bin
T: array of time bin in s.

◆ AddTime() [3/3]

void MureTally::AddTime ( int  NT,
double  Tmin,
double  Tmax,
bool  Linear = false 
)

Add a Time binning.

Parameters
NT: number of time bin
Tmin: lower time bin in s.
Tmax: upper time bin in s.
Linear: whether the bining is linear or logarithmic. (Default=Log)

◆ Clone()

virtual MureTally * MureTally::Clone ( )
pure virtual

The only good way to call copy constructor.

Implemented in MCNP::Tally, and Serpent::Tally.

◆ GetBin() [1/2]

vector< MureTallyBin * > & MureTally::GetBin ( )
inline

< returns the bin vector

◆ GetBin() [2/2]

MureTallyBin * MureTally::GetBin ( int  i)
inline

< returns the ith bin of the Tally

◆ GetBinVolume()

virtual vector< double > MureTally::GetBinVolume ( int  i)
pure virtual

returns the ith bin volume of Tally bin

Implemented in MCNP::Tally, and Serpent::Tally.

◆ GetMultiplicator()

vector< TallyMultiplicator * > & MureTally::GetMultiplicator ( )
inline

< return Multiplicator vector

◆ GetNewTimeEnergyGrid()

virtual MureTimeEnergyGrid * MureTally::GetNewTimeEnergyGrid ( )
protectedpure virtual

A time &energy grid.

Implemented in MCNP::Tally, and Serpent::Tally.

◆ GetNumber()

int MureTally::GetNumber ( )
inline

< returns Tally number (in Serpent, it is the tally name, in MCNP the tally number)

◆ GetType()

int MureTally::GetType ( )
inline

< returns the Tally type (1, 2 for surface tally, 4, .. for cell tally)

◆ IsInTallyBin() [1/3]

int MureTally::IsInTallyBin ( Cell C)

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

◆ IsInTallyBin() [2/3]

int MureTally::IsInTallyBin ( int  num)

return the Bin number containing the Cell/Surface "num"

◆ IsInTallyBin() [3/3]

int MureTally::IsInTallyBin ( Shape_ptr  S)

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

◆ IsMaterialUsed()

bool MureTally::IsMaterialUsed ( int  num)
protected

◆ IsPinCellTally()

bool MureTally::IsPinCellTally ( )
inline

< return true for a tally built from a PinCell

◆ IsPrintable()

bool MureTally::IsPrintable ( )
inline

< True for printable tallies (private used)

◆ IsVolumeCalculationSkept()

bool MureTally::IsVolumeCalculationSkept ( )
inline

< Whether or not try to calculate Volume/Surface

◆ NeedVolume()

bool MureTally::NeedVolume ( )

Whether or not a stochastic volume/surface calculation is needed.

◆ Print()

virtual string MureTally::Print ( )
pure virtual

Implemented in MCNP::Tally, and Serpent::Tally.

◆ PrintDebugET()

string MureTally::PrintDebugET ( )

◆ PrintMultiplicator()

virtual string MureTally::PrintMultiplicator ( )
pure virtual

Implemented in MCNP::Tally, and Serpent::Tally.

◆ SetBinVolume()

virtual void MureTally::SetBinVolume ( int  i,
double  V,
int  k = 0 
)
pure virtual

set the ith bin volume of (the kth partial bin in a LatticeBin) Tally bin

Implemented in MCNP::Tally, and Serpent::Tally.

◆ SetComment()

void MureTally::SetComment ( string  str)
inline

< Set the tally comment (Added by T. Courau)

◆ SetNumber()

void MureTally::SetNumber ( int  num)
inline

< returns Tally number (in Serpent, it is the tally name, in MCNP the tally number)

◆ SetPinCellTally()

void MureTally::SetPinCellTally ( bool  flag)
inline

< set that this tally is from a PinCell

◆ SetPrintable()

void MureTally::SetPrintable ( bool  flag = true)
inline

< True for printable tallies (private used)

◆ SetType()

void MureTally::SetType ( int  type)
inline

< returns the Tally type (1, 2 for surface tally, 4, .. for cell tally)

◆ SkipVolumeCalculation()

void MureTally::SkipVolumeCalculation ( )
inline

< Do not try to calculate Volume/Surface

Member Data Documentation

◆ fBin

vector< MureTallyBin *> MureTally::fBin
protected

array of Cell/Surface bin

◆ fComment

string MureTally::fComment
protected

Tally coment (Added by T. Courau)

◆ fIsPinCellTally

bool MureTally::fIsPinCellTally
protected

flag to know whether the tally is from PinCell

◆ fIsPrintable

bool MureTally::fIsPrintable
protected

True for not printable tallies.

◆ fMultiplicator

vector< TallyMultiplicator *> MureTally::fMultiplicator
protected

array of Multiplicator bin

◆ fNumber

int MureTally::fNumber
protected

Tally number.

◆ fSkipVolumeCalc

bool MureTally::fSkipVolumeCalc
protected

flag to know whether or not try to calculate Volume/Surface

◆ fTimeEnergyGrid

MureTimeEnergyGrid* MureTally::fTimeEnergyGrid
protected

store time &/or energy grid

◆ fType

int MureTally::fType
protected

Tally type.


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

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