27#include <libValErr/ValErr.hxx>
82 Nucleus(
int aZ,
int aA,
int aI = 0,
bool Moderator = 0,
bool Evolution =
false);
93 Nucleus(
int aZ,
int aA,
int aI,
double T,
bool Moderator = 0,
bool Evolution =
false);
102 Nucleus(
ZAI *zai,
double T,
bool Moderator = 0,
bool Evolution =
false);
127 void SetZAI(
int aZ,
int aA,
int aI);
242 double FindCode(
double Temperature,
string Type,
bool AllWarning =
false);
353 void SetMCSigma2(
int BinNum,
int FMBinNum, ValErr_t xs);
361 void SetMCSigma(
int BinNum,
int FMBinNum, ValErr_t xs);
391 void FindSlope(
int BinNum,
int FMBinNum);
527 ValErr_t
GetMCSigma(
int BinNum,
int ReactionCode);
534 ValErr_t
GetMCSigma2(
int BinNum,
int ReactionCode);
Header file for NucleusMCRecord class.
Reference_ptr< Nucleus > Nucleus_ptr
Definition Nucleus.hxx:46
Header file for TReference class and Reference_ptr template.
Header file for ZAI and ZAIReaction classes.
A Cell is composed from a Shape and a Material.
Definition Cell.hxx:84
A NucleusMCRecord allows to record data for writing &reading reaction rates tallies.
Definition NucleusMCRecord.hxx:54
A real Nucleus with a Temperature.
Definition Nucleus.hxx:71
double GetTotalSigmaPhi(Cell *cell)
returns total sigma*phi of cell
Definition Nucleus.cxx:1259
void SetMCSigma(int BinNum, int FMBinNum, ValErr_t xs)
Set the cross section from the nucleus to its daughter.
Definition Nucleus.cxx:1115
void SetMCSigma2(int BinNum, int FMBinNum, ValErr_t xs)
Set the cross section from the nucleus to its daughter.
Definition Nucleus.cxx:1131
vector< double > GetNuSigmaFisPhi()
Definition Nucleus.hxx:466
string GetModeratorLine()
Definition Nucleus.hxx:151
vector< double > fNuSigmaFisPhi
Nu tot sigma micro phi.
Definition Nucleus.hxx:630
void InitSigmaPhi()
init reaction rate array
Definition Nucleus.cxx:1355
bool fEvolution
whether or not it is an evolutive nucleus
Definition Nucleus.hxx:553
int Z()
Definition Nucleus.hxx:111
void SetZAI(int aZ, int aA, int aI)
set the ZAI *of the Nucleus
Definition Nucleus.cxx:793
ValErr_t GetMCSigma2(Cell *cell, int ReactionCode)
returns the cross-section of the nucleus according to the reaction code.
Definition Nucleus.cxx:1244
void SetXSExtension(string code)
allows user to override the XS id code for MC
Definition Nucleus.cxx:1502
string GetIdCode2()
Returns the alternative Extension of this nucleus.
Definition Nucleus.cxx:1822
bool ** fASK
temporary flag....
Definition Nucleus.hxx:641
void SetAlreadyWarn(bool flag=true)
Definition Nucleus.hxx:434
vector< vector< ValErr_t > > fMCSigma2
Cross-sections.
Definition Nucleus.hxx:626
int NumberOfReactions()
returns the number of different reactions
Definition Nucleus.cxx:1302
vector< vector< ValErr_t > > fMCSigmaPhi
MC Reaction rates.
Definition Nucleus.hxx:598
void FindSmooth(int BinNum, int FMBinNum)
Find the smooth reaction rate for a bin.
Definition Nucleus.cxx:1664
string FindMCCode()
Find the closest MC code of the nucleus.
Definition Nucleus.cxx:597
vector< vector< double > > fIntersept2
intersept to find the sigma*phi extrapolation
Definition Nucleus.hxx:638
string PrintPseudoNucleus(double proportion)
Print the nucleus as a pseudo material nucleus (e.g 1001.60c 0.5 1001.70c 0.5)
Definition Nucleus.cxx:705
int A()
Definition Nucleus.hxx:115
void ClearNucleusMCRecord()
Definition Nucleus.cxx:1271
vector< NucleusMCRecord * > & GetNucleusMCRecord()
Definition Nucleus.hxx:383
void SetFirstTimeReactionAsk2False(int ReactionCode)
Set the fFirstTimeReactionAsk[ReactionCode] to false.
Definition Nucleus.cxx:816
int GetNumberOfMultiplicatorBinInCell(int CellNum)
Definition Nucleus.cxx:1850
string GetBestLine()
Definition Nucleus.hxx:220
string fModeratorLine
XSDIR moderator line.
Definition Nucleus.hxx:561
vector< vector< ValErr_t > > fMCSigmaPhi2
MC Reaction rates.
Definition Nucleus.hxx:605
int fNReaction
Number of different reactions.
Definition Nucleus.hxx:577
void SetXSCode(vector< int > XSC)
Definition Nucleus.hxx:244
double GetSigmaPhi2(Cell *cell, int ReactionCode)
returns the disparition rate of the nucleus according to the reaction code.
Definition Nucleus.cxx:985
void SetPseudoNucleus(bool flag=true)
Definition Nucleus.hxx:456
void SetTemperature(double T)
Definition Nucleus.hxx:140
string Print()
Print MC code and Proportion of the nucleus.
Definition Nucleus.cxx:698
~Nucleus() override
Normal destructor.
Definition Nucleus.cxx:194
vector< vector< double > > fFitSlope
slope to find the sigma*phi extrapolation
Definition Nucleus.hxx:635
vector< vector< ValErr_t > > fMCSigmaPhi3
MC Reaction rates for PCE fit in corrector step.
Definition Nucleus.hxx:613
bool IsDuplicate()
Definition Nucleus.hxx:430
string fBestLine2
Second best line of the BaseSummary.dat for this Nucleus.
Definition Nucleus.hxx:569
bool IsTemperatureEvolution()
say if the nucleus temperature is going to evolved.
Definition Nucleus.hxx:448
string FindMCModeratorName()
find MC moderator name (e.g. grph.01t)
Definition Nucleus.cxx:689
void SetMCSigmaPhi(int BinNum, int FMBinNum, ValErr_t r)
Set the disparition rate from the nucleus to its daughter.
Definition Nucleus.cxx:1062
void FindSlope(int BinNum, int FMBinNum)
Find the reaction rate slope for a bin.
Definition Nucleus.cxx:1510
vector< vector< double > > fIntersept
intersept to find the sigma*phi extrapolation or the Smooth value if used
Definition Nucleus.hxx:636
void SetMCSigmaPhi2(int BinNum, int FMBinNum, ValErr_t r)
Set the disparition rate from the nucleus to its daughter.
Definition Nucleus.cxx:1108
void SetModeratorName(string name)
Definition Nucleus.hxx:155
int GetNumberOfCells()
Definition Nucleus.cxx:1279
bool IsUserCode()
Definition Nucleus.hxx:252
string fIdCode
MC id code for the closest cross-section (.60c)
Definition Nucleus.hxx:565
string GetIdCode()
Definition Nucleus.hxx:211
bool IsPseudoNucleus()
Definition Nucleus.hxx:452
ZAI * GetZAI()
Definition Nucleus.hxx:123
int I()
Definition Nucleus.hxx:119
int fNBinCell
Number of different reactions.
Definition Nucleus.hxx:578
ValErr_t GetMCSigmaPhiFM(int BinNum, int FMBinNum)
returns the disparition rate from the nucleus for a given FM bin number.
Definition Nucleus.cxx:883
string GetModeratorCategory()
Definition Nucleus.hxx:186
vector< vector< vector< ValErr_t > > > fSigmaPhi2
Reaction rates.
Definition Nucleus.hxx:592
int FindReactionCode(ZAI *daughter)
Find the Reaction code that leeds to daughter.
Definition Nucleus.cxx:865
void SetEvolution(bool Evolution)
Definition Nucleus.hxx:402
void SetTotalSigma(double xs)
Definition Nucleus.hxx:367
double fTotalSigma
Total cross section.
Definition Nucleus.hxx:631
bool IsEvolutive()
Definition Nucleus.hxx:406
double GetSigmaPhi(Cell *cell, int ReactionCode)
returns the disparition rate of the nucleus according to the reaction code.
Definition Nucleus.cxx:971
void SetModeratorCategory(string ModeratorCategory)
Set the moderator category.
Definition Nucleus.hxx:182
bool IsModeratorCategoryOk(string Code)
returns true is Code and fModeratorCategory are compatible
Definition Nucleus.cxx:1397
string fModeratorCategory
Moderator category for automatic moderator name.
Definition Nucleus.hxx:562
void AddNucleusMCRecord(int TallyNum, int CellNumber, int TallyBinIdx)
Definition Nucleus.cxx:1328
double fBaseTemperature1
Closest Base temperature to fTemperature.
Definition Nucleus.hxx:572
bool fUserCode
whether or not the user has given the extension, by a SetXSExtension()
Definition Nucleus.hxx:564
int fGlobalNucleiIndex
Index of this nucleus in the Global nuclei vector.
Definition Nucleus.hxx:567
ValErr_t GetMCSigmaFM(int BinNum, int FMBinNum)
returns the cross-section of the nucleus according to FM bin number.
Definition Nucleus.cxx:1138
vector< vector< vector< ValErr_t > > > fSigmaPhi
Reaction rates.
Definition Nucleus.hxx:585
bool fPseudoNucleus
whether or not nucleus is a pseudo nucleus
Definition Nucleus.hxx:555
void SetNuSigmaFisPhi(int BinNum, double Value)
Set Nu tot sigma phi (E)
Definition Nucleus.cxx:1088
void Duplicate(bool flag)
Say that a nucleus is duplicate in a material.
Definition Nucleus.hxx:426
void SetModeratorLine(string line)
Definition Nucleus.hxx:160
ValErr_t GetMCSigma(Cell *cell, int ReactionCode)
returns the cross-section of the nucleus according to the reaction code.
Definition Nucleus.cxx:1229
vector< vector< double > > fFitSlope2
slope to find the sigma*phi extrapolation
Definition Nucleus.hxx:637
bool fModerator
whether or not apply a S(alpha, Beta) thermal treatment
Definition Nucleus.hxx:559
int FindFMBin(int ReactionCode)
Find the FM bin number of the reaction code.
Definition Nucleus.cxx:830
map< int, bool > fFirstTimeReactionAsk
a map of Reaction code to bool
Definition Nucleus.hxx:640
double GetTemperature()
Definition Nucleus.hxx:136
bool fTemperatureEvolution
whether or not temperature will evolve
Definition Nucleus.hxx:574
vector< double > fTotalSigmaPhi
Total sigma phi in each Tally bin.
Definition Nucleus.hxx:627
bool IsModerator()
Definition Nucleus.hxx:147
string fBestLine
Best line of the BaseSummary.dat for this Nucleus.
Definition Nucleus.hxx:568
void SetBestLine(string BestLine)
Definition Nucleus.hxx:225
void SetTemperatureEvolution(bool flag=true)
Definition Nucleus.hxx:460
ZAI * fZAI
Pointer on the ZAI.
Definition Nucleus.hxx:551
void ResetFirstReaction()
Set all fFirstTimeReactionAsk to true.
Definition Nucleus.cxx:804
vector< double > fMCTime
vector of last MC run time
Definition Nucleus.hxx:633
string fIdCode2
MC id code for the second closest cross-section (.60c)
Definition Nucleus.hxx:566
bool fDuplicate
True for duplicate nucleus in composition.
Definition Nucleus.hxx:556
bool IsAlreadyWarn()
Definition Nucleus.hxx:438
double GetMass()
Definition Nucleus.hxx:128
void FindMCCode2()
Find the secondary MC code of the nucleus.
Definition Nucleus.cxx:621
ValErr_t GetMCSigmaPhi2(Cell *cell, int ReactionCode)
returns the disparition rate of the nucleus according to the reaction code.
Definition Nucleus.cxx:1034
vector< int > fXSCode
array of reaction codes in tally multiplier bins
Definition Nucleus.hxx:629
int FindCellBin(Cell *cell)
Find the tally bin number of cell.
void SetGlobalNucleiIndex(int Index)
Definition Nucleus.hxx:229
string GetBestLine2()
Gives the second best BaseSummary line for this nucleus.
Definition Nucleus.cxx:1829
bool fAlreadyWarn
true when a 1st warning occur in Material::print()
Definition Nucleus.hxx:557
double GetTotalSigma()
Definition Nucleus.hxx:371
int GetNumberOfReactions()
Definition Nucleus.cxx:1293
bool IsInThatCell(int CellNum)
Definition Nucleus.cxx:1837
vector< int > GetXSCode()
Definition Nucleus.hxx:248
string fModeratorName
MC moderator name (e.g. grph.01t)
Definition Nucleus.hxx:560
void SetIdCode(string code="")
Definition Nucleus.hxx:216
int GetGlobalNucleiIndex()
Definition Nucleus.hxx:410
double FindCode(double Temperature, string Type, bool AllWarning=false)
Find either Nucleus MC code, or Moderator MC code.
Definition Nucleus.cxx:233
vector< vector< ValErr_t > > fMCSigma
Cross-sections.
Definition Nucleus.hxx:619
double fBaseTemperature2
Second closest Base temperature to fTemperature.
Definition Nucleus.hxx:573
void SetTotalSigmaPhi(int BinNum, double xs)
set the total reaction rate
Definition Nucleus.cxx:1348
vector< NucleusMCRecord * > fNucleusMCRecord
Definition Nucleus.hxx:576
bool IsFirstTimeReactionAsk(int ReactionCode)
returns the fFirstTimeReactionAsk[ReactionCode]
Definition Nucleus.cxx:823
void SetMass(double m)
Definition Nucleus.hxx:132
void SetXSDIRLine(string Line)
Definition Nucleus.hxx:206
double fTemperature
The temperature of the nucleus.
Definition Nucleus.hxx:571
int GetCellBinNumber(int CellNum)
Definition Nucleus.cxx:1863
ValErr_t GetMCSigmaPhi(Cell *cell, int ReactionCode)
returns the disparition rate of the nucleus according to the reaction code.
Definition Nucleus.cxx:1022
Base class to reference all Shape objects and some nucleus.
Definition TReference.hxx:38
A ZAI defined a (Z, A, Isomere) for a Nucleus.
Definition ZAI.hxx:118
the namespace of the Standard C++