Geant4-11
Public Member Functions | Private Attributes
G4IsotopeProperty Class Reference

#include <G4IsotopeProperty.hh>

Public Member Functions

void DumpInfo () const
 
 G4IsotopeProperty ()
 
 G4IsotopeProperty (const G4IsotopeProperty &right)
 
G4int GetAtomicMass () const
 
G4int GetAtomicNumber () const
 
G4DecayTableGetDecayTable () const
 
G4double GetEnergy () const
 
G4Ions::G4FloatLevelBase GetFloatLevelBase () const
 
G4int GetIsomerLevel () const
 
G4int GetiSpin () const
 
G4double GetLifeTime () const
 
G4double GetMagneticMoment () const
 
G4bool operator!= (const G4IsotopeProperty &right) const
 
G4IsotopePropertyoperator= (G4IsotopeProperty &right)
 
G4bool operator== (const G4IsotopeProperty &right) const
 
void SetAtomicMass (G4int A)
 
void SetAtomicNumber (G4int Z)
 
void SetDecayTable (G4DecayTable *table)
 
void SetEnergy (G4double E)
 
void SetFloatLevelBase (G4int flbIndex)
 
void SetFloatLevelBase (G4Ions::G4FloatLevelBase flb)
 
void SetIsomerLevel (G4int level)
 
void SetiSpin (G4int J)
 
void SetLifeTime (G4double T)
 
void SetMagneticMoment (G4double M)
 
virtual ~G4IsotopeProperty ()
 

Private Attributes

G4int fAtomicMass = 0
 
G4int fAtomicNumber = 0
 
G4DecayTablefDecayTable = nullptr
 
G4double fEnergy = 0.0
 
G4Ions::G4FloatLevelBase fFloatLevelBase
 
G4int fIsomerLevel = -1
 
G4int fISpin = 0
 
G4double fLifeTime = -1.0
 
G4double fMagneticMoment = 0.0
 

Detailed Description

Definition at line 41 of file G4IsotopeProperty.hh.

Constructor & Destructor Documentation

◆ G4IsotopeProperty() [1/2]

G4IsotopeProperty::G4IsotopeProperty ( )

Definition at line 43 of file G4IsotopeProperty.cc.

◆ ~G4IsotopeProperty()

G4IsotopeProperty::~G4IsotopeProperty ( )
virtual

Definition at line 48 of file G4IsotopeProperty.cc.

49{
50 if (fDecayTable != nullptr) delete fDecayTable;
51 fDecayTable = nullptr;
52}
G4DecayTable * fDecayTable

References fDecayTable.

◆ G4IsotopeProperty() [2/2]

G4IsotopeProperty::G4IsotopeProperty ( const G4IsotopeProperty right)

Definition at line 54 of file G4IsotopeProperty.cc.

57 fISpin(right.fISpin),
58 fEnergy(right.fEnergy),
59 fLifeTime(right.fLifeTime),
60 fDecayTable(nullptr),
64{
65 // decay table is not copied because G4DecayTable has no copy constructor
66}

Member Function Documentation

◆ DumpInfo()

void G4IsotopeProperty::DumpInfo ( ) const

Definition at line 105 of file G4IsotopeProperty.cc.

106{
107#ifdef G4VERBOSE
108 G4cout << "AtomicNumber: " << fAtomicNumber << ", "
109 << "AtomicMass: " << fAtomicMass << G4endl;
110 if (fISpin %2)
111 {
112 G4cout << "Spin: " << fISpin << "/2";
113 }
114 else
115 {
116 G4cout << "Spin: " << fISpin /2;
117 }
118 G4cout << ", " << "MagneticMoment: "
119 << fMagneticMoment/MeV*tesla << "[MeV/T]" <<G4endl;
120 G4cout << "Isomer Level: "
121 << fIsomerLevel
122 << ", Excited Energy: "
123 << std::setprecision(1)
124 << fEnergy/keV;
126 {
128 }
129 G4cout << " [keV]"
130 << ", "
131 << std::setprecision(6)
132 << "Life Time: "
133 << fLifeTime/ns << "[ns]"
134 << G4endl;
135 if (fDecayTable != nullptr)
136 {
138 }
139 else
140 {
141 // G4cout << "Decay Table is not defined !" << G4endl;
142 }
143#endif
144}
static constexpr double tesla
Definition: G4SIunits.hh:259
static constexpr double keV
Definition: G4SIunits.hh:202
static constexpr double MeV
Definition: G4SIunits.hh:200
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
void DumpInfo() const
static char FloatLevelBaseChar(G4Ions::G4FloatLevelBase flb)
Definition: G4Ions.cc:165
#define ns
Definition: xmlparse.cc:614

References G4DecayTable::DumpInfo(), fAtomicMass, fAtomicNumber, fDecayTable, fEnergy, fFloatLevelBase, fIsomerLevel, fISpin, fLifeTime, G4Ions::FloatLevelBaseChar(), fMagneticMoment, G4cout, G4endl, keV, MeV, G4Ions::no_Float, ns, and tesla.

Referenced by G4VIsotopeTable::DumpTable().

◆ GetAtomicMass()

G4int G4IsotopeProperty::GetAtomicMass ( ) const
inline

◆ GetAtomicNumber()

G4int G4IsotopeProperty::GetAtomicNumber ( ) const
inline

◆ GetDecayTable()

G4DecayTable * G4IsotopeProperty::GetDecayTable ( ) const
inline

Definition at line 200 of file G4IsotopeProperty.hh.

201{
202 return fDecayTable;
203}

References fDecayTable.

Referenced by G4IonTable::CreateIon().

◆ GetEnergy()

G4double G4IsotopeProperty::GetEnergy ( ) const
inline

◆ GetFloatLevelBase()

G4Ions::G4FloatLevelBase G4IsotopeProperty::GetFloatLevelBase ( ) const
inline

Definition at line 212 of file G4IsotopeProperty.hh.

213{
214 return fFloatLevelBase;
215}

References fFloatLevelBase.

◆ GetIsomerLevel()

G4int G4IsotopeProperty::GetIsomerLevel ( ) const
inline

◆ GetiSpin()

G4int G4IsotopeProperty::GetiSpin ( ) const
inline

Definition at line 141 of file G4IsotopeProperty.hh.

142{
143 return fISpin;
144}

References fISpin.

Referenced by G4IonTable::CreateIon().

◆ GetLifeTime()

G4double G4IsotopeProperty::GetLifeTime ( ) const
inline

Definition at line 188 of file G4IsotopeProperty.hh.

189{
190 return fLifeTime;
191}

References fLifeTime.

Referenced by G4IonTable::CreateIon(), and G4IonTable::GetLifeTime().

◆ GetMagneticMoment()

G4double G4IsotopeProperty::GetMagneticMoment ( ) const
inline

Definition at line 153 of file G4IsotopeProperty.hh.

154{
155 return fMagneticMoment;
156}

References fMagneticMoment.

Referenced by G4IonTable::CreateIon().

◆ operator!=()

G4bool G4IsotopeProperty::operator!= ( const G4IsotopeProperty right) const

Definition at line 100 of file G4IsotopeProperty.cc.

101{
102 return !(*this == right);
103}

◆ operator=()

G4IsotopeProperty & G4IsotopeProperty::operator= ( G4IsotopeProperty right)

Definition at line 68 of file G4IsotopeProperty.cc.

69{
70 if (this != &right)
71 {
74 fISpin = right.fISpin;
76 fEnergy = right.fEnergy;
77 fLifeTime = right.fLifeTime;
80 // decay table is not copied because G4DecayTable has no copy constructor
81 fDecayTable = nullptr;
82 }
83 return *this;
84}

References fAtomicMass, fAtomicNumber, fDecayTable, fEnergy, fFloatLevelBase, fIsomerLevel, fISpin, fLifeTime, and fMagneticMoment.

◆ operator==()

G4bool G4IsotopeProperty::operator== ( const G4IsotopeProperty right) const

Definition at line 86 of file G4IsotopeProperty.cc.

87{
88 G4bool value = true;
89 value = value && ( fAtomicNumber == right.fAtomicNumber);
90 value = value && ( fAtomicMass == right.fAtomicMass);
91 value = value && ( fISpin == right.fISpin);
92 value = value && ( fMagneticMoment == right.fMagneticMoment);
93 value = value && ( fEnergy == right.fEnergy);
94 value = value && ( fLifeTime == right.fLifeTime);
95 value = value && ( fIsomerLevel == right.fIsomerLevel);
96 value = value && ( fFloatLevelBase == right.fFloatLevelBase);
97 return value;
98}
bool G4bool
Definition: G4Types.hh:86

References fAtomicMass, fAtomicNumber, fEnergy, fFloatLevelBase, fIsomerLevel, fISpin, fLifeTime, and fMagneticMoment.

◆ SetAtomicMass()

void G4IsotopeProperty::SetAtomicMass ( G4int  A)
inline

Definition at line 135 of file G4IsotopeProperty.hh.

136{
137 fAtomicMass = A;
138}
const G4double A[17]

References A, and fAtomicMass.

Referenced by G4NuclideTable::AddState(), G4IsotopeMagneticMomentTable::G4IsotopeMagneticMomentTable(), and G4NuclideTable::GenerateNuclide().

◆ SetAtomicNumber()

void G4IsotopeProperty::SetAtomicNumber ( G4int  Z)
inline

◆ SetDecayTable()

void G4IsotopeProperty::SetDecayTable ( G4DecayTable table)
inline

Definition at line 206 of file G4IsotopeProperty.hh.

207{
208 fDecayTable = table;
209}

References fDecayTable.

Referenced by G4NuclideTable::AddState(), and G4NuclideTable::GenerateNuclide().

◆ SetEnergy()

void G4IsotopeProperty::SetEnergy ( G4double  E)
inline

◆ SetFloatLevelBase() [1/2]

void G4IsotopeProperty::SetFloatLevelBase ( G4int  flbIndex)
inline

Definition at line 224 of file G4IsotopeProperty.hh.

225{
227}
static G4Ions::G4FloatLevelBase FloatLevelBase(char flbChar)
Definition: G4Ions.cc:103

References fFloatLevelBase, and G4Ions::FloatLevelBase().

◆ SetFloatLevelBase() [2/2]

void G4IsotopeProperty::SetFloatLevelBase ( G4Ions::G4FloatLevelBase  flb)
inline

Definition at line 218 of file G4IsotopeProperty.hh.

219{
220 fFloatLevelBase = flb;
221}

References fFloatLevelBase.

Referenced by G4NuclideTable::AddState(), and G4NuclideTable::GenerateNuclide().

◆ SetIsomerLevel()

void G4IsotopeProperty::SetIsomerLevel ( G4int  level)
inline

◆ SetiSpin()

void G4IsotopeProperty::SetiSpin ( G4int  J)
inline

◆ SetLifeTime()

void G4IsotopeProperty::SetLifeTime ( G4double  T)
inline

Definition at line 194 of file G4IsotopeProperty.hh.

195{
196 fLifeTime = T;
197}

References fLifeTime.

Referenced by G4NuclideTable::AddState(), and G4NuclideTable::GenerateNuclide().

◆ SetMagneticMoment()

void G4IsotopeProperty::SetMagneticMoment ( G4double  M)
inline

Field Documentation

◆ fAtomicMass

G4int G4IsotopeProperty::fAtomicMass = 0
private

Definition at line 102 of file G4IsotopeProperty.hh.

Referenced by DumpInfo(), GetAtomicMass(), operator=(), operator==(), and SetAtomicMass().

◆ fAtomicNumber

G4int G4IsotopeProperty::fAtomicNumber = 0
private

◆ fDecayTable

G4DecayTable* G4IsotopeProperty::fDecayTable = nullptr
private

◆ fEnergy

G4double G4IsotopeProperty::fEnergy = 0.0
private

Definition at line 104 of file G4IsotopeProperty.hh.

Referenced by DumpInfo(), GetEnergy(), operator=(), operator==(), and SetEnergy().

◆ fFloatLevelBase

G4Ions::G4FloatLevelBase G4IsotopeProperty::fFloatLevelBase
private

◆ fIsomerLevel

G4int G4IsotopeProperty::fIsomerLevel = -1
private

Definition at line 108 of file G4IsotopeProperty.hh.

Referenced by DumpInfo(), GetIsomerLevel(), operator=(), operator==(), and SetIsomerLevel().

◆ fISpin

G4int G4IsotopeProperty::fISpin = 0
private

Definition at line 103 of file G4IsotopeProperty.hh.

Referenced by DumpInfo(), GetiSpin(), operator=(), operator==(), and SetiSpin().

◆ fLifeTime

G4double G4IsotopeProperty::fLifeTime = -1.0
private

Definition at line 105 of file G4IsotopeProperty.hh.

Referenced by DumpInfo(), GetLifeTime(), operator=(), operator==(), and SetLifeTime().

◆ fMagneticMoment

G4double G4IsotopeProperty::fMagneticMoment = 0.0
private

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