EGSnrc C++ class library
Report PIRS-898 (2021)
Iwan Kawrakow, Ernesto Mainegra-Hing, Frederic Tessier, Reid Townson and Blake Walters
|
The ensdf class for reading ensdf format data files. More...
#include <egs_ensdf.h>
Public Member Functions | |
EGS_Ensdf (const string nuclide, const string ensdf_filename="", const string relaxType="eadl", const bool allowMultiTrans=false, int verbosity=1) | |
Construct an ensdf object. More... | |
~EGS_Ensdf () | |
Destructor. | |
vector< Record * > | getRecords () const |
vector< BetaRecordLeaf * > | getBetaRecords () const |
vector< ParentRecord * > | getParentRecords () const |
vector< LevelRecord * > | getLevelRecords () const |
vector< AlphaRecord * > | getAlphaRecords () const |
vector< GammaRecord * > | getGammaRecords () const |
vector< GammaRecord * > | getMetastableGammaRecords () const |
vector< GammaRecord * > | getUncorrelatedGammaRecords () const |
vector< double > | getXRayIntensities () const |
vector< double > | getXRayEnergies () const |
vector< double > | getAugerIntensities () const |
vector< double > | getAugerEnergies () const |
void | normalizeIntensities () |
Public Attributes | |
string | radionuclide |
int | verbose |
string | relaxationType |
unsigned short int | Z |
double | decayDiscrepancy |
bool | allowMultiTransition |
Protected Member Functions | |
unsigned short int | findAtomicWeight (string element) |
void | parseEnsdf (vector< string > ensdf) |
void | buildRecords () |
void | getEmissionsFromComments () |
Protected Attributes | |
ifstream | ensdf_file |
unsigned short int | A |
vector< Record * > | myRecords |
vector< CommentRecord * > | myCommentRecords |
vector< ParentRecord * > | myParentRecords |
vector< NormalizationRecord * > | myNormalizationRecords |
vector< LevelRecord * > | myLevelRecords |
vector< BetaRecordLeaf * > | myBetaRecords |
vector< BetaMinusRecord * > | myBetaMinusRecords |
vector< BetaPlusRecord * > | myBetaPlusRecords |
vector< AlphaRecord * > | myAlphaRecords |
vector< GammaRecord * > | myGammaRecords |
vector< GammaRecord * > | myMetastableGammaRecords |
vector< GammaRecord * > | myUncorrelatedGammaRecords |
The ensdf class for reading ensdf format data files.
Parses decay spectrum file in ensdf format, and builds the decay scheme into an object oriented tree-like structure. This decay structure is useful for EGS_RadionuclideSpectrum used by EGS_RadionuclideSource.
Note: Uncertainties on values are ignored. The energies and intensities for various emissions are taken as is. Very low probability emissions (<1e-10) are discarded.
When processing an ensdf file, only the following records are considered: Comment, Parent, Normalization, Level, Beta-, EC / Beta+, Alpha, Gamma.
When the input 'atomic relaxations = ensdf
' in EGS_RadionuclideSpectrum, the X-Ray fluorescence and Auger emissions are obtained from ensdf Comment records. This assumes a particular format for the data currently used by the LNHB, which may or may not be forward compatible. When using this option, be aware that fluorescent photons and Auger emissions are modeled statistically. In other words, the relaxation emissions are not correlated with specific disintegration events. If you are coincidence counting, use 'atomic relaxations = eadl
'.
There are a few nuances to the data interpretation with 'atomic relaxations = ensdf
'. If a single emission intensity value is present for a combination of lines (where multiple energies are provided), then the average energy of the lines is used. For example, in the case below a single line of energy 97.4527 keV would be used with an emission intensity of 0.57 per 100 disintegrations.
221FR T 96.815 |] XKB3 221FR T 97.474 |] 0.57 5 XKB1 221FR T 98.069 |] XKB5II
If an energy and intensity are given for the "total" of several lines, it is only used if the intensities of the individual lines are not provided. For example, in the case below a single line of energy 14.0895 keV would be used.
221FR T 10.38-17.799 18.7 9 XL (total) 221FR T 10.38 XLL 221FR T 11.89-12.03 XLA 221FR T 13.254 XLC 221FR T 13.877-15.639 XLB 221FR T 16.752-17.799 XLG
The ensdf class has been tested on radionuclide data from LNHB DDEP.
Definition at line 492 of file egs_ensdf.h.
EGS_Ensdf::EGS_Ensdf | ( | const string | nuclide, |
const string | ensdf_filename = "" , |
||
const string | relaxType = "eadl" , |
||
const bool | allowMultiTrans = false , |
||
int | verbosity = 1 |
||
) |
Construct an ensdf object.
Definition at line 196 of file egs_ensdf.cpp.
References egsInformation, and egsWarning.