MURE
|
GammaSpectrum defines of gamma ray spectrum. More...
#include <GammaSpectrum.hxx>
Public Member Functions | |
GammaSpectrum (double Emin, double Emax, int NumberOfBins, bool log=false) | |
Standard Constructor of a GammaSpectrum. | |
GammaSpectrum (vector< double > LowerEnergy, bool check=true) | |
User input bining Constructor of a GammaSpectrum. | |
GammaSpectrum (double *LowerEnergy, int NumberOfBins, bool check=true) | |
User input bining Constructor of a GammaSpectrum. | |
GammaSpectrum (string BinningFileName, bool check=true) | |
File User input bining Constructor of a GammaSpectrum. | |
GammaSpectrum (int NumberOfBins, double a, double b, double c, bool check=true) | |
Constructor of a Spectrum with binning build with this calibration law : E(Lowerbin)=a*Lowerbin*Lowerbin + b*Lowerbin + c. | |
GammaSpectrum (const GammaSpectrum &spect) | |
Copy constructor. | |
GammaSpectrum * | ReadENSDF (int Z, int A, int I, double NAtoms=1, string DecayMode="ABEI") |
double | GetNumberOfParticlesPerDecay () |
double | GetBecquerel () |
Public Member Functions inherited from Spectrum | |
Spectrum (double Emin, double Emax, int NumberOfbins, bool log=false) | |
Standard Constructor of a Spectrum. | |
Spectrum (vector< double > LowerEnergy, bool check=true) | |
User input bining Constructor of a Spectrum. | |
Spectrum (double *LowerEnergy, int NumberOfBins, bool check=true) | |
User input bining Constructor of a Spectrum. | |
Spectrum (string BinningFileName, bool check=true) | |
File User input bining Constructor of a Spectrum. | |
Spectrum (int NumberOfBins, double a, double b, double c, bool check=true) | |
Constructor of a Spectrum with binning build with this calibration law : E(Lowerbin)=a*Lowerbin*Lowerbin + b*Lowerbin + c. | |
Spectrum (const Spectrum &spect) | |
Copy constructor. | |
~Spectrum () | |
destructor | |
void | SetZ (int Z) |
void | SetA (int A) |
void | SetName (string Name) |
void | SetNumberOfbins (int nbins) |
void | SetBin (int i, double intensity) |
int | GetZ () |
int | GetA () |
string | GetName () |
double | GetBin (int i) |
double * | GetBin () |
double * | GetLowerEnergy () |
double | GetLowerEnergy (int i) |
double | GetEnergyBinWidth (int i) |
Return the energy width of the bin i ie fLowerEnergy[i+1]-fLowerEnergy[i]. | |
double | GetMiddleEnergy (int i) |
Return the centered energy of the bin i. | |
int | GetBinNumber (double Energy) |
Return the Bin number corresponding on the Energy. | |
int | GetNumberOfbins () |
bool | IsLog () |
bool | IsAlpha () |
bool | IsNeutron () |
bool | IsGamma () |
bool | IsBeta () |
int | GetParticleType () |
get the particle type of this spectrum 1=n 2=g 3=e- | |
bool | GotTheSameBinning (Spectrum *aSpectrum) |
True if this and aSpectrum have the same energy binning. | |
bool | IsEmpty () |
True if all intensities are 0. | |
bool | IsTheSameSpectrum (Spectrum *SameOrNot) |
True if two spectra are completly identical. | |
void | Initialize () |
Set all Intensities to 0. | |
void | CheckBin () |
Check if Energy definition is correct (monotically increasing) | |
void | AddEnergy (double Energy, double Intensity) |
Add Intensity at the bin corresponding to Energy. | |
void | Contract (int ContractionFactor) |
Contract the Spectrum 's binning by a factor Contractionfactor. | |
double | TotalActivity () |
Sum of particules emmited at all energies. | |
double | GetTotalNumberOfParticlesPerDecay () |
double | GetTotalBecquerel () |
void | Fill (Material *material, double volume) |
Fill a Spectrum for a material. | |
void | FillFromFile (string filename) |
void | Dump (string filename="Spectrum.dat", bool WithEnergies=false) |
Dump the Neutron Spectrum histogram. | |
void | Normalize (double Multiplicateur) |
multiply Intensity by Multiplicateur | |
void | AddSpectrum (Spectrum *aSpectrum) |
Add aSpectrum to the current one. | |
void | RemoveSpectrum (Spectrum *aSpectrum) |
Remove aSpectrum to the current one. | |
Spectrum * | NewSpectrumNormalized (Spectrum *UnNormalized, double Norm) |
multiply a UnNormalized spectrum by Norm and put it in a new NeutronSpectrum | |
Spectrum * | NewSpectrumNormalized2 (Spectrum *UnNormalized, double Norm) |
presque pareil mais pas tout a fait (BBBBBUUUUUG) | |
Spectrum * | ConvertRayToGaussian (Spectrum *Spect_Raie, double FWHM) |
Convert a spectrum of discret rays in to several gaussian of the same Full width at half maximum (FWHM) | |
Protected Member Functions | |
double | GetLevelEnergyOfIsomericTransition (int Z, int A, int I) |
void | ExtractDataFromLine (string Line, Material *TheParent, double NAtoms, int IDecayMode) |
Extract the wanted data (ie Energy and Intensity)from the readed ENSDF file. | |
Protected Member Functions inherited from Spectrum | |
void | ElementSymbol (int Zd, char &Z1, char &Z2) |
Convert the Z of a nucleus in its symbol. | |
void | CreateBins (double EnergyMin, double EnergyMax, int NumberOfbins) |
generates the bins | |
void | CreateBins (vector< double > LowerEnergy) |
generates the bins | |
void | CreateBins (double *LowerEnergy) |
generates the bins | |
bool | IsDouble (const std::string &s) |
true is a string can be converted in a double | |
void | ReadENSDFFile (int Adaughter, vector< string > &Buffer, int &NumOfLine) |
Read each line of the file and store them in buffer. | |
bool | FindFirstLinesOfDecayModeCard (vector< string > const &Buffer, char Z1, char Z2, vector< int > &BeginRecordLine, string DecayMode, string DecayModeBis="") |
Protected Attributes | |
bool | fAllowToAdd |
Allow a given gamma to be included in the spectrum. | |
double ** | fEnergyLevelOfIsomericDaugthers |
store the energy level of isomeric daugther | |
double | fDecayConst |
Decay constant. | |
double | fRelativeIntensity |
Relative Intensity of gamma line. | |
double | fBranchingRatio |
Branching Ratio. | |
double | fNR |
Normalization Factor. | |
double | fEofDecayLevel |
double | fEnergy |
Energy of the gamma. | |
double | fIntensity |
Intensity of the gamma. | |
double | fNumberOfParticlesPerDecay |
double | fBecquerel |
bool | fIsomStateIsOk |
bool | fLevelMatchingWithIsomericNuclei |
Protected Attributes inherited from Spectrum | |
bool | fIsLog |
true for Log bining | |
int | fNumberOfbins |
Total number of bins. | |
double * | fHistogram |
The histogram. | |
double * | fLowerEnergy |
array of lower bounds of each bin (except the last value) | |
double | fTotalParticlesEmitted |
double | fTotalNumberOfParticlesPerDecay |
double | fTotalBecquerel |
int | fZ |
Z of the mother nucleus. | |
int | fA |
A of the mother nucleus. | |
string | fName |
isotope Name of the neutron spectrum | |
bool | fIsAlpha |
true for Alpha Spectrum | |
bool | fIsBeta |
true for Beta Spectrum | |
bool | fIsGamma |
true for Gamma Spectrum | |
bool | fIsNeutron |
true for neutron Spectrum | |
Static Protected Attributes | |
static vector< string > * | fBuffer = nullptr |
static int | fAread = -1 |
GammaSpectrum defines of gamma ray spectrum.
The aim of this class is to provide the gamma spectrum of a gamma-decay nucleus or combination of nuclei
GammaSpectrum::GammaSpectrum | ( | double | Emin, |
double | Emax, | ||
int | NumberOfBins, | ||
bool | log = false |
||
) |
Standard Constructor of a GammaSpectrum.
Emin | : Lower Energy bound of the Spectrum |
Emax | : Upper Energy bound of the Spectrum |
NumberOfBins | : Number of bins |
log | : true if logaritmic binning is wanted (default=false) |
This constructor creates the Energy binnig automatically. The binning is constant for linear bins and with constant log step for log bins
GammaSpectrum::GammaSpectrum | ( | vector< double > | LowerEnergy, |
bool | check = true |
||
) |
User input bining Constructor of a GammaSpectrum.
LowerEnergy | : Lower energy bounds of each bin vector + upper energy bound of the last bin. |
check | : if true verify that bins are ordered |
Usefull for non constant binning. Energy range of bin number i is :fLowerEnergy[i] <= Energy < fLowerEnergy[i+1]
GammaSpectrum::GammaSpectrum | ( | double * | LowerEnergy, |
int | NumberOfBins, | ||
bool | check = true |
||
) |
User input bining Constructor of a GammaSpectrum.
LowerEnergy | : Lower energy bounds of each bin array + upper energy bound of the last bin. |
NumberOfBins | : Number of Lower energy bounds of each bin (the LowerEnergy array dim is thus NumberOfBins+1 |
check | : if true verify that bins are ordered |
Usefull for non constant binning. Energy range of bin number i is :fLowerEnergy[i] <= Energy < fLowerEnergy[i+1]
GammaSpectrum::GammaSpectrum | ( | string | BinningFileName, |
bool | check = true |
||
) |
File User input bining Constructor of a GammaSpectrum.
BinningFileName | : The binning file name containing the lower eenrgy bounds of bins. |
check | : if true verify that bins are ordered |
Usefull for non constant binning. The file must start with N, the number of bins. Then, follow the lower bounds of each bins (N real values) and then the upper bound of the last energy bin (the (N+1) value). Thus the file must contains N+2 line for N lower bin bounds.
GammaSpectrum::GammaSpectrum | ( | int | NumberOfBins, |
double | a, | ||
double | b, | ||
double | c, | ||
bool | check = true |
||
) |
Constructor of a Spectrum with binning build with this calibration law : E(Lowerbin)=a*Lowerbin*Lowerbin + b*Lowerbin + c.
NumberOfBins | : Number of Lower energy bounds of each bin (the LowerEnergy array dim is thus NumberOfBins+1 |
a | : first coefficient of the calibration law (eV) |
b | : second coefficient of the calibration law (eV) |
c | : third coefficient of the calibration law (eV) |
check | : if true verify that bins are ordered |
Usefull for experimental spectra
GammaSpectrum::GammaSpectrum | ( | const GammaSpectrum & | spect | ) |
Copy constructor.
Read ENSDF Data and fill the Gamma Spectrum.
|
protected |
Extract the wanted data (ie Energy and Intensity)from the readed ENSDF file.
|
inline |
|
protected |
|
inline |
GammaSpectrum * GammaSpectrum::ReadENSDF | ( | int | Z, |
int | A, | ||
int | I, | ||
double | NAtoms = 1 , |
||
string | DecayMode = "ABEI" |
||
) |
Z | : Z of the mother nucleus |
A | : A of the mother nucleus |
I | : isomeric state of the mother nucleus |
NAtoms | : the number of atoms of the mother nucleus |
DecayMode | : the decay mode which can be any combination of "A" (alpha decay), "B" (beta- decay), "E" (Electronic Capture) and "I" (Isomeric Transition) |
If you want to know more about the ENSDF format have a look @
|
protected |
Allow a given gamma to be included in the spectrum.
|
staticprotected |
|
protected |
|
protected |
Branching Ratio.
|
staticprotected |
|
protected |
Decay constant.
|
protected |
Energy of the gamma.
|
protected |
store the energy level of isomeric daugther
|
protected |
|
protected |
Intensity of the gamma.
|
protected |
|
protected |
|
protected |
Normalization Factor.
|
protected |
|
protected |
Relative Intensity of gamma line.