MURE
|
Define a MURE Tally.abstract class. More...
#include <MureTally.hxx>
Public Types | |
typedef MureTimeEnergyGrid::BinRange | ETBinRange |
Public Member Functions | |
MureTally () | |
MureTally (const MureTally &t) | |
Copy constructor. | |
virtual MureTally * | Clone ()=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 () |
MureTallyBin * | GetBin (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 MureTimeEnergyGrid * | GetNewTimeEnergyGrid ()=0 |
A time &energy grid. | |
Protected Attributes | |
int | fType |
Tally type. | |
int | fNumber |
Tally number. | |
vector< TallyMultiplicator * > | fMultiplicator |
array of Multiplicator bin | |
MureTimeEnergyGrid * | fTimeEnergyGrid |
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 | |
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.
MureTally::MureTally | ( | ) |
Constructor of a Tally.
MureTally::MureTally | ( | const MureTally & | t | ) |
Copy constructor.
|
virtual |
Destructor.
void MureTally::Add | ( | Cell * | C, |
bool | SetCellTally = true |
||
) |
Add a cell bin.
void MureTally::Add | ( | int | universe | ) |
add a univers bin
void MureTally::Add | ( | MureTallyBin * | theTallyBin | ) |
add a bin from an existing tally bin
void MureTally::Add | ( | PinCell * | C, |
int | i, | ||
bool | SetCellTally = true |
||
) |
Add a cell bin using a given layer of PinCell.
void MureTally::Add | ( | Shape_ptr | S | ) |
add a surface bin
|
inline |
< add a Tally Multiplicator
void MureTally::AddEnergy | ( | double | Emin, |
double | Emax, | ||
int | N_by_Decade = 10 |
||
) |
Add a Logaritmic Energy binning.
Emin | : lower energy bin in eV. |
Emax | : upper energy bin in eV. |
N_by_Decade | : number of bin in each decade |
void MureTally::AddEnergy | ( | int | NE, |
double * | E | ||
) |
Add a Energy binning.
NE | : number of energy bin |
E | : array of energy bin in eV. |
void MureTally::AddEnergy | ( | int | NE, |
double | Emin, | ||
double | Emax, | ||
bool | Linear = false |
||
) |
Add a Energy binning.
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) |
void MureTally::AddEnergy | ( | vector< double > | E | ) |
Add a Energy binning.
E | : vector of energy bin in eV. |
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 to with
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.
Emin | : lower energy bin in eV. |
Emax | : upper energy bin in eV. |
decad_mult | : multiplier of bin/decade in each range. |
void MureTally::AddMultiplicator | ( | int | M, |
int | R, | ||
double | constant | ||
) |
add a Tally Multiplicator
void MureTally::AddMultiplicator | ( | Material * | M, |
int | reaction, | ||
double | constant = 1 |
||
) |
add a Tally Multiplicator
add a Tally Multiplicator
void MureTally::AddTime | ( | double | Tmin, |
double | Tmax, | ||
int | N_by_Decade = 10 |
||
) |
Add a Logaritmic Time binning.
Tmin | : lower time bin in s. |
Tmax | : upper time bin in s. |
N_by_Decade | : number of bin in each decade |
void MureTally::AddTime | ( | int | NT, |
double * | T | ||
) |
Add a Time binning.
NT | : number of time bin |
T | : array of time bin in s. |
void MureTally::AddTime | ( | int | NT, |
double | Tmin, | ||
double | Tmax, | ||
bool | Linear = false |
||
) |
Add a Time binning.
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) |
|
pure virtual |
The only good way to call copy constructor.
Implemented in MCNP::Tally, and Serpent::Tally.
|
inline |
< returns the bin vector
|
inline |
< returns the ith bin of the Tally
|
pure virtual |
returns the ith bin volume of Tally bin
Implemented in MCNP::Tally, and Serpent::Tally.
|
inline |
< return Multiplicator vector
|
protectedpure virtual |
A time &energy grid.
Implemented in MCNP::Tally, and Serpent::Tally.
|
inline |
|
inline |
< returns the Tally type (1, 2 for surface tally, 4, .. for cell tally)
int MureTally::IsInTallyBin | ( | Cell * | C | ) |
whether or not the cell/suface "num" is in the bin
int MureTally::IsInTallyBin | ( | int | num | ) |
return the Bin number containing the Cell/Surface "num"
int MureTally::IsInTallyBin | ( | Shape_ptr | S | ) |
whether or not the cell/suface "num" is in the bin
|
protected |
|
inline |
< return true for a tally built from a PinCell
|
inline |
< True for printable tallies (private used)
|
inline |
< Whether or not try to calculate Volume/Surface
bool MureTally::NeedVolume | ( | ) |
Whether or not a stochastic volume/surface calculation is needed.
|
pure virtual |
Implemented in MCNP::Tally, and Serpent::Tally.
string MureTally::PrintDebugET | ( | ) |
|
pure virtual |
Implemented in MCNP::Tally, and Serpent::Tally.
|
pure virtual |
set the ith bin volume of (the kth partial bin in a LatticeBin) Tally bin
Implemented in MCNP::Tally, and Serpent::Tally.
|
inline |
< Set the tally comment (Added by T. Courau)
|
inline |
|
inline |
< set that this tally is from a PinCell
|
inline |
< True for printable tallies (private used)
|
inline |
< returns the Tally type (1, 2 for surface tally, 4, .. for cell tally)
|
inline |
< Do not try to calculate Volume/Surface
|
protected |
array of Cell/Surface bin
|
protected |
Tally coment (Added by T. Courau)
|
protected |
flag to know whether the tally is from PinCell
|
protected |
True for not printable tallies.
|
protected |
array of Multiplicator bin
|
protected |
Tally number.
|
protected |
flag to know whether or not try to calculate Volume/Surface
|
protected |
store time &/or energy grid
|
protected |
Tally type.