#include <Tally.hxx>
Public Member Functions | |
| Tally (int type=kCellFlux, const char *particle="N") | |
| Tally (int type, int particle) | |
| Tally (const Tally &t) | |
| Copy constructor. More... | |
| Tally * | Clone () |
| ~Tally () | |
| Destructor. More... | |
| void | Add (Cell *C) |
| add a simple Cell to Tally bin More... | |
| void | Add (Shape_ptr S) |
| add a surface to Tally bin (F1 and F2 only) More... | |
| void | Add (TallyBin *theTallyBin) |
| add general TallyBin to Tally bin More... | |
| void | Add (int universe) |
| add a universe shorthand (Cell Type only) More... | |
| void | Add (TallyFM *FM) |
| add a Tally Multiplicator More... | |
| void | AddMultiplicator (Material *M, int reaction, double constant=1) |
| add a Tally Multiplicator (see TallyFM) More... | |
| void | AddMultiplicator (Material *M, Reaction *R, double constant=1) |
| add a Tally Multiplicator (see TallyFM) More... | |
| 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) |
| 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 | AddFluenceToDoseConversion (bool ELinear=false, bool CFLinear=false) |
| string | Print () |
| Print the Tally in MCNP. More... | |
| string | PrintFM () |
| Print the Tally Multiplicator in MCNP. More... | |
| void | PrintET (ofstream &Out) |
| Print the Tally Energy and/or Time binning in MCNP. More... | |
| bool | NeedVolume () |
| Whether or not a stochastic volume/surface calculation is needed. More... | |
| int | GetNumber () |
| returns Tally number (1,11,21,...,4,14...) More... | |
| vector< double > | GetBinVolume (int i) |
| returns the ith bin volume of Tally bin More... | |
| double | GetBinSurface (int i) |
| returns the ith bin surface of Tally bin More... | |
| void | SetBinSurface (int i, double S) |
| set the ith bin surface of Tally bin More... | |
| void | SetBinVolume (int i, double V, int k=0) |
| set the ith bin volume of (the kth partial bin in a LatticeBin) Tally bin More... | |
| TallyBin * | GetBin (int i) |
| returns the ith bin of the Tally More... | |
| vector< TallyBin * > & | GetBin () |
| returns the bin vector More... | |
| int | GetType () |
| returns the Tally type (1,2 for surface tally, 4,.. for cell tally) More... | |
| void | SetType (int type) |
| returns the Tally type (1,2 for surface tally, 4,.. for cell tally) More... | |
| int | IsInTallyBin (int num) |
| return the Bin number containing the Cell/Surface "num" More... | |
| string | GetParticle () |
| return particle type (neutron,...) More... | |
| void | SkipVolumeCalculation () |
| Do not try to calculate Volume/Surface. More... | |
| bool | IsVolumeCalculationSkept () |
| Whether or not try to calculate Volume/Surface. More... | |
| void | SetParticleN () |
| Set the particle to Neutron. More... | |
| void | SetParticleNP () |
| Set the particle to Neutron and Photon. More... | |
| void | SetParticleNE () |
| Set the particle to Neutron and Electron. More... | |
| void | SetParticleNPE () |
| Set the particle to Neutron, Photon and Electron. More... | |
| void | SetComment (string str) |
| Set the tally comment (Added by T. Courau) More... | |
| void | SetParentheses (bool flag=true) |
| Put parentheses arround cell/surf bin to obtain 1 result (like GroupBin) More... | |
| vector< TallyFM * > & | GetMultiplicator () |
| return Multiplicator vector More... | |
| vector< double > | GetEnergyBinningVector () |
| return the vector of energy bins More... | |
| void | SetETBinForAllTallies (bool flag=true) |
| Set Energy/time binning for all tallies (E0 or T0 in MCNP) More... | |
| void | SetNotPrintable (bool flag=true) |
| True for not printable tallies (private used) More... | |
Private Attributes | |
| int | fType |
| Tally type. More... | |
| int | fNumber |
| Tally number. More... | |
| string | fParticle |
| Particle Type (N,P,..) More... | |
| int | fLinearT |
| Number of time bins for linear binning (0 when non-linear) More... | |
| vector< double > | fT |
| array of [fNT+1] Time bins More... | |
| int | fLinearE |
| Number of energy bins for linear binning (0 when non-linear) More... | |
| vector< double > | fE |
| vector of Energy bins More... | |
| vector< TallyBin * > | fBin |
| array of Cell/Surface bin More... | |
| vector< TallyFM * > | fMultiplicator |
| array of Multiplicator bin More... | |
| bool | fSkipVolumeCalc |
| flag to know whether or not try to calculate Volume/Surface More... | |
| string | fComment |
| Tally coment (Added by T. Courau) More... | |
| bool | fParentheses |
| Enclose bins in parentheses. More... | |
| bool | fETBinForAllTallies |
| true Energy/time binning for all tallies (E0 or T0 in MCNP) More... | |
| bool | fNotPrintable |
| True for not printable tallies. More... | |
| bool | fStar |
| true if fType<0 use if you want to print a * before f (for instance *f8:P change the unit of the tally from pulse to MeV see mcnp manuel I (added by Leniau B) More... | |
| vector< double > | fEnergy |
| Energy bin vector. More... | |
| vector< double > | fConversionFactor |
| fluence-to-dose conversion factor (FTD) More... | |
| bool | fELinearFTD |
| whether linear or log interpolation is done on fEnergy for FTD More... | |
| bool | fCFLinearFTD |
| whether linear or log interpolation is done on FTD More... | |
Define a MCNP Tally.
Tallies are needed to stored informations in MCNP.
Default is Cell Flux Tally for neutron (F4:N).
| Tally::Tally | ( | int | type = kCellFlux, |
| const char * | particle = "N" |
||
| ) |
Constructor of a Tally.
| type | : type of the Tally: if type < 0, the units are *F units (have a look in MCNP Manual) kSurfaceCurrent : for current through a surface (F1 type) kSurfaceFlux : for flux through a surface (F2 type) kCellFlux : for current in a Cell (F4 type). This is the Default kEnergyDeposition : for energy deposition in a Cell (F6 type). kFissionEnergyDeposition : for fission energy deposition in a Cell (F7 type). |
| particle | : 'N' (Default) for neutron, 'E' for electron, and 'P' for photon |
| Tally::Tally | ( | int | type, |
| int | particle | ||
| ) |
Constructor of a Tally.
| type | : type of the Tally: if type < 0, the units are *F units (have a look in MCNP Manual) kSurfaceCurrent : for current through a surface (F1 type) kSurfaceFlux : for flux through a surface (F2 type) kCellFlux : for current in a Cell (F4 type). This is the Default kEnergyDeposition : for energy deposition in a Cell (F6 type). kFissionEnergyDeposition : for fission energy deposition in a Cell (F7 type). |
| particle | : 1 (Default) for neutron, 3 for electron, and 2 for photon |
| Tally::Tally | ( | const Tally & | t | ) |
Copy constructor.
| Tally::~Tally | ( | ) |
Destructor.
| void Tally::Add | ( | int | universe | ) |
add a universe shorthand (Cell Type only)
| void Tally::AddEnergy | ( | int | NE, |
| double * | E | ||
| ) |
Add a Energy binning.
| NE | : number of energy bin |
| E | : array of energy bin in eV. WARNING E must be of size NE+1 |
| void Tally::AddEnergy | ( | vector< double > | E | ) |
Add a Energy binning.
| E | : vector of energy bin in eV. |
| void Tally::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 Tally::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 Tally::AddFluenceToDoseConversion | ( | bool | ELinear = false, |
| bool | CFLinear = false |
||
| ) |
Convert flux to dose rate (rem/h)
| 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) |
| void Tally::AddMultiGroupEnergy | ( | double | Emin, |
| double | Emax, | ||
| double | decad_mult = 1 |
||
| ) |
Add a Logaritmic Energy binning for Multigroup run.
| Emin | : lower energy bin in eV. |
| Emax | : upper energy bin in eV. |
| decad_mult | : multiplier of bin/decade in each range. |
| void Tally::AddMultiplicator | ( | Material * | M, |
| int | reaction, | ||
| double | constant = 1 |
||
| ) |
| void Tally::AddTime | ( | int | NT, |
| double * | T | ||
| ) |
Add a Time binning.
| NT | : number of time bin |
| T | : array of time bin in s. WARNING T must be of size NT+1 |
| void Tally::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) |
| void Tally::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 |
|
inline |
|
inline |
returns the bin vector
| double Tally::GetBinSurface | ( | int | i | ) |
returns the ith bin surface of Tally bin
| vector< double > Tally::GetBinVolume | ( | int | i | ) |
returns the ith bin volume of Tally bin
|
inline |
return the vector of energy bins
|
inline |
return Multiplicator vector
|
inline |
returns Tally number (1,11,21,...,4,14...)
|
inline |
return particle type (neutron,...)
|
inline |
returns the Tally type (1,2 for surface tally, 4,.. for cell tally)
| int Tally::IsInTallyBin | ( | int | num | ) |
return the Bin number containing the Cell/Surface "num"
|
inline |
Whether or not try to calculate Volume/Surface.
| bool Tally::NeedVolume | ( | ) |
Whether or not a stochastic volume/surface calculation is needed.
| string Tally::Print | ( | ) |
Print the Tally in MCNP.
| void Tally::PrintET | ( | ofstream & | Out | ) |
Print the Tally Energy and/or Time binning in MCNP.
| string Tally::PrintFM | ( | ) |
Print the Tally Multiplicator in MCNP.
| void Tally::SetBinSurface | ( | int | i, |
| double | S | ||
| ) |
set the ith bin surface of Tally bin
| void Tally::SetBinVolume | ( | int | i, |
| double | V, | ||
| int | k = 0 |
||
| ) |
set the ith bin volume of (the kth partial bin in a LatticeBin) Tally bin
|
inline |
Set the tally comment (Added by T. Courau)
|
inline |
Set Energy/time binning for all tallies (E0 or T0 in MCNP)
|
inline |
True for not printable tallies (private used)
|
inline |
Put parentheses arround cell/surf bin to obtain 1 result (like GroupBin)
|
inline |
Set the particle to Neutron.
|
inline |
Set the particle to Neutron and Electron.
|
inline |
Set the particle to Neutron and Photon.
|
inline |
Set the particle to Neutron, Photon and Electron.
|
inline |
returns the Tally type (1,2 for surface tally, 4,.. for cell tally)
|
inline |
Do not try to calculate Volume/Surface.
|
private |
array of Cell/Surface bin
|
private |
whether linear or log interpolation is done on FTD
|
private |
Tally coment (Added by T. Courau)
|
private |
fluence-to-dose conversion factor (FTD)
|
private |
vector of Energy bins
|
private |
whether linear or log interpolation is done on fEnergy for FTD
|
private |
Energy bin vector.
|
private |
true Energy/time binning for all tallies (E0 or T0 in MCNP)
|
private |
Number of energy bins for linear binning (0 when non-linear)
|
private |
Number of time bins for linear binning (0 when non-linear)
|
private |
array of Multiplicator bin
|
private |
True for not printable tallies.
|
private |
Tally number.
|
private |
Enclose bins in parentheses.
|
private |
Particle Type (N,P,..)
|
private |
flag to know whether or not try to calculate Volume/Surface
|
private |
true if fType<0 use if you want to print a * before f (for instance *f8:P change the unit of the tally from pulse to MeV see mcnp manuel I (added by Leniau B)
|
private |
array of [fNT+1] Time bins
|
private |
Tally type.