MURE
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Private Attributes | Static Private Attributes | List of all members
Serpent::Tally Class Reference

Define a Serpent Tally simple bin. More...

#include <SerpentTally.hxx>

Inheritance diagram for Serpent::Tally:
MureTally

Public Types

typedef MureGroupBin GroupBin
 not implemented in Serpent
 
typedef MureLatticeBin LatticeBin
 not implemented in MURE
 
- Public Types inherited from MureTally
typedef MureTimeEnergyGrid::BinRange ETBinRange
 

Public Member Functions

 Tally (int type=kCellFlux, const char *particle="N")
 
 Tally (int type, int particle)
 
 Tally (const Tally &t)
 Copy constructor.
 
TallyClone () override
 The only good way to call copy constructor.
 
 ~Tally () override=default
 Destructor.
 
void AddFluenceToDoseConversion (bool ELinear=false, bool CFLinear=false)
 
string Print () override
 Print the Tally in Serpent.
 
string PrintMultiplicator () override
 Print the Tally Multiplicator in Serpent.
 
vector< double > GetBinVolume (int i) override
 returns the ith bin volume of Tally bin
 
double GetBinSurface (int i)
 returns the ith bin surface of Tally bin
 
void SetBinSurface (int i, double S)
 set the ith bin surface of Tally bin
 
void SetBinVolume (int i, double V, int k=0) override
 set the ith bin volume of (the kth partial bin in a LatticeBin) Tally bin
 
string GetParticle ()
 
void SetParticleN ()
 
void SetParticleNP ()
 
void SetParticleNE ()
 
void SetParticleNPE ()
 
void SetParentheses (bool flag=true)
 
- Public Member Functions inherited from MureTally
 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

TimeEnergyGridGetNewTimeEnergyGrid () override
 return a Time &Energy grid
 
- Protected Member Functions inherited from MureTally
bool IsMaterialUsed (int num)
 
virtual MureTimeEnergyGridGetNewTimeEnergyGrid ()=0
 A time &energy grid.
 

Private Attributes

string fParticle
 Particle Type (N, P, ..)
 
bool fParentheses
 Enclose bins in parentheses.
 
bool fETBinForAllTallies
 true Energy/time binning for all tallies (E0 or T0 in Serpent)
 
vector< double > fEnergy
 Energy bin vector.
 

Static Private Attributes

static const string NAME_PREFIX = "d"
 a string before the tally number for the tally name; e.g. "d"=> "d1"
 

Additional Inherited Members

- Protected Attributes inherited from MureTally
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 Serpent Tally simple bin.

Tallies are Serpent detectors ; they are needed to stored informations in Serpent.

Default is Cell Flux detectors.

To be noticed:

Author
J.Hajnrych
PTO
Version
1.0

Member Typedef Documentation

◆ GroupBin

not implemented in Serpent

◆ LatticeBin

not implemented in MURE

Constructor & Destructor Documentation

◆ Tally() [1/3]

Serpent::Tally::Tally ( int  type = kCellFlux,
const char *  particle = "N" 
)

Constructor of a Tally.

Parameters
type: type of the Tally:

kSurfaceCurrent : for current through a surface kSurfaceFlux : for flux through a surface kCellFlux : for flux in a Cell . This is the Default

Parameters
particle: 'N' (Default) for neutron, 'E' for electron, and 'P' for photon

◆ Tally() [2/3]

Serpent::Tally::Tally ( int  type,
int  particle 
)

Constructor of a Tally.

Parameters
type: type of the Tally: kSurfaceCurrent : for current through a surface (F1 type) kSurfaceFlux : for flux through a surface (F2 type) kCellFlux : for flux in a Cell (F4 type). This is the Default
particle: 1 (Default) for neutron, 3 for electron, and 2 for photon

◆ Tally() [3/3]

Serpent::Tally::Tally ( const Tally t)

Copy constructor.

◆ ~Tally()

Serpent::Tally::~Tally ( )
overridedefault

Destructor.

Member Function Documentation

◆ AddFluenceToDoseConversion()

void Serpent::Tally::AddFluenceToDoseConversion ( bool  ELinear = false,
bool  CFLinear = false 
)

Convert flux to dose rate (rem/h)

Parameters
ELinear: true if the interpolation in Energy is Linear.Default : false (Log interpolation) .
CFLinear: true if the interpolation in conversion factor is Linear.Default: false (Log interpolation)

◆ Clone()

Tally * Serpent::Tally::Clone ( )
inlineoverridevirtual

The only good way to call copy constructor.

Implements MureTally.

◆ GetBinSurface()

double Serpent::Tally::GetBinSurface ( int  i)

returns the ith bin surface of Tally bin

◆ GetBinVolume()

vector< double > Serpent::Tally::GetBinVolume ( int  i)
overridevirtual

returns the ith bin volume of Tally bin

Implements MureTally.

◆ GetNewTimeEnergyGrid()

TimeEnergyGrid * Serpent::Tally::GetNewTimeEnergyGrid ( )
overrideprotectedvirtual

return a Time &Energy grid

Implements MureTally.

◆ GetParticle()

string Serpent::Tally::GetParticle ( )
inline

< return particle type (neutron, ...)

◆ Print()

string Serpent::Tally::Print ( )
overridevirtual

Print the Tally in Serpent.

Implements MureTally.

◆ PrintMultiplicator()

string Serpent::Tally::PrintMultiplicator ( )
overridevirtual

Print the Tally Multiplicator in Serpent.

Implements MureTally.

◆ SetBinSurface()

void Serpent::Tally::SetBinSurface ( int  i,
double  S 
)

set the ith bin surface of Tally bin

◆ SetBinVolume()

void Serpent::Tally::SetBinVolume ( int  i,
double  V,
int  k = 0 
)
overridevirtual

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

Implements MureTally.

◆ SetParentheses()

void Serpent::Tally::SetParentheses ( bool  flag = true)
inline

< Put parentheses arround cell/surf bin to obtain 1 result (like GroupBin)

◆ SetParticleN()

void Serpent::Tally::SetParticleN ( )
inline

< Set the particle to Neutron

◆ SetParticleNE()

void Serpent::Tally::SetParticleNE ( )
inline

< Set the particle to Neutron and Electron

◆ SetParticleNP()

void Serpent::Tally::SetParticleNP ( )
inline

< Set the particle to Neutron and Photon

◆ SetParticleNPE()

void Serpent::Tally::SetParticleNPE ( )
inline

< Set the particle to Neutron, Photon and Electron

Member Data Documentation

◆ fEnergy

vector< double > Serpent::Tally::fEnergy
private

Energy bin vector.

◆ fETBinForAllTallies

bool Serpent::Tally::fETBinForAllTallies
private

true Energy/time binning for all tallies (E0 or T0 in Serpent)

◆ fParentheses

bool Serpent::Tally::fParentheses
private

Enclose bins in parentheses.

◆ fParticle

string Serpent::Tally::fParticle
private

Particle Type (N, P, ..)

◆ NAME_PREFIX

const string Serpent::Tally::NAME_PREFIX = "d"
staticprivate

a string before the tally number for the tally name; e.g. "d"=> "d1"


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

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