|
MURE
|
#include <MCNPTally.hxx>
Public Member Functions | |
| Tally (int type=kCellFlux, const char *particle="N") | |
| Tally (int type, int particle) | |
| Tally (const Tally &t) | |
| Copy constructor. | |
| Tally * | Clone () 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 MCNP. | |
| string | PrintMultiplicator () override |
| Print the Tally Multiplicator in MCNP. | |
| void | SetTallySpecialTreatment (string Treatment) |
| 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 | SetParticleP () |
| void | SetParticleNP () |
| void | SetParticleNE () |
| void | SetParticleNPE () |
| void | SetParentheses (bool flag=true) |
| vector< double > | GetEnergyBinningVector () |
Public Member Functions inherited from MureTally | |
| 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 | |
| TimeEnergyGrid * | GetNewTimeEnergyGrid () override |
| return a Time &Energy grid | |
Protected Member Functions inherited from MureTally | |
| bool | IsMaterialUsed (int num) |
| virtual MureTimeEnergyGrid * | GetNewTimeEnergyGrid ()=0 |
| A time &energy grid. | |
Private Attributes | |
| string | fParticle |
| Particle Type (N, P, ..) | |
| bool | fParentheses |
| Enclose bins in parentheses. | |
| 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) | |
| vector< double > | fEnergy |
| Energy bin vector. | |
| vector< double > | fConversionFactor |
| fluence-to-dose conversion factor (FTD) | |
| bool | fELinearFTD |
| whether linear or log interpolation is done on fEnergy for FTD | |
| bool | fCFLinearFTD |
| whether linear or log interpolation is done on FTD | |
| string | fTallySpecialTreatment |
Additional Inherited Members | |
Public Types inherited from MureTally | |
| typedef MureTimeEnergyGrid::BinRange | ETBinRange |
Protected Attributes inherited from MureTally | |
| 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 | |
Tallies are needed to stored informations in MCNP.
Default is Cell Flux Tally for neutron (F4:N).
| MCNP::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 flux 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 |
| MCNP::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 flux 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 |
| MCNP::Tally::Tally | ( | const Tally & | t | ) |
Copy constructor.
|
overridedefault |
Destructor.
| void MCNP::Tally::AddFluenceToDoseConversion | ( | bool | ELinear = false, |
| bool | CFLinear = false |
||
| ) |
Convert flux to dose rate.
Conversion factors are read from SMURE/data/XXXFluenceToDose.dat where XXXX stand for Gamma or Neutron. These factors are taken from ICRP 116 (Antero-posterior irradiation). The units for these factors are pSv.cm2.
The MCNP result X of the tally is thus in pSv/source particle. To obtain the effective dose, you have to multiply this value by the source intensity I (in particle/s), e.g.:



| 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) |
|
inlineoverridevirtual |
The only good way to call copy constructor.
Implements MureTally.
| double MCNP::Tally::GetBinSurface | ( | int | i | ) |
returns the ith bin surface of Tally bin
|
overridevirtual |
|
inline |
< return the vector of energy bins
|
overrideprotectedvirtual |
return a Time &Energy grid
Implements MureTally.
|
inline |
< return particle type (neutron, ...)
|
overridevirtual |
| void MCNP::Tally::SetBinSurface | ( | int | i, |
| double | S | ||
| ) |
set the ith bin surface of Tally bin
|
overridevirtual |
set the ith bin volume of (the kth partial bin in a LatticeBin) Tally bin
Implements MureTally.
|
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 |
< Set the particle to Photon
|
inline |
Set Special Treatment for tallies. In MCNP, this is done via the FT card associated to a tally.
For example to add a Gaussian Energy Broadening for a type 8 tally:
where the FWHM=a+b*sqrt(E+c*E^2) and E is in MeV.
|
private |
whether linear or log interpolation is done on FTD
|
private |
fluence-to-dose conversion factor (FTD)
|
private |
whether linear or log interpolation is done on fEnergy for FTD
|
private |
Energy bin vector.
|
private |
Enclose bins in parentheses.
|
private |
Particle Type (N, P, ..)
|
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 |