A NucleiTree defines the whole tree of nuclei in case of evolution for a single ZAI. More...
#include <NucleiTree.hxx>
Public Member Functions | |
| NucleiTree (string DecayDataFile="../data/chart.JEF3T", string MassDataFile="../data/Mass.dat", bool WithReactions=true, bool WithSpontaneousFis=true) | |
| Normal constructor of a NucleiTree. More... | |
| ~NucleiTree () | |
| Destructor. More... | |
| void | ExtractZAI (ZAI *&zai, double MinHalfLife=0, int MaxRecursionDepth=10000, bool FromDecay=true) |
| Extract all decay & reaction tree for a ZAI. More... | |
| void | ExtractWantedZAI (ZAI *&zai, bool FromDecay=true) |
| void | ClearUnUsed () |
| free memory when finished More... | |
| string | LongestTree () |
| find the longest chain More... | |
| void | DumpTree () |
| Make a nuclear chart of the tree & write it to disk. More... | |
| void | WriteAsciiTree (string FileName="asciitree.dat") |
| Write out the tree info in ascii format. More... | |
| string | PrintTreeStats () |
| Write out the tree information. More... | |
| int | TreeLength (ZAI *zai, int &nb) |
| returns the chain length of a ZAI More... | |
| void | CheckConsistency (ZAI *&zai) |
| Checks for self-consistency in the tree and complains if problems exist. More... | |
| void | BuildTrees () |
| Build Decay & Reaction trees for evolution. More... | |
| void | SetZAIMass (ZAI *zai) |
| Set the Mass for zai (not evolving case) More... | |
| bool | IsTreesBuilt () |
| whether or not Trees are built More... | |
| void | FissionProductSelection (ZAI *zai, double yield=0) |
| Use for selected FP. More... | |
| bool | IsWantedNuclei () |
| True when wanted nuclei file is given. More... | |
Private Member Functions | |
| void | FindReactions () |
| find the possible nuclear reactions using ReactionList More... | |
| void | FindDecay () |
| find the possible decays using fDecayDataFile file More... | |
| void | SetZAIFissionEnergy (ZAI *zai) |
| Set the fission energy released for fissile isotopes. More... | |
| void | FillZAI (string line, ZAI *zai) |
| void | RenormalizeBRS (ZAI *zai, double ought_to_be) |
| Renormalizes the branching ratios of the given ZAI. More... | |
| string | GetDecay (string DecayModes, double &BR, int &Iso, int &StartPos) |
| Returns a particular decay mode. More... | |
Private Attributes | |
| string | fDecayDataFile |
| File name of the chart of nuclide file. More... | |
| vector< ZAI * > | fNuclei |
| a vector of the whole chart (simplify fChart access) More... | |
| bool | fDelete |
| flag to know that a ZAI has been deleted from the chart More... | |
| map< int,map< int,map< int, ZAI * > > > | fChart |
| The whole Nuclei Chart from the fDecayDataFile. More... | |
| int | fDecayRecursionDepth |
| A measure of how far into the tree in decay recursive calls. More... | |
| int | fReactionRecursionDepth |
| A measure of how far into the tree in reaction recursive calls. More... | |
| bool | fTreesBuilt |
| whether or not Trees are built More... | |
| bool | fWithReactions |
| whether or not reactions links should be included (default yes) More... | |
| bool | fWithSF |
| whether or not the Spontaneous Fission is included (default yes) More... | |
| map< int,map< int,bool > > | fWantedNuclei |
| The wanted Nuclei defined in MURE::SetListOfWantedNucleiFN. More... | |
| bool | fIsWantedNuclei |
| True when wanted nuclei file is given. More... | |
A NucleiTree defines the whole tree of nuclei in case of evolution for a single ZAI.
The aim of this class is to construct the trees of decay and reaction daughters if evolution is needed. For Decays: An ascii file is read(written by A. Billebaud, modified by D. Heuer according to JEF3T library). Then a kind of matrix (a map) of all chart of nuclei is filled with ZAI* of each nucleus. This matrix allows decay daughters to be found immediately (i.e. without searching). For Reactions: Allowed reactions for each nucleus are read using the ReactionList class.
Note that each useful nucleus (i.e. of a real evolving composition) must call the ExtractZAI method to find its specfic nuclear tree.
TO BE NOTICE: the constructor of NucleiTree read 3 files: -one to know all possible decays for the whole chart (chart.JEF3T). -one to know if reactions are availlable (BaseSummary.dat) -one to know the mass of each ZAI (Mass.dat) This file has been made from "The 2003 Atomic Mass Evaluation" of the National Nuclear Data CenterNucDat (BNL)
| NucleiTree::NucleiTree | ( | string | DecayDataFile = "../data/chart.JEF3T", |
| string | MassDataFile = "../data/Mass.dat", |
||
| bool | WithReactions = true, |
||
| bool | WithSpontaneousFis = true |
||
| ) |
Normal constructor of a NucleiTree.
| DecayDataFile | : the asscii file containing information one decay |
| MassDataFile | : the asscii file containing Mass data |
| WithReactions | : Include reactions into the tree |
| WithSpontaneousFis | : Include Spontaneous Fission into the tree |
| NucleiTree::~NucleiTree | ( | ) |
Destructor.
| void NucleiTree::BuildTrees | ( | ) |
Build Decay & Reaction trees for evolution.
| void NucleiTree::CheckConsistency | ( | ZAI *& | zai | ) |
Checks for self-consistency in the tree and complains if problems exist.
| void NucleiTree::ClearUnUsed | ( | ) |
free memory when finished
| void NucleiTree::DumpTree | ( | ) |
Make a nuclear chart of the tree & write it to disk.
| void NucleiTree::ExtractWantedZAI | ( | ZAI *& | zai, |
| bool | FromDecay = true |
||
| ) |
| void NucleiTree::ExtractZAI | ( | ZAI *& | zai, |
| double | MinHalfLife = 0, |
||
| int | MaxRecursionDepth = 10000, |
||
| bool | FromDecay = true |
||
| ) |
Extract all decay & reaction tree for a ZAI.
For a true ZAI (i.e., present in a material), only daughters with half life > MinHalfLife are considered ; if a daughter has a shorter half life, it is replaced by its daughters. Reaction tree is considered while its depth is shorter than MaxRecursionDepth.
| zai | : the true ZAI (i.e., present in a material) of which the tree is wanted |
| MinHalfLife | : the shortest half life to keep a daughter |
| MaxRecursionDepth | : the maximum number of consecutive reactions allowed for a zai. |
| FromDecay | : true if it is called from a decay branch and false from reaction branch(internal used only). |
|
private |
uses values of line to fill zai
|
private |
find the possible decays using fDecayDataFile file
|
private |
find the possible nuclear reactions using ReactionList
| void NucleiTree::FissionProductSelection | ( | ZAI * | zai, |
| double | yield = 0 |
||
| ) |
Use for selected FP.
|
private |
Returns a particular decay mode.
| DecayModes | : a list of decay modes with their branching ratios and isomeric state of the Daughters. |
| BR | : branching ratio of the current decay mode |
| Iso | : isomeric state of the Daughter of the current decay mode. |
| StartPos | : the current decay mode to extract. |
|
inline |
whether or not Trees are built
|
inline |
True when wanted nuclei file is given.
| string NucleiTree::LongestTree | ( | ) |
find the longest chain
| string NucleiTree::PrintTreeStats | ( | ) |
Write out the tree information.
|
private |
|
private |
Set the fission energy released for fissile isotopes.
| void NucleiTree::SetZAIMass | ( | ZAI * | zai | ) |
Set the Mass for zai (not evolving case)
| void NucleiTree::WriteAsciiTree | ( | string | FileName = "asciitree.dat" | ) |
Write out the tree info in ascii format.
|
private |
The whole Nuclei Chart from the fDecayDataFile.
|
private |
File name of the chart of nuclide file.
|
private |
A measure of how far into the tree in decay recursive calls.
|
private |
flag to know that a ZAI has been deleted from the chart
|
private |
True when wanted nuclei file is given.
|
private |
a vector of the whole chart (simplify fChart access)
|
private |
A measure of how far into the tree in reaction recursive calls.
|
private |
whether or not Trees are built
|
private |
The wanted Nuclei defined in MURE::SetListOfWantedNucleiFN.
|
private |
whether or not reactions links should be included (default yes)
|
private |
whether or not the Spontaneous Fission is included (default yes)