34 TallyBin(
int celltype, vector<double> vol,
double surf);
49 virtual string Print(
int BeforeRparenthesis=0){
return "";}
50 virtual string PrintVolume();
54 virtual bool NeedVolume(){
if(fCellType)
return (fVolume[0]==-1);
else return false;}
76 void SetSurface(
double S,
bool Inc=
false);
87 void SetVolume(
double V,
int i=0,
bool Inc=
false);
88 virtual bool IsInBin(
int num){
return false;}
89 void SetBinVolume(vector<double> V);
122 string Print(
int BeforeRparenthesis=0);
123 string PrintVolume();
124 bool IsInBin(
int num);
158 void Add(
int universe);
159 string Print(
int BeforeRparenthesis=0);
160 bool IsInBin(
int num);
197 void Add(
Cell *C,
int InclusionLevel=0,
string pos =
"");
205 void Add(
TallyBin *theTallyBin,
int InclusionLevel=0);
206 void Add(
int universe,
int InclusionLevel=0);
207 void AddContainer(
Cell *C,
string pos =
"");
208 void AddContainer(
TallyBin *theTallyBin);
209 void AddContainer(
int universe);
210 string Print(
int BeforeRparenthesis=0);
211 string PrintVolume();
212 bool IsInBin(
int num);
239 void Multiply(
int code);
242 bool operator==(
const Reaction r)
const ;
289 TallyFM(
int MatNumber,
int reaction,
double constant=1);
306 void Init(
int MatNumber,
Reaction *R,
double constant=1);
352 Tally(
int type,
int particle);
360 void Add(
int universe);
362 void AddMultiplicator(
Material *M,
int reaction,
double constant=1);
370 void AddEnergy(
int NE,
double *E);
376 void AddEnergy(vector<double>E);
385 void AddEnergy(
int NE,
double Emin,
double Emax,
bool Linear=
false);
393 void AddEnergy(
double Emin,
double Emax,
int N_by_Decade=10);
401 void AddMultiGroupEnergy(
double Emin,
double Emax,
double decad_mult=1);
408 void AddTime(
int NT,
double *T);
417 void AddTime(
int NT,
double Tmin,
double Tmax,
bool Linear=
false);
426 void AddTime(
double Tmin,
double Tmax,
int N_by_Decade=10);
433 void AddFluenceToDoseConversion(
bool ELinear=
false,
bool CFLinear=
false);
437 void PrintET(ofstream &Out);
442 vector<double> GetBinVolume(
int i);
443 double GetBinSurface(
int i);
444 void SetBinSurface(
int i,
double S);
445 void SetBinVolume(
int i,
double V,
int k=0);
447 vector<TallyBin*> &
GetBin(){
return fBin;}
450 int IsInTallyBin(
int num);
vector< TallyBin * > fBin
array of Cell/Surface bin
Definition: Tally.hxx:474
virtual ~SimpleBin()
Destructor.
Definition: Tally.hxx:116
virtual bool IsSimpleBin()
if the TallyBin is a SimpleBin
Definition: Tally.hxx:41
A Cell is a MCNP cell.
Definition: Cell.hxx:48
bool fCFLinearFTD
whether linear or log interpolation is done on FTD
Definition: Tally.hxx:485
bool IsGroupBin()
This is a GroupBin.
Definition: Tally.hxx:154
void AddSurface(int num)
Set the number of the surface for the above Constructor.
Definition: Tally.hxx:118
vector< int > GetCode()
return the reaction code array
Definition: Tally.hxx:241
int fLinearT
Number of time bins for linear binning (0 when non-linear)
Definition: Tally.hxx:470
vector< TallyBin * > & GetBin()
returns the bin vector
Definition: Tally.hxx:447
TallyBin * Clone()
Clone method.
Definition: Tally.hxx:115
TallyBin * Clone()
Clone method.
Definition: Tally.hxx:151
vector< double > GetVolume()
retruns the bin volume vector.
Definition: Tally.hxx:59
TallyType
Define tally type according to MCNP notation (1=Current/surf, 2=flux/surf, 4=flux/cell,...)
Definition: Tally.hxx:14
bool fNotPrintable
True for not printable tallies.
Definition: Tally.hxx:480
void SetComment(string str)
Set the tally comment (Added by T. Courau)
Definition: Tally.hxx:458
Define a Tally Multiplicator entry (FM card in MCNP).
Definition: Tally.hxx:254
vector< TallyBin * > fBin
the TallyBin vector
Definition: Tally.hxx:164
int GetNumber()
returns Tally number (1,11,21,...,4,14...)
Definition: Tally.hxx:441
void SetParticleNE()
Set the particle to Neutron and Electron.
Definition: Tally.hxx:456
Reaction(int code)
Build a Reaction with a given code.
Definition: Tally.hxx:237
vector< double > GetEnergyBinningVector()
return the vector of energy bins
Definition: Tally.hxx:462
virtual bool IsGroupBin()
if the TallyBin is a GroupBin
Definition: Tally.hxx:42
bool fELinearFTD
whether linear or log interpolation is done on fEnergy for FTD
Definition: Tally.hxx:484
double fConstant
multiplicative constant of the FM
Definition: Tally.hxx:307
vector< bool > fIsBinUniverse
flag to know if an element of fBin corresponds to a universe
Definition: Tally.hxx:128
bool fETBinForAllTallies
true Energy/time binning for all tallies (E0 or T0 in MCNP)
Definition: Tally.hxx:479
string fComment
Tally coment (Added by T. Courau)
Definition: Tally.hxx:477
vector< vector< bool > > fHasPosition
flag to know if a given cell has restricted positions in a lattice
Definition: Tally.hxx:218
void SetType(int type)
returns the Tally type (1,2 for surface tally, 4,.. for cell tally)
Definition: Tally.hxx:449
int fNumber
Tally number.
Definition: Tally.hxx:468
TallyBin * GetBin(int i)
returns the ith bin of the Tally
Definition: Tally.hxx:446
Define Lattice Cell type bin.
Definition: Tally.hxx:179
int GetCellType()
returns -1, 0, 1 in function of the bin type.
Definition: Tally.hxx:48
Define group a cell or surface bin.
Definition: Tally.hxx:143
Define a general MCNP Tally Bin (cell or surface).
Definition: Tally.hxx:31
vector< vector< string > > fPosition
array of the positions of each cell in each level.
Definition: Tally.hxx:219
void Add(TallyFM *FM)
add a Tally Multiplicator
Definition: Tally.hxx:361
bool IsVolumeCalculationSkept()
Whether or not try to calculate Volume/Surface.
Definition: Tally.hxx:453
vector< double > fE
vector of Energy bins
Definition: Tally.hxx:473
Define a MCNP Tally.
Definition: Tally.hxx:324
bool fStar
true if fType<0 use if you want to print a * before f (for instance *f8:P change the unit of the tall...
Definition: Tally.hxx:481
void SetNotPrintable(bool flag=true)
True for not printable tallies (private used)
Definition: Tally.hxx:464
vector< int > fCode
the reaction code list
Definition: Tally.hxx:244
vector< double > fT
array of [fNT+1] Time bins
Definition: Tally.hxx:471
bool fParentheses
Enclose bins in parentheses.
Definition: Tally.hxx:478
Tally * Clone()
Definition: Tally.hxx:354
int GetNumberOfVolume()
Definition: Tally.hxx:66
virtual bool IsInBin(int num)
whether or not the cell/suface "num" is in the tally bin
Definition: Tally.hxx:88
string fParticle
Particle Type (N,P,..)
Definition: Tally.hxx:469
virtual string Print(int BeforeRparenthesis=0)
Print the TallyBin in MCNP.
Definition: Tally.hxx:49
int fMatNumber
Material Number of the FM.
Definition: Tally.hxx:308
TallyBin * Clone()
Clone method.
Definition: Tally.hxx:187
Define a Reaction list for Tally multiplicator inputs.
Definition: Tally.hxx:233
vector< vector< TallyBin * > > fLevel
array of array of TallyBin.
Definition: Tally.hxx:217
vector< TallyFM * > & GetMultiplicator()
return Multiplicator vector
Definition: Tally.hxx:460
void SetParticleNPE()
Set the particle to Neutron, Photon and Electron.
Definition: Tally.hxx:457
bool fSkipVolumeCalc
flag to know whether or not try to calculate Volume/Surface
Definition: Tally.hxx:476
double GetSurface()
retruns the bin surface
Definition: Tally.hxx:65
vector< TallyFM * > fMultiplicator
array of Multiplicator bin
Definition: Tally.hxx:475
int fCellType
type of the bin (-1=unknown, 0=surface, 1=cell)
Definition: Tally.hxx:92
void SetETBinForAllTallies(bool flag=true)
Set Energy/time binning for all tallies (E0 or T0 in MCNP)
Definition: Tally.hxx:463
vector< double > fConversionFactor
fluence-to-dose conversion factor (FTD)
Definition: Tally.hxx:483
double GetVolume(int i)
retruns the ith bin volume vector.
Definition: Tally.hxx:64
int fLinearE
Number of energy bins for linear binning (0 when non-linear)
Definition: Tally.hxx:472
string GetParticle()
return particle type (neutron,...)
Definition: Tally.hxx:451
A Material constituing a Cell.
Definition: Material.hxx:53
virtual ~TallyBin()
Definition: Tally.hxx:38
vector< double > fEnergy
Energy bin vector.
Definition: Tally.hxx:482
virtual bool IsLatticeBin()
Definition: Tally.hxx:43
double fSurface
bin surface
Definition: Tally.hxx:94
void SetParentheses(bool flag=true)
Put parentheses arround cell/surf bin to obtain 1 result (like GroupBin)
Definition: Tally.hxx:459
virtual bool NeedVolume()
Definition: Tally.hxx:54
vector< vector< TallyBin * > > GetLevelVector()
Returns the fLevel vector, (used in Tally::SetBinVolume();)
Definition: Tally.hxx:214
vector< double > fVolume
bin volume vector (1 value except for LatticeBin or Universe)
Definition: Tally.hxx:93
bool IsSimpleBin()
This is a SimpleBin.
Definition: Tally.hxx:121
Define a Simple Bin.
Definition: Tally.hxx:107
vector< char > fOperator
the operator list (":" for addition, " " for multiplicatio)
Definition: Tally.hxx:245
int GetType()
returns the Tally type (1,2 for surface tally, 4,.. for cell tally)
Definition: Tally.hxx:448
int GetMaterial()
Definition: Tally.hxx:303
virtual TallyBin * Clone()
Destructor.
Definition: Tally.hxx:39
Reaction * fReaction
Reaction of the FM.
Definition: Tally.hxx:309
void SetParticleN()
Set the particle to Neutron.
Definition: Tally.hxx:454
void SkipVolumeCalculation()
Do not try to calculate Volume/Surface.
Definition: Tally.hxx:452
void SetParticleNP()
Set the particle to Neutron and Photon.
Definition: Tally.hxx:455
bool IsLatticeBin()
This is a LatticeBin.
Definition: Tally.hxx:189
int fType
Tally type.
Definition: Tally.hxx:467
vector< int > fBin
the cell number or surface number(s)
Definition: Tally.hxx:127