GRSISort
Created by P.C. Bender
Developement Team: P.C. Bender, R. Dunlop, V. Bildstein
An extension of the ROOT analysis Framework
TNucleus Class Reference

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 ()
 
 TNucleus (const char *name)
 
 TNucleus (int charge, int neutrons, double mass, const char *symbol)
 
 TNucleus (int charge, int neutrons, const char *MassFile=nullptr)
 
 ~TNucleus () override
 
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)
 
double GetEnergyFromBeta (double beta)
 
double GetMass () const
 
double GetMassExcess () const
 
int GetN () const
 
Int_t GetNTransitions () const
 
double GetRadius () const
 
const char * GetSymbol () const
 
TTransitionGetTransition (Int_t idx)
 
const TList * GetTransitionList () const
 
int GetZ () const
 
int GetZfromSymbol (char *)
 
Int_t NTransitions () const
 
bool operator!= (const TNucleus &rhs) const
 
bool operator== (const TNucleus &rhs) const
 
void Print (Option_t *opt="") const override
 
void SetMass (double)
 
void SetMass ()
 
void SetMassExcess (double)
 
void SetN (int)
 
void SetSymbol (const char *)
 
void SetZ (int)
 
void WriteSourceFile (const std::string &outfilename="")
 

Static Public Member Functions

static std::string SortName (const char *name)
 

Private Member Functions

bool LoadTransitionFile ()
 
void SetName (const char *c="") 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
 
TList fTransitionList
 
int fZ {0}
 

Static Private Attributes

static const char * grsipath
 

#include <TNucleus.h>

+ Inheritance diagram for TNucleus:
+ Collaboration diagram for TNucleus:

Constructor & Destructor Documentation

◆ TNucleus() [1/4]

TNucleus::TNucleus ( )
inline

Definition at line 36 of file TNucleus.h.

◆ TNucleus() [2/4]

TNucleus::TNucleus ( const char *  name)

◆ TNucleus() [3/4]

TNucleus::TNucleus ( int  charge,
int  neutrons,
double  mass,
const char *  symbol 
)

Definition at line 113 of file TNucleus.cxx.

References fMass, fN, fSymbol, fZ, LoadTransitionFile(), and SetName().

◆ TNucleus() [4/4]

TNucleus::TNucleus ( int  charge,
int  neutrons,
const char *  MassFile = nullptr 
)

Definition at line 124 of file TNucleus.cxx.

References fMassExcess, fN, fSymbol, fZ, LoadTransitionFile(), massfile(), SetMass(), SetName(), and SetSymbol().

◆ ~TNucleus()

TNucleus::~TNucleus ( )
override

Definition at line 174 of file TNucleus.cxx.

References fTransitionList.

Member Function Documentation

◆ AddTransition() [1/2]

void TNucleus::AddTransition ( Double_t  energy,
Double_t  intensity,
Double_t  energy_uncertainty = 0.0,
Double_t  intensity_uncertainty = 0.0 
)

Definition at line 299 of file TNucleus.cxx.

Referenced by LoadTransitionFile().

◆ AddTransition() [2/2]

void TNucleus::AddTransition ( TTransition tran)

Definition at line 311 of file TNucleus.cxx.

References fTransitionList.

◆ GetA()

int TNucleus::GetA ( ) const
inline

Definition at line 65 of file TNucleus.h.

References fN, and fZ.

Referenced by GetRadius(), LoadTransitionFile(), TReaction::Print(), SetMass(), and SetName().

◆ GetBetaFromEnergy()

double TNucleus::GetBetaFromEnergy ( double  energy_MeV)

Definition at line 411 of file TNucleus.cxx.

References fMass.

◆ GetEnergyFromBeta()

double TNucleus::GetEnergyFromBeta ( double  beta)

Definition at line 405 of file TNucleus.cxx.

References fMass.

◆ GetMass()

double TNucleus::GetMass ( ) const
inline

Definition at line 67 of file TNucleus.h.

References fMass.

Referenced by TKinematics::FinalCm(), TKinematics::GetExcEnergy(), and TKinematics::TKinematics().

◆ GetMassExcess()

double TNucleus::GetMassExcess ( ) const
inline

Definition at line 66 of file TNucleus.h.

References fMassExcess.

Referenced by SetMass().

◆ GetN()

int TNucleus::GetN ( ) const
inline

Definition at line 64 of file TNucleus.h.

References fN.

◆ GetNTransitions()

Int_t TNucleus::GetNTransitions ( ) const
inline

Definition at line 78 of file TNucleus.h.

References fTransitionList.

◆ GetRadius()

double TNucleus::GetRadius ( ) const

Definition at line 292 of file TNucleus.cxx.

References GetA().

◆ GetSymbol()

const char* TNucleus::GetSymbol ( ) const
inline

Definition at line 68 of file TNucleus.h.

References fSymbol.

Referenced by LoadTransitionFile(), and SetName().

◆ GetTransition()

TTransition * TNucleus::GetTransition ( Int_t  idx)

Definition at line 316 of file TNucleus.cxx.

References fTransitionList.

◆ GetTransitionList()

const TList* TNucleus::GetTransitionList ( ) const
inline

◆ GetZ()

int TNucleus::GetZ ( ) const
inline

Definition at line 63 of file TNucleus.h.

References fZ.

Referenced by TReaction::Print(), and TKinematics::Rutherford().

◆ GetZfromSymbol()

int TNucleus::GetZfromSymbol ( char *  symbol)

Definition at line 262 of file TNucleus.cxx.

References SetZ().

◆ LoadTransitionFile()

bool TNucleus::LoadTransitionFile ( )
private

Definition at line 353 of file TNucleus.cxx.

References AddTransition(), fTransitionList, GetA(), and GetSymbol().

Referenced by TNucleus().

◆ massfile()

std::string & TNucleus::massfile ( )
staticprivate

Definition at line 19 of file TNucleus.cxx.

Referenced by TNucleus().

◆ NTransitions()

Int_t TNucleus::NTransitions ( ) const
inline

Definition at line 77 of file TNucleus.h.

References fTransitionList.

Referenced by TEnergyCal::SetNucleus().

◆ operator!=()

bool TNucleus::operator!= ( const TNucleus rhs) const
inline

Definition at line 90 of file TNucleus.h.

◆ operator==()

bool TNucleus::operator== ( const TNucleus rhs) const
inline

Definition at line 89 of file TNucleus.h.

References fA, fN, and fZ.

◆ Print()

void TNucleus::Print ( Option_t *  opt = "") const
override

Definition at line 326 of file TNucleus.cxx.

References fTransitionList.

◆ SetMass() [1/2]

void TNucleus::SetMass ( double  mass)

Definition at line 244 of file TNucleus.cxx.

References fMass.

◆ SetMass() [2/2]

void TNucleus::SetMass ( )

Definition at line 250 of file TNucleus.cxx.

References amu, fMass, GetA(), and GetMassExcess().

Referenced by TNucleus().

◆ SetMassExcess()

void TNucleus::SetMassExcess ( double  mass_ex)

Definition at line 238 of file TNucleus.cxx.

References fMassExcess.

Referenced by TNucleus().

◆ SetN()

void TNucleus::SetN ( int  neutrons)

Definition at line 233 of file TNucleus.cxx.

References fN.

Referenced by TNucleus().

◆ SetName()

void TNucleus::SetName ( const char *  c = "")
overrideprivate

Definition at line 167 of file TNucleus.cxx.

References GetA(), and GetSymbol().

Referenced by TNucleus().

◆ SetSymbol()

void TNucleus::SetSymbol ( const char *  symbol)

Definition at line 256 of file TNucleus.cxx.

References fSymbol.

Referenced by TNucleus().

◆ SetZ()

void TNucleus::SetZ ( int  charge)

Definition at line 228 of file TNucleus.cxx.

References fZ.

Referenced by GetZfromSymbol(), and TNucleus().

◆ SortName()

std::string TNucleus::SortName ( const char *  name)
static

Definition at line 179 of file TNucleus.cxx.

◆ WriteSourceFile()

void TNucleus::WriteSourceFile ( const std::string &  outfilename = "")

Definition at line 338 of file TNucleus.cxx.

References fTransitionList.

Member Data Documentation

◆ fA

int TNucleus::fA {0}
private

Definition at line 95 of file TNucleus.h.

Referenced by operator==().

◆ fMass

double TNucleus::fMass {0.}
private

Definition at line 98 of file TNucleus.h.

Referenced by GetBetaFromEnergy(), GetEnergyFromBeta(), GetMass(), SetMass(), and TNucleus().

◆ fMassExcess

double TNucleus::fMassExcess {0.}
private

Definition at line 99 of file TNucleus.h.

Referenced by GetMassExcess(), SetMassExcess(), and TNucleus().

◆ fN

int TNucleus::fN {0}
private

Definition at line 96 of file TNucleus.h.

Referenced by GetA(), GetN(), operator==(), SetN(), and TNucleus().

◆ fSymbol

std::string TNucleus::fSymbol
private

Definition at line 100 of file TNucleus.h.

Referenced by GetSymbol(), SetSymbol(), and TNucleus().

◆ fTransitionList

TList TNucleus::fTransitionList
private

◆ fZ

int TNucleus::fZ {0}
private

Definition at line 97 of file TNucleus.h.

Referenced by GetA(), GetZ(), operator==(), SetZ(), and TNucleus().

◆ grsipath

const char* TNucleus::grsipath
staticprivate

Definition at line 30 of file TNucleus.h.