GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
|
This class builds a nucleus and sets all the basic information (mass, Z, symbol, radius, etc.)
Definition at line 27 of file TNucleus.h.
Public Member Functions | |
TNucleus ()=default | |
TNucleus (const char *name) | |
TNucleus (const TNucleus &)=delete | |
TNucleus (int charge, int neutrons, const char *MassFile=nullptr) | |
TNucleus (int charge, int neutrons, double mass, const char *symbol) | |
TNucleus (TNucleus &&) noexcept=delete | |
~TNucleus () | |
void | AddTransition (Double_t energy, Double_t intensity, Double_t energy_uncertainty=0.0, Double_t intensity_uncertainty=0.0) |
void | AddTransition (TTransition *tran) |
int | GetA () const |
double | GetBetaFromEnergy (double energy_MeV) const |
double | GetEnergyFromBeta (double beta) const |
double | GetMass () const |
double | GetMassExcess () const |
int | GetN () const |
Int_t | GetNTransitions () const |
double | GetRadius () const |
const char * | GetSymbol () const |
TTransition * | GetTransition (Int_t idx) |
TTransition * | GetTransitionByEnergy (Int_t idx) |
TTransition * | GetTransitionByIntensity (Int_t idx) |
const TSortedList * | GetTransitionList () const |
const TSortedList * | GetTransitionListByEnergy () const |
const TSortedList * | GetTransitionListByIntensity () const |
int | GetZ () const |
int | GetZfromSymbol (char *) |
Int_t | NTransitions () const |
bool | operator!= (const TNucleus &rhs) const |
TNucleus & | operator= (const TNucleus &)=delete |
TNucleus & | operator= (TNucleus &&) noexcept=delete |
bool | operator== (const TNucleus &rhs) const |
void | Print (Option_t *opt="") const override |
void | SetMass () |
void | SetMass (double) |
void | SetMassExcess (double) |
void | SetN (int) |
void | SetSymbol (const char *) |
void | SetZ (int) |
void | WriteSourceFile (const std::string &outfilename="") |
Static Public Member Functions | |
static void | ParseName (const char *name, std::string &symbol, int &number, std::string &element) |
static void | ParseName (std::string name, std::string &symbol, int &number, std::string &element) |
static std::string | SortName (const char *input) |
static std::string | SortName (std::string input) |
Private Member Functions | |
bool | LoadTransitionFile () |
void | SetName (const char *name="") override |
Static Private Member Functions | |
static std::string & | Massfile () |
Private Attributes | |
int | fA {0} |
double | fMass {0.} |
double | fMassExcess {0.} |
int | fN {0} |
std::string | fSymbol |
TSortedList | fTransitionListByEnergy |
TSortedList | fTransitionListByIntensity |
int | fZ {0} |
|
default |
Should not be used, here so we can write things to a root file.
|
explicit |
Creates a nucleus based on symbol and sets all parameters from mass.dat.
Definition at line 21 of file TNucleus.cxx.
References LoadTransitionFile(), Massfile(), ParseName(), SetMass(), SetMassExcess(), SetN(), SetName(), SetSymbol(), and SetZ().
TNucleus::TNucleus | ( | int | charge, |
int | neutrons, | ||
double | mass, | ||
const char * | symbol ) |
Creates a nucleus with Z, N, mass, and symbol.
Creates a nucleus with Z, N, mass, and symbol
Definition at line 73 of file TNucleus.cxx.
References LoadTransitionFile(), and SetName().
TNucleus::TNucleus | ( | int | charge, |
int | neutrons, | ||
const char * | MassFile = nullptr ) |
Creates a nucleus with Z, N using mass table (default MassFile = "mass.dat")
Creates a nucleus with Z, N using mass table (default MassFile = "mass.dat")
Definition at line 81 of file TNucleus.cxx.
References Massfile().
|
delete |
|
deletenoexcept |
TNucleus::~TNucleus | ( | ) |
Definition at line 132 of file TNucleus.cxx.
References fTransitionListByEnergy, and fTransitionListByIntensity.
void TNucleus::AddTransition | ( | Double_t | energy, |
Double_t | intensity, | ||
Double_t | energy_uncertainty = 0.0, | ||
Double_t | intensity_uncertainty = 0.0 ) |
Definition at line 264 of file TNucleus.cxx.
References AddTransition().
Referenced by AddTransition(), and LoadTransitionFile().
void TNucleus::AddTransition | ( | TTransition * | tran | ) |
Definition at line 276 of file TNucleus.cxx.
References fTransitionListByEnergy, and fTransitionListByIntensity.
|
inline |
Gets the A (Z + N) of the nucleus.
Definition at line 63 of file TNucleus.h.
Referenced by GetRadius(), LoadTransitionFile(), TReaction::Print(), SetMass(), and SetName().
double TNucleus::GetBetaFromEnergy | ( | double | energy_MeV | ) | const |
Definition at line 391 of file TNucleus.cxx.
References fMass.
double TNucleus::GetEnergyFromBeta | ( | double | beta | ) | const |
Definition at line 385 of file TNucleus.cxx.
References fMass.
|
inline |
Gets the mass of the nucleus (in MeV)
Definition at line 65 of file TNucleus.h.
References fMass.
Referenced by TKinematics::TKinematics(), TKinematics::TKinematics(), TKinematics::TKinematics(), TKinematics::TKinematics(), TKinematics::TKinematics(), TReaction::TReaction(), TKinematics::FinalCm(), and TKinematics::GetExcEnergy().
|
inline |
Gets the mass excess of the nucleus (in MeV)
Definition at line 64 of file TNucleus.h.
References fMassExcess.
Referenced by SetMass().
|
inline |
|
inline |
Definition at line 77 of file TNucleus.h.
References fTransitionListByIntensity.
double TNucleus::GetRadius | ( | ) | const |
Definition at line 257 of file TNucleus.cxx.
References GetA().
|
inline |
Gets the atomic symbol of the nucleus.
Definition at line 66 of file TNucleus.h.
References fSymbol.
Referenced by LoadTransitionFile(), and SetName().
|
inline |
Definition at line 72 of file TNucleus.h.
References GetTransitionByIntensity().
TTransition * TNucleus::GetTransitionByEnergy | ( | Int_t | idx | ) |
Definition at line 294 of file TNucleus.cxx.
References fTransitionListByEnergy.
TTransition * TNucleus::GetTransitionByIntensity | ( | Int_t | idx | ) |
Definition at line 284 of file TNucleus.cxx.
References fTransitionListByIntensity.
Referenced by GetTransition().
|
inline |
Definition at line 84 of file TNucleus.h.
References GetTransitionListByIntensity().
Referenced by TCalibrator::AddData(), and TSourceList::SetNucleus().
|
inline |
Definition at line 86 of file TNucleus.h.
References fTransitionListByEnergy.
|
inline |
Definition at line 85 of file TNucleus.h.
References fTransitionListByIntensity.
Referenced by GetTransitionList().
|
inline |
Gets the Z (# of protons) of the nucleus.
Definition at line 61 of file TNucleus.h.
References fZ.
Referenced by TReaction::Print(), and TKinematics::Rutherford().
int TNucleus::GetZfromSymbol | ( | char * | symbol | ) |
Definition at line 234 of file TNucleus.cxx.
References SetZ().
|
private |
Definition at line 331 of file TNucleus.cxx.
References AddTransition(), fTransitionListByIntensity, GetA(), and GetSymbol().
Referenced by TNucleus(), and TNucleus().
|
staticprivate |
Returns the massfile to be used, which includes Z, N, atomic symbol, and mass excess.
Definition at line 15 of file TNucleus.cxx.
Referenced by TNucleus(), and TNucleus().
|
inline |
Definition at line 76 of file TNucleus.h.
References fTransitionListByIntensity.
Referenced by TEnergyCal::SetNucleus().
|
inline |
Definition at line 89 of file TNucleus.h.
|
inline |
Definition at line 88 of file TNucleus.h.
|
inlinestatic |
Definition at line 40 of file TNucleus.h.
References ParseName().
Referenced by TNucleus(), ParseName(), and SortName().
|
static |
Strips any non-alphanumeric character from input, parses rest as number and symbol. E.g. turns "na26" into "Na" and 26 or " 152 EU... " into "Eu" and 152. Only uses the first number and first letter, so "na26 eu152" would be turned into "Na" and 26, but "na26 152eu" would be turned into "Na" and 26152, and "26na 152eu" would be turned into "Na152eu" and 26. Special inputs are "p" for "H" and 1, "d" for "H" and 2, "t" for "H" and 3, and "a" for "He" and 4. element simply is the combined string of number and element.
Definition at line 138 of file TNucleus.cxx.
|
override |
Definition at line 304 of file TNucleus.cxx.
References fTransitionListByIntensity.
void TNucleus::SetMass | ( | ) |
Sets the mass based on the A and mass excess of nucleus (in MeV)
Definition at line 222 of file TNucleus.cxx.
References amu, fMass, GetA(), and GetMassExcess().
Referenced by TNucleus().
void TNucleus::SetMass | ( | double | mass | ) |
void TNucleus::SetMassExcess | ( | double | mass_ex | ) |
Sets the mass excess of the nucleus (in MeV)
Definition at line 210 of file TNucleus.cxx.
References fMassExcess.
Referenced by TNucleus().
void TNucleus::SetN | ( | int | neutrons | ) |
Sets the N (# of neutrons) of the nucleus.
Definition at line 205 of file TNucleus.cxx.
References fN.
Referenced by TNucleus().
|
overrideprivate |
Definition at line 125 of file TNucleus.cxx.
References GetA(), and GetSymbol().
Referenced by TNucleus(), and TNucleus().
void TNucleus::SetSymbol | ( | const char * | symbol | ) |
Sets the atomic symbol for the nucleus.
Definition at line 228 of file TNucleus.cxx.
References fSymbol.
Referenced by TNucleus().
void TNucleus::SetZ | ( | int | charge | ) |
Sets the Z (# of protons) of the nucleus.
Definition at line 200 of file TNucleus.cxx.
References fZ.
Referenced by TNucleus(), and GetZfromSymbol().
|
inlinestatic |
|
static |
Strips any non-alphanumeric character from input, parses rest as number and symbol. E.g. turns "na26" into "26Na" or " 152 EU... " into "152Eu". Special inputs are "p" for "1H", "d" for "2H", "t" for "2H", and "a" for "4He".
Definition at line 187 of file TNucleus.cxx.
References ParseName().
void TNucleus::WriteSourceFile | ( | const std::string & | outfilename = "" | ) |
Definition at line 316 of file TNucleus.cxx.
References fTransitionListByIntensity.
|
private |
|
private |
Mass (in MeV)
Definition at line 98 of file TNucleus.h.
Referenced by GetBetaFromEnergy(), GetEnergyFromBeta(), GetMass(), SetMass(), and SetMass().
|
private |
Mass excess (in MeV)
Definition at line 99 of file TNucleus.h.
Referenced by GetMassExcess(), and SetMassExcess().
|
private |
Number of neutrons (N)
Definition at line 96 of file TNucleus.h.
Referenced by GetA(), GetN(), operator==(), and SetN().
|
private |
Atomic symbol (ex. Ba, C, O, N)
Definition at line 100 of file TNucleus.h.
Referenced by GetSymbol(), and SetSymbol().
|
private |
Definition at line 103 of file TNucleus.h.
Referenced by ~TNucleus(), AddTransition(), GetTransitionByEnergy(), and GetTransitionListByEnergy().
|
private |
Definition at line 102 of file TNucleus.h.
Referenced by ~TNucleus(), AddTransition(), GetNTransitions(), GetTransitionByIntensity(), GetTransitionListByIntensity(), LoadTransitionFile(), NTransitions(), Print(), and WriteSourceFile().
|
private |
Number of protons (Z)
Definition at line 97 of file TNucleus.h.
Referenced by GetA(), GetZ(), operator==(), and SetZ().