|
MURE
|
A ZAI defined a (Z, A, Isomere) for a Nucleus. More...
#include <ZAI.hxx>
Public Member Functions | |
| ZAI (int aZ, int aA, int aI) | |
| Normal Constructor. | |
| ZAI () | |
| Default constructor. | |
| ZAI (const ZAI &zai) | |
| Copy constructor. | |
| ~ZAI () | |
| destructor | |
ZAI main attributes | |
| int | Z () |
| int | A () |
| int | I () |
| int | N () |
| void | SetZ (int aZ) |
| void | SetA (int aA) |
| void | SetI (int aI) |
| void | SetMass (double m) |
| double | GetMass () |
| get the molar mass of a ZAI (g/mol) | |
| void | SetName (string Name) |
| string | GetName () |
| string | GetFullName () |
| returns the fule name (A, name, Isomeroc state) | |
Decay related methods | |
| void | SetHalfLifeTime (double T_12) |
| double | GetHalfLifeTime () |
| void | SetDecayConstant (double lambda) |
| double | GetDecayConstant () |
| int | GetDecayDaughterSize () |
| ZAI * | GetDecayDaughter (int i) |
| vector< ZAI * > & | GetDecayDaughter () |
| int | GetDecayParentSize () |
| vector< double > & | GetDecayBranchingRatio () |
| double | GetDecayBranchingRatio (int i) |
| void | SetDecayBranchingRatio (int i, double BR) |
| ZAI * | GetDecayParent (int i) |
| vector< ZAI * > & | GetDecayParent () |
| void | AddDecayDaughter (ZAI *Daughter, double BR, int DecayMode) |
| Add decay Daughter with Branching Ratio BR &Decay mode. | |
| void | AddDecayParent (ZAI *Parent) |
| Add decay Parent. | |
| void | CutFromMammaDecay (ZAI *mamma) |
| Suppress Decay references of ZAI from mamma. | |
| string | GetAllDecays () |
| void | SetAllDecays (string decays) |
| vector< int > & | GetDecayMode () |
| int | GetDecayMode (int i) |
| void | Stable () |
| bool | IsStable () |
Reaction related methods | |
| void | SetReactionList (ReactionList *l) |
| Set the allowed Reactions for an ZAI. | |
| ReactionList * | GetReactionList () |
| int | GetReactionDaughterSize () |
| int | GetReactionParentSize () |
| ZAI * | GetReactionParent (int i) |
| vector< ZAI * > & | GetReactionParent () |
| ZAI * | GetReactionDaughter (int i) |
| vector< ZAI * > & | GetReactionDaughter () |
| void | AddReactionDaughter (ZAI *Daughter, int code, double weight, bool replace=false) |
| Add reaction Daughter. | |
| void | AddReactionParent (ZAI *Parent) |
| Add reaction Parent. | |
| void | CutFromMammaReaction (ZAI *mamma) |
| Suppress Reaction references of ZAI from mamma. | |
| vector< ZAIReaction * > & | GetZAIReaction () |
| int | GetReactionCode (int i) |
| double | GetReactionWeight (int i) |
| void | RemoveReactionDaugther () |
| Remove reaction daugther of a ZAI. | |
Fission related methods | |
| void | SetCanFission (bool state=true) |
| bool | CanFission () |
| void | SetIsRealFissile (bool state=true) |
| bool | IsRealFissile () |
| double | ApproximateNubar () |
| void | SetApproximateNubar (double nu) |
| void | FindApproximateNubar () |
| find approximate value for mean number of neutron/fission (enter by pto's hand from ENDF B VII) | |
| void | FissionProduct () |
| bool | IsFissionProduct () |
| void | SetEnergyReleasedFromFission (double Energy) |
| double | GetEnergyReleasedFromFission () |
Printing methods | |
| string | Print (string tab="", bool WithDaughter=true, bool FirstGeneration=false, double BR=0) |
| Print a ZAI. | |
| string | PrintDecay (string tab="", bool WithDaughter=true, bool FirstGeneration=false, double BR=0) |
| Print a ZAI and its Decay Daughter. | |
| string | PrintReaction (string tab="", bool WithDaughter=true, bool FirstGeneration=false) |
| Print a ZAI and its Reaction Daughter. | |
| string | PrintParent () |
| Print the Parents of a ZAI. | |
| string | PrintInfo () |
| Print all known Information of a ZAI. | |
| string | PrintName () |
| Print only Name, A, I. | |
Find ZAI in data base methods | |
| void | ResetDummy () |
| Reset all fHaveBeenHere to false to allow other recursive method calls. | |
| void | SetInDataBase (int state) |
| Set the fInbase attribute to state-1. | |
| bool | IsInDataBase () |
| return whether or not a nucleus is in BaseSummary file. | |
| XSDIRLine * | GetSaveXSDIRLine () |
| XSDIRLine * | FindXSDIRLine (int &other_isomer) |
| Find the XSDIRLine for a ZAI. | |
Miscellaneous methods | |
| string | fName |
| Name of the ZAI. | |
| int | fZ |
| number of protons | |
| int | fA |
| number of nucleons (A=0 means natural isotopes) | |
| int | fI |
| Isomeric state (Ground State, ith excited) | |
| double | fMass |
| Mass of a ZAI. | |
| double | fHalfLifeTime |
| Decay Half life constant. | |
| string | fAllDecays |
| All possible decays string. | |
| bool | fAllowedReactionWasSet |
| ReactionList * | fAllowedReaction |
| The allowed reaction list for this ZAI (if fEvolved) | |
| vector< ZAI * > | fDecayDaughter |
| vector of decay Daughter | |
| vector< ZAI * > | fDecayParent |
| vector of decay parent | |
| vector< double > | fDecayBranchingRatio |
| vector of decay Branching Ratio. | |
| vector< int > | fDecayMode |
| vector of decay modes | |
| vector< ZAI * > | fReactionDaughter |
| vector of reaction Daughter | |
| vector< ZAI * > | fReactionParent |
| vector of reaction Parent | |
| vector< ZAIReaction * > | fReactionCode |
| vector of the reaction codes | |
| bool | fNonEvolvingZai |
| to for a zai to not evolve but be present in MCNP composition | |
| bool | fUsed |
| whether a ZAI is really used in a Material | |
| bool | fDelete |
| whether a ZAI is deleted | |
| bool | fStable |
| whether a ZAI is stable | |
| int | fInbase |
| flag to know IsInDataBase status | |
| bool | fHasIsomer |
| flag to show if another state(s) exists | |
| bool | fFissionProduct |
| whether a ZAI is produced directly from ANY fission | |
| bool | fCanFission |
| flag to show if it can fission | |
| bool | fIsRealFissile |
| flag to show if it is a REAL fissile nucleus | |
| bool | fCanEmitBeta |
| flag to show if it can emit a beta- | |
| bool | fCanEmitDelayedNeutron |
| flag to show if it is a delayed neutron precursor | |
| bool | fIsMotherOfBetaDecayer |
| Is ZAI a mother of a beta decaying nucleus? | |
| double | fEnergyReleasedFromFission |
| The energy released from the fission of this isotope (default = 200 MeV only makes sense for fissile isotopes) | |
| ZAI * | fAlternateZAI |
| If no XS data, gives alternate ZAI i.e G.S. ZAI if isomer. | |
| XSDIRLine * | fSaveXSDIRLine |
| the xsdir line for a given ZAI | |
| vector< ZAI * > | fCutBetaDaughters |
| List of the ZAI that were cut. | |
| vector< double > | fCutBetaBR |
| The branching ratios of the cut beta decayers. | |
| static vector< ZAI * > | fExploredZAI = dummy |
| bool | fHaveBeenHere |
| flag used in recursive method to avoid infinit loop. | |
| double | fNubar |
| approximate value for mean number of neutron/fission | |
| bool | IsZAIInMyFamilly (int Z, int A, int I, ZAI *&ZaiOfMyFamilly) |
| return true if the ZAI(Z, A, I) belong to this. | |
| void | Used () |
| void | NotUsed () |
| bool | IsUsed () |
| double | BranchingRatioSum () |
| returns the total sum of BR (normally >=1 && <=2) | |
| void | Delete () |
| bool | IsDelete () |
| void | AddedToMaterial () |
| bool | IsAddedToMaterial () |
| void | FindMass () |
| find mass when no evolution required | |
| void | SetCanEmitBeta () |
| bool | CanEmitBeta () |
| void | SetCanEmitDelayedNeutron () |
| bool | CanEmitDelayedNeutron () |
| void | SetHasIsomer () |
| bool | HasIsomer () |
| void | SetAlternateZAI (ZAI *zai) |
| ZAI * | GetAlternateZAI () |
| bool | operator== (ZAI zai) |
| return true if Z, A and I are the same | |
| void | ForceNonEvolvingZai () |
| bool | IsForceNonEvolvingZai () |
| void | SetIsMotherOfCutBetaDecayer (ZAI *daughter, double BR) |
| Fill vector of nuclei cut from tree. | |
| void | IncrementBR (int num, double BR) |
| Increment a Branching Ratio. | |
| bool | PrivateIsZAIInMyFamilly (int Z, int A, int I, ZAI *&ZaiOfMyFamilly) |
| return true if the ZAI(Z, A, I) belong to this. | |
| string | PrivatePrintReaction (string tab="", bool WithDaughter=true, bool FirstGeneration=false, bool firstcall=true) |
| Print a ZAI and its Reaction Daughter. | |
A ZAI defined a (Z, A, Isomere) for a Nucleus.
The aim of this class is to handle all independant information of a Nucleus. Thus a given ZAI could (and generally does) belong to more than one Nucleus. I, for Isomeric state is 0 for Ground State and "i" for the ith excited state. ZAI know (if NucleiTree class has been invoked) its reaction daughters and its decay daughters. They are store in 2 vectors (ZAI::GetDecayDaughter and ZAI::GetReactionDaughter). Analog methods are defined for ZAI parents. Its has a Name (e.g. Pu for Z=94), a mass (in atomic mass unit) and a decay half life constant (if it is not stable).
| ZAI::ZAI | ( | int | aZ, |
| int | aA, | ||
| int | aI | ||
| ) |
Normal Constructor.
Default: No parent
| aZ | : number of protons |
| aA | : number of nucleons (A=0 means natural isotopes) |
| aI | : Isomeric state (0=ground state, 1 =first excited, ...) |
| ZAI::ZAI | ( | ) |
Default constructor.
| ZAI::ZAI | ( | const ZAI & | zai | ) |
Copy constructor.
| ZAI::~ZAI | ( | ) |
destructor
|
inline |
< returns the number of nucleons
| void ZAI::AddDecayDaughter | ( | ZAI * | Daughter, |
| double | BR, | ||
| int | DecayMode | ||
| ) |
Add decay Daughter with Branching Ratio BR &Decay mode.
| void ZAI::AddDecayParent | ( | ZAI * | Parent | ) |
Add decay Parent.
| void ZAI::AddReactionDaughter | ( | ZAI * | Daughter, |
| int | code, | ||
| double | weight, | ||
| bool | replace = false |
||
| ) |
Add reaction Daughter.
| void ZAI::AddReactionParent | ( | ZAI * | Parent | ) |
Add reaction Parent.
|
inline |
< return approximate value for mean number of neutron/fission
| double ZAI::BranchingRatioSum | ( | ) |
returns the total sum of BR (normally >=1 && <=2)
|
inline |
< Whether ZAI is Emits a beta-
|
inline |
< Whether ZAI is delayed neutron precursor
|
inline |
< Whether ZAI is fissionable or not
|
inline |
< Say that a ZAI is deleted
| void ZAI::FindApproximateNubar | ( | ) |
find approximate value for mean number of neutron/fission (enter by pto's hand from ENDF B VII)
| void ZAI::FindMass | ( | ) |
find mass when no evolution required
| XSDIRLine * ZAI::FindXSDIRLine | ( | int & | other_isomer | ) |
|
inline |
< Set that a ZAI is a fission product
|
inline |
< Force a ZAI to not evolve
|
inline |
< Get all possible decay string
|
inline |
< returns branching ratio vector
|
inline |
< returns ith branching ratio
|
inline |
< returns the Decay Half life
|
inline |
< returns daughter vector
|
inline |
< returns the ith daughter
|
inline |
< size of decay Daughter vector
|
inline |
< returns the decay mode code vector
|
inline |
< returns ith decay mode code
|
inline |
< returns parent vector
|
inline |
< returns ith parent
|
inline |
< size of decay Parent vector
|
inline |
< Get Energy in eV
| string ZAI::GetFullName | ( | ) |
returns the fule name (A, name, Isomeroc state)
|
inline |
< returns the Decay Half life [s]
| double ZAI::GetMass | ( | ) |
get the molar mass of a ZAI (g/mol)
|
inline |
< returns the name of a ZAI
|
inline |
< returns the ith reaction code
|
inline |
< returns daughter vector
|
inline |
< returns the ith daughter
|
inline |
< size of Reaction Daughter vector
|
inline |
< Set the allowed Reactions for an ZAI
|
inline |
< returns reaction parent vector
|
inline |
< returns ith reaction parent
|
inline |
< size of Reaction Parent vector
|
inline |
< returns the ith reaction weight
|
inline |
< returns the "reaction code &weight"
|
inline |
< Whether or not another ZAI exists which is an isomeric state
|
inline |
< returns the Isomeric state (Ground State, ith excited)
|
inlineprotected |
Increment a Branching Ratio.
When ading a daughter to a ZAI, check first if the Daughter exists ; if it is the case only increment the BR with the value
| num | : vector position of the existing daughter |
| BR | : the new branching ratio to add to the existing daughter |
|
inline |
< Whether or not a ZAI is deleted
|
inline |
< Return whether a ZAI is a fission product
|
inline |
< Force a ZAI to not evolve
| bool ZAI::IsInDataBase | ( | ) |
return whether or not a nucleus is in BaseSummary file.
|
inline |
< Whether ZAI is real fissile nucleus
|
inline |
< Return whether a ZAI is stable
| bool ZAI::IsZAIInMyFamilly | ( | int | Z, |
| int | A, | ||
| int | I, | ||
| ZAI *& | ZaiOfMyFamilly | ||
| ) |
return true if the ZAI(Z, A, I) belong to this.
Usefull to know if a Z, A, I is in the tree (decay and/or reaction) of this. If it is the case TheZai is non 0 and points on the Z, A, I.
| Z | : proton number of the wanted ZAI |
| A | : nucleon number of the wanted ZAI |
| I | : isomeric state of the wanted ZAI |
| ZaiOfMyFamilly | : set to 0 if Z, A, I is not the the tree of this ZAI, else points on the ZAI(Z, A, I) |
|
inline |
< returns the number of neutrons
| bool ZAI::operator== | ( | ZAI | zai | ) |
return true if Z, A and I are the same
| string ZAI::Print | ( | string | tab = "", |
| bool | WithDaughter = true, |
||
| bool | FirstGeneration = false, |
||
| double | BR = 0 |
||
| ) |
Print a ZAI.
| tab | : a string to indent the Print |
| WithDaughter | : if true Print also the decay daughters |
| BR | : the branching ratio of the daughter |
| FirstGeneration | : if true, print only first generation |
| string ZAI::PrintDecay | ( | string | tab = "", |
| bool | WithDaughter = true, |
||
| bool | FirstGeneration = false, |
||
| double | BR = 0 |
||
| ) |
Print a ZAI and its Decay Daughter.
| tab | : a string to indent the Print |
| WithDaughter | : if true Print also the decay daughters |
| FirstGeneration | : if true, print only first generation |
| BR | : the branching ratio of the daughter |
| string ZAI::PrintInfo | ( | ) |
Print all known Information of a ZAI.
| string ZAI::PrintName | ( | ) |
Print only Name, A, I.
| string ZAI::PrintParent | ( | ) |
Print the Parents of a ZAI.
| string ZAI::PrintReaction | ( | string | tab = "", |
| bool | WithDaughter = true, |
||
| bool | FirstGeneration = false |
||
| ) |
|
protected |
return true if the ZAI(Z, A, I) belong to this.
This method is called by the public one.
| Z | : proton number of the wanted ZAI |
| A | : nucleon number of the wanted ZAI |
| I | : isomeric state of the wanted ZAI |
| ZaiOfMyFamilly | : set to 0 if Z, A, I is not the the tree of this, else points on the ZAI(Z, A, I) return a ZAI(Z, A, I) (if exists) from the ZAI tree |
|
protected |
| void ZAI::RemoveReactionDaugther | ( | ) |
Remove reaction daugther of a ZAI.
| void ZAI::ResetDummy | ( | ) |
Reset all fHaveBeenHere to false to allow other recursive method calls.
|
inline |
< Set the nucleon number
|
inline |
< Set all possible decay string
|
inline |
< set approximate value for mean number of neutron/fission
|
inline |
< Say that ZAI is Emits a beta-
|
inline |
< Say that ZAI is delayed neutron precursor
|
inline |
< Say that ZAI is fissionable nucleus
|
inline |
< sets the ith branching ratio
|
inline |
< Set the Decay Constant
|
inline |
< Set Energy in eV
|
inline |
< Set the Decay Half life [s]
|
inline |
< Say that ZAI has another isomeric state
|
inline |
< Set the isomeric state (0=gs, ...)
|
inline |
Set the fInbase attribute to state-1.
The fInbase attribute is used to no if reaction data are availlable ; if =-1 no data reactions; if =0 data reaction may exist but we don't know yet the right xsdirline ; if =1 data exist and we know the right xsdir line
| state | : if reaction data are availlable state=1 else state=0 |
| void ZAI::SetIsMotherOfCutBetaDecayer | ( | ZAI * | daughter, |
| double | BR | ||
| ) |
Fill vector of nuclei cut from tree.
|
inline |
< Say that ZAI is a real fissile nucleus-only long halflives and high fission xs
|
inline |
< set the mass of a ZAI (g/mol)
|
inline |
< Set the name of the ZAI (e.g. Pu)
| void ZAI::SetReactionList | ( | ReactionList * | l | ) |
Set the allowed Reactions for an ZAI.
|
inline |
< Set the proton number
|
inline |
< Set that a ZAI is stable to decay
|
inline |
< returns the number of protons
|
protected |
number of nucleons (A=0 means natural isotopes)
|
protected |
All possible decays string.
|
protected |
The allowed reaction list for this ZAI (if fEvolved)
|
protected |
|
protected |
flag to show if it can emit a beta-
|
protected |
flag to show if it is a delayed neutron precursor
|
protected |
flag to show if it can fission
|
protected |
The branching ratios of the cut beta decayers.
|
protected |
vector of decay Branching Ratio.
|
protected |
vector of decay Daughter
|
protected |
vector of decay modes
|
protected |
vector of decay parent
|
protected |
whether a ZAI is deleted
|
protected |
The energy released from the fission of this isotope (default = 200 MeV only makes sense for fissile isotopes)
|
protected |
whether a ZAI is produced directly from ANY fission
|
protected |
Decay Half life constant.
|
protected |
flag to show if another state(s) exists
| bool ZAI::fHaveBeenHere |
flag used in recursive method to avoid infinit loop.
|
protected |
Isomeric state (Ground State, ith excited)
|
protected |
flag to know IsInDataBase status
|
protected |
Is ZAI a mother of a beta decaying nucleus?
|
protected |
flag to show if it is a REAL fissile nucleus
|
protected |
Mass of a ZAI.
|
protected |
Name of the ZAI.
|
protected |
to for a zai to not evolve but be present in MCNP composition
| double ZAI::fNubar |
approximate value for mean number of neutron/fission
|
protected |
vector of the reaction codes
|
protected |
vector of reaction Daughter
|
protected |
vector of reaction Parent
|
protected |
whether a ZAI is stable
|
protected |
number of protons