Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4IsotopeProperty Class Reference

#include <G4IsotopeProperty.hh>

Public Member Functions

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

Detailed Description

Definition at line 41 of file G4IsotopeProperty.hh.

Constructor & Destructor Documentation

◆ G4IsotopeProperty() [1/2]

G4IsotopeProperty::G4IsotopeProperty ( )
default

◆ ~G4IsotopeProperty()

G4IsotopeProperty::~G4IsotopeProperty ( )
virtual

Definition at line 40 of file G4IsotopeProperty.cc.

41{
42 delete fDecayTable;
43 fDecayTable = nullptr;
44}

◆ G4IsotopeProperty() [2/2]

G4IsotopeProperty::G4IsotopeProperty ( const G4IsotopeProperty & right)

Definition at line 46 of file G4IsotopeProperty.cc.

47 : fAtomicNumber(right.fAtomicNumber),
48 fAtomicMass(right.fAtomicMass),
49 fISpin(right.fISpin),
50 fEnergy(right.fEnergy),
51 fLifeTime(right.fLifeTime),
52
53 fMagneticMoment(right.fMagneticMoment),
54 fIsomerLevel(right.fIsomerLevel),
55 fFloatLevelBase(right.fFloatLevelBase)
56{
57 // decay table is not copied because G4DecayTable has no copy constructor
58}

Member Function Documentation

◆ DumpInfo()

void G4IsotopeProperty::DumpInfo ( ) const

Definition at line 96 of file G4IsotopeProperty.cc.

97{
98#ifdef G4VERBOSE
99 G4cout << "AtomicNumber: " << fAtomicNumber << ", "
100 << "AtomicMass: " << fAtomicMass << G4endl;
101 if ((fISpin % 2) != 0) {
102 G4cout << "Spin: " << fISpin << "/2";
103 }
104 else {
105 G4cout << "Spin: " << fISpin / 2;
106 }
107 G4cout << ", "
108 << "MagneticMoment: " << fMagneticMoment / MeV * tesla << "[MeV/T]" << G4endl;
109 G4cout << "Isomer Level: " << fIsomerLevel << ", Excited Energy: " << std::setprecision(1)
110 << fEnergy / keV;
111 if (fFloatLevelBase != G4Ions::G4FloatLevelBase::no_Float) {
112 G4cout << " +" << G4Ions::FloatLevelBaseChar(fFloatLevelBase);
113 }
114 G4cout << " [keV]"
115 << ", " << std::setprecision(6) << "Life Time: " << fLifeTime / ns << "[ns]" << G4endl;
116 if (fDecayTable != nullptr) {
117 fDecayTable->DumpInfo();
118 }
119 else {
120 // G4cout << "Decay Table is not defined !" << G4endl;
121 }
122#endif
123}
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
void DumpInfo() const
static char FloatLevelBaseChar(G4Ions::G4FloatLevelBase flb)
Definition G4Ions.cc:185

Referenced by G4VIsotopeTable::DumpTable().

◆ GetAtomicMass()

G4int G4IsotopeProperty::GetAtomicMass ( ) const
inline

Definition at line 122 of file G4IsotopeProperty.hh.

123{
124 return fAtomicMass;
125}

Referenced by G4IsotopeMagneticMomentTable::FindIsotope(), and G4IonTable::PreloadNuclide().

◆ GetAtomicNumber()

G4int G4IsotopeProperty::GetAtomicNumber ( ) const
inline

Definition at line 112 of file G4IsotopeProperty.hh.

113{
114 return fAtomicNumber;
115}

Referenced by G4IsotopeMagneticMomentTable::FindIsotope(), and G4IonTable::PreloadNuclide().

◆ GetDecayTable()

G4DecayTable * G4IsotopeProperty::GetDecayTable ( ) const
inline

Definition at line 181 of file G4IsotopeProperty.hh.

182{
183 return fDecayTable;
184}

Referenced by G4IonTable::CreateIon().

◆ GetEnergy()

G4double G4IsotopeProperty::GetEnergy ( ) const
inline

◆ GetFloatLevelBase()

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

Definition at line 191 of file G4IsotopeProperty.hh.

192{
193 return fFloatLevelBase;
194}

Referenced by G4IonTable::GetIon().

◆ GetIsomerLevel()

G4int G4IsotopeProperty::GetIsomerLevel ( ) const
inline

Definition at line 162 of file G4IsotopeProperty.hh.

163{
164 return fIsomerLevel;
165}

Referenced by G4IonTable::CreateIon(), and G4IsotopeMagneticMomentTable::FindIsotope().

◆ GetiSpin()

G4int G4IsotopeProperty::GetiSpin ( ) const
inline

Definition at line 132 of file G4IsotopeProperty.hh.

133{
134 return fISpin;
135}

Referenced by G4IonTable::CreateIon().

◆ GetLifeTime()

G4double G4IsotopeProperty::GetLifeTime ( ) const
inline

Definition at line 171 of file G4IsotopeProperty.hh.

172{
173 return fLifeTime;
174}

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

◆ GetMagneticMoment()

G4double G4IsotopeProperty::GetMagneticMoment ( ) const
inline

Definition at line 142 of file G4IsotopeProperty.hh.

143{
144 return fMagneticMoment;
145}

Referenced by G4IonTable::CreateIon().

◆ operator!=()

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

Definition at line 91 of file G4IsotopeProperty.cc.

92{
93 return !(*this == right);
94}

◆ operator=()

G4IsotopeProperty & G4IsotopeProperty::operator= ( G4IsotopeProperty & right)

Definition at line 60 of file G4IsotopeProperty.cc.

61{
62 if (this != &right) {
63 fAtomicNumber = right.fAtomicNumber;
64 fAtomicMass = right.fAtomicMass;
65 fISpin = right.fISpin;
66 fMagneticMoment = right.fMagneticMoment;
67 fEnergy = right.fEnergy;
68 fLifeTime = right.fLifeTime;
69 fIsomerLevel = right.fIsomerLevel;
70 fFloatLevelBase = right.fFloatLevelBase;
71 // decay table is not copied because G4DecayTable has no copy constructor
72 fDecayTable = nullptr;
73 }
74 return *this;
75}

◆ operator==()

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

Definition at line 77 of file G4IsotopeProperty.cc.

78{
79 G4bool value = true;
80 value = value && (fAtomicNumber == right.fAtomicNumber);
81 value = value && (fAtomicMass == right.fAtomicMass);
82 value = value && (fISpin == right.fISpin);
83 value = value && (fMagneticMoment == right.fMagneticMoment);
84 value = value && (fEnergy == right.fEnergy);
85 value = value && (fLifeTime == right.fLifeTime);
86 value = value && (fIsomerLevel == right.fIsomerLevel);
87 value = value && (fFloatLevelBase == right.fFloatLevelBase);
88 return value;
89}
bool G4bool
Definition G4Types.hh:86

◆ SetAtomicMass()

void G4IsotopeProperty::SetAtomicMass ( G4int A)
inline

Definition at line 127 of file G4IsotopeProperty.hh.

128{
129 fAtomicMass = A;
130}
const G4double A[17]

◆ SetAtomicNumber()

void G4IsotopeProperty::SetAtomicNumber ( G4int Z)
inline

Definition at line 117 of file G4IsotopeProperty.hh.

118{
119 fAtomicNumber = Z;
120}

◆ SetDecayTable()

void G4IsotopeProperty::SetDecayTable ( G4DecayTable * table)
inline

Definition at line 186 of file G4IsotopeProperty.hh.

187{
188 fDecayTable = table;
189}

◆ SetEnergy()

void G4IsotopeProperty::SetEnergy ( G4double E)
inline

Definition at line 157 of file G4IsotopeProperty.hh.

158{
159 fEnergy = E;
160}

◆ SetFloatLevelBase() [1/2]

void G4IsotopeProperty::SetFloatLevelBase ( G4int flbIndex)
inline

Definition at line 201 of file G4IsotopeProperty.hh.

202{
203 fFloatLevelBase = G4Ions::FloatLevelBase(flbIndex);
204}
static G4Ions::G4FloatLevelBase FloatLevelBase(char flbChar)
Definition G4Ions.cc:107

◆ SetFloatLevelBase() [2/2]

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

Definition at line 196 of file G4IsotopeProperty.hh.

197{
198 fFloatLevelBase = flb;
199}

◆ SetIsomerLevel()

void G4IsotopeProperty::SetIsomerLevel ( G4int level)
inline

Definition at line 166 of file G4IsotopeProperty.hh.

167{
168 fIsomerLevel = level;
169}

◆ SetiSpin()

void G4IsotopeProperty::SetiSpin ( G4int J)
inline

Definition at line 137 of file G4IsotopeProperty.hh.

138{
139 fISpin = J;
140}

◆ SetLifeTime()

void G4IsotopeProperty::SetLifeTime ( G4double T)
inline

Definition at line 176 of file G4IsotopeProperty.hh.

177{
178 fLifeTime = T;
179}

◆ SetMagneticMoment()

void G4IsotopeProperty::SetMagneticMoment ( G4double M)
inline

Definition at line 147 of file G4IsotopeProperty.hh.

148{
149 fMagneticMoment = M;
150}
#define M(row, col)

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