MURE
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AlphaSpectrum Class Reference

AlphaSpectrum contains a histogram of Alpha ray intensities. More...

#include <AlphaSpectrum.hxx>

Inheritance diagram for AlphaSpectrum:
Spectrum

Public Member Functions

 AlphaSpectrum (double Emin, double Emax, int NumberOfBins, bool log=false)
 Standard Constructor of a AlphaSpectrum. More...
 
 AlphaSpectrum (vector< double > LowerEnergy)
 User input bining Constructor of a AlphaSpectrum. More...
 
 AlphaSpectrum (double *LowerEnergy, int NumberOfBins)
 User input bining Constructor of a AlphaSpectrum. More...
 
 AlphaSpectrum (string BinningFileName)
 File User input bining Constructor of a AlphaSpectrum. More...
 
 AlphaSpectrum (int NumberOfBins, double a, double b, double c)
 Constructor of a Spectrum with binning build with this calibration law : E(Lowerbin)=a*Lowerbin*Lowerbin + b*Lowerbin + c. More...
 
 AlphaSpectrum (const AlphaSpectrum &spect)
 Copy constructor. More...
 
AlphaSpectrumReadENSDF (int Z, int A, int I, double NAtoms=1)
 
- Public Member Functions inherited from Spectrum
 Spectrum (double Emin, double Emax, int NumberOfbins, bool log=false)
 Standard Constructor of a Spectrum. More...
 
 Spectrum (vector< double > LowerEnergy, bool check=true)
 User input bining Constructor of a Spectrum. More...
 
 Spectrum (double *LowerEnergy, int NumberOfBins, bool check=true)
 User input bining Constructor of a Spectrum. More...
 
 Spectrum (string BinningFileName, bool check=true)
 File User input bining Constructor of a Spectrum. More...
 
 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. More...
 
 Spectrum (const Spectrum &spect)
 Copy constructor. More...
 
 ~Spectrum ()
 destructor More...
 
void SetZ (int Z)
 Set Z of the mother nucleus. More...
 
void SetA (int A)
 Set A of the mother nucleus. More...
 
void SetName (string Name)
 Set the NeutronSpectrum name. More...
 
void SetNumberOfbins (int nbins)
 Set the number of bins. More...
 
void SetBin (int i, double intensity)
 Set the intensity value of bin i. More...
 
int GetZ ()
 Return the Z of the mother of the nuclei which emit Neutron. More...
 
int GetA ()
 Return the A of the mother of the nuclei which emit Neutron. More...
 
string GetName ()
 Return the NeutronSpectrum's isotope name. More...
 
double GetBin (int i)
 Return the Intensity at bin i. More...
 
double * GetBin ()
 Get the Intensity vector. More...
 
double * GetLowerEnergy ()
 Get the Energy vector. More...
 
double GetLowerEnergy (int i)
 Return the lower energy bound of the bin i. More...
 
double GetEnergyBinWidth (int i)
 Return the energy width of the bin i ie fLowerEnergy[i+1]-fLowerEnergy[i]. More...
 
double GetMiddleEnergy (int i)
 Return the centered energy of the bin i. More...
 
int GetBinNumber (double Energy)
 Return the Bin number corresponding on the Energy. More...
 
int GetNumberOfbins ()
 Return the number of bins. More...
 
bool IsLog ()
 True if the binning is logaritmic. More...
 
bool IsAlpha ()
 True if the spectrum is an AlphaSpectrum. More...
 
bool IsNeutron ()
 True if the spectrum is a NeutronSpectrum. More...
 
bool IsGamma ()
 True if the spectrum is a GammaSpectrum. More...
 
bool IsBeta ()
 True if the spectrum is a BetaSpectrum. More...
 
int GetParticleType ()
 get the particle type of this spectrum 1=n 2=g 3=e- More...
 
bool GotTheSameBinning (Spectrum *aSpectrum)
 True if this and aSpectrum have the same energy binning. More...
 
bool IsEmpty ()
 True if all intensities are 0. More...
 
bool IsTheSameSpectrum (Spectrum *SameOrNot)
 True if two spectra are completly identical. More...
 
void Initialize ()
 Set all Intensities to 0. More...
 
void CheckBin ()
 Check if Energy definition is correct (monotically increasing) More...
 
void AddEnergy (double Energy, double Intensity)
 Add Intensity at the bin corresponding to Energy. More...
 
void Contract (int ContractionFactor)
 Contract the Spectrum 's binning by a factor Contractionfactor. More...
 
double TotalActivity ()
 
void Fill (Material *material, double volume)
 Fill a Spectrum for a material. More...
 
void FillFromFile (string filename)
 
void Dump (string filename="Spectrum.dat", bool WithEnergies=false)
 Dump the Neutron Spectrum histogram. More...
 
void Normalize (double Multiplicateur)
 multiply Intensity by Multiplicateur More...
 
void AddSpectrum (Spectrum *aSpectrum)
 Add aSpectrum to the current one. More...
 
void RemoveSpectrum (Spectrum *aSpectrum)
 Remove aSpectrum to the current one. More...
 
SpectrumNewSpectrumNormalized (Spectrum *UnNormalized, double Norm)
 multiply a UnNormalized spectrum by Norm and put it in a new NeutronSpectrum More...
 
SpectrumNewSpectrumNormalized2 (Spectrum *UnNormalized, double Norm)
 presque pareil mais pas tout a fait (BBBBBUUUUUG) More...
 
SpectrumConvertRayToGaussian (Spectrum *Spect_Raie, double FWHM)
 Convert a spectrum of discret rays in to several gaussian of the same Full width at half maximum (FWHM) More...
 

Protected Member Functions

void ExtractDataFromLine (string Line, Material *TheParent, double NAtoms)
 Extract the wanted data (ie Energy and Intensity)from the readed ENSDF file. More...
 
- Protected Member Functions inherited from Spectrum
void ElementSymbol (int Zd, char &Z1, char &Z2)
 Convert the Z of a nucleus in its symbol. More...
 
void CreateBins (double EnergyMin, double EnergyMax, int NumberOfbins)
 generates the bins More...
 
void CreateBins (vector< double > LowerEnergy)
 generates the bins More...
 
void CreateBins (double *LowerEnergy)
 generates the bins More...
 
bool IsDouble (const std::string &s)
 true is a string can be converted in a double More...
 
void ReadENDSFFile (int Adaughter, vector< string > &Buffer, int &NumOfLine)
 Read each line of the file and store them in buffer. More...
 
bool FindFirstLinesOfDecayModeCard (vector< string > const &Buffer, char Z1, char Z2, vector< int > &BeginRecordLine, string DecayMode, string DecayModeBis="")
 

Protected Attributes

bool fAllowToAdd
 Allow a given alpha to be included in the spectrum. More...
 
double fDecayConst
 Decay constant. More...
 
double fRelativeIntensity
 Relative Intensity of beta. More...
 
double fBranchingRatio
 Branching Ratio. More...
 
double fEofDecayLevel
 
double fEnergy
 Energy. More...
 
double fIntensity
 Intensity. More...
 
bool fIsomStateIsOk
 
- Protected Attributes inherited from Spectrum
bool fIsLog
 true for Log bining More...
 
int fNumberOfbins
 Total number of bins. More...
 
double * fHistogram
 The histogram. More...
 
double * fLowerEnergy
 array of lower bounds of each bin (except the last value) More...
 
int fZ
 Z of the mother nucleus. More...
 
int fA
 A of the mother nucleus. More...
 
string fName
 isotope Name of the neutron spectrum More...
 
bool fIsAlpha
 true for Alpha Spectrum More...
 
bool fIsBeta
 true for Beta Spectrum More...
 
bool fIsGamma
 true for Gamma Spectrum More...
 
bool fIsNeutron
 true for neutron Spectrum More...
 

Detailed Description

AlphaSpectrum contains a histogram of Alpha ray intensities.

The aim of this class is to provide a Alpha spectrum object that is linked to the way a decaying nucleus or combination of nuclei emit Alpha rays

Author
BLG
Version
1.0

Constructor & Destructor Documentation

AlphaSpectrum::AlphaSpectrum ( double  Emin,
double  Emax,
int  NumberOfBins,
bool  log = false 
)

Standard Constructor of a AlphaSpectrum.

Parameters
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

AlphaSpectrum::AlphaSpectrum ( vector< double >  LowerEnergy)

User input bining Constructor of a AlphaSpectrum.

Parameters
LowerEnergy: Lower energy bounds of each bin vector + upper energy bound of the last bin.

Usefull for non constant binning. Energy range of bin number i is :fLowerEnergy[i] <= Energy < fLowerEnergy[i+1]

AlphaSpectrum::AlphaSpectrum ( double *  LowerEnergy,
int  NumberOfBins 
)

User input bining Constructor of a AlphaSpectrum.

Parameters
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

Usefull for non constant binning. Energy range of bin number i is :fLowerEnergy[i] <= Energy < fLowerEnergy[i+1]

AlphaSpectrum::AlphaSpectrum ( string  BinningFileName)

File User input bining Constructor of a AlphaSpectrum.

Parameters
BinningFileName: The binning file name containing the lower eenrgy bounds of bins.

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.

AlphaSpectrum::AlphaSpectrum ( int  NumberOfBins,
double  a,
double  b,
double  c 
)

Constructor of a Spectrum with binning build with this calibration law : E(Lowerbin)=a*Lowerbin*Lowerbin + b*Lowerbin + c.

Parameters
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)

Usefull for experimental spectra

AlphaSpectrum::AlphaSpectrum ( const AlphaSpectrum spect)

Copy constructor.

Read ENSDF Data and fill the Alpha Spectrum.

Member Function Documentation

void AlphaSpectrum::ExtractDataFromLine ( string  Line,
Material TheParent,
double  NAtoms 
)
protected

Extract the wanted data (ie Energy and Intensity)from the readed ENSDF file.

AlphaSpectrum * AlphaSpectrum::ReadENSDF ( int  Z,
int  A,
int  I,
double  NAtoms = 1 
)
Parameters
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

If you want to know more about the ENSDF format have a look @

See Also

Member Data Documentation

bool AlphaSpectrum::fAllowToAdd
protected

Allow a given alpha to be included in the spectrum.

double AlphaSpectrum::fBranchingRatio
protected

Branching Ratio.

double AlphaSpectrum::fDecayConst
protected

Decay constant.

double AlphaSpectrum::fEnergy
protected

Energy.

double AlphaSpectrum::fEofDecayLevel
protected
double AlphaSpectrum::fIntensity
protected

Intensity.

bool AlphaSpectrum::fIsomStateIsOk
protected
double AlphaSpectrum::fRelativeIntensity
protected

Relative Intensity of beta.


The documentation for this class was generated from the following files:

MURE Project, documentation generated by Doxygen 1.8.5 - Mon Nov 17 2014