Geant4 11.1.1
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 ()
 
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 ( )

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}

◆ G4IsotopeProperty() [2/2]

G4IsotopeProperty::G4IsotopeProperty ( const G4IsotopeProperty right)

Definition at line 54 of file G4IsotopeProperty.cc.

55 : fAtomicNumber(right.fAtomicNumber),
56 fAtomicMass(right.fAtomicMass),
57 fISpin(right.fISpin),
58 fEnergy(right.fEnergy),
59 fLifeTime(right.fLifeTime),
60 fDecayTable(nullptr),
61 fMagneticMoment(right.fMagneticMoment),
62 fIsomerLevel(right.fIsomerLevel),
63 fFloatLevelBase(right.fFloatLevelBase)
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;
125 if (fFloatLevelBase != G4Ions::G4FloatLevelBase::no_Float)
126 {
127 G4cout << " +" << G4Ions::FloatLevelBaseChar(fFloatLevelBase);
128 }
129 G4cout << " [keV]"
130 << ", "
131 << std::setprecision(6)
132 << "Life Time: "
133 << fLifeTime/ns << "[ns]"
134 << G4endl;
135 if (fDecayTable != nullptr)
136 {
137 fDecayTable->DumpInfo();
138 }
139 else
140 {
141 // G4cout << "Decay Table is not defined !" << G4endl;
142 }
143#endif
144}
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
void DumpInfo() const
static char FloatLevelBaseChar(G4Ions::G4FloatLevelBase flb)
Definition: G4Ions.cc:172
#define ns(x)
Definition: xmltok.c:1649

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}

Referenced by G4IonTable::CreateIon().

◆ GetEnergy()

◆ GetFloatLevelBase()

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

Definition at line 212 of file G4IsotopeProperty.hh.

213{
214 return fFloatLevelBase;
215}

◆ 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}

Referenced by G4IonTable::CreateIon().

◆ GetLifeTime()

G4double G4IsotopeProperty::GetLifeTime ( ) const
inline

Definition at line 188 of file G4IsotopeProperty.hh.

189{
190 return fLifeTime;
191}

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}

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 {
72 fAtomicNumber = right.fAtomicNumber;
73 fAtomicMass = right.fAtomicMass;
74 fISpin = right.fISpin;
75 fMagneticMoment = right.fMagneticMoment;
76 fEnergy = right.fEnergy;
77 fLifeTime = right.fLifeTime;
78 fIsomerLevel = right.fIsomerLevel;
79 fFloatLevelBase = right.fFloatLevelBase;
80 // decay table is not copied because G4DecayTable has no copy constructor
81 fDecayTable = nullptr;
82 }
83 return *this;
84}

◆ 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

◆ SetAtomicMass()

void G4IsotopeProperty::SetAtomicMass ( G4int  A)
inline

Definition at line 135 of file G4IsotopeProperty.hh.

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

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

◆ SetAtomicNumber()

void G4IsotopeProperty::SetAtomicNumber ( G4int  Z)
inline

Definition at line 123 of file G4IsotopeProperty.hh.

124{
125 fAtomicNumber = Z;
126}
const G4int Z[17]

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

◆ SetDecayTable()

void G4IsotopeProperty::SetDecayTable ( G4DecayTable table)
inline

Definition at line 206 of file G4IsotopeProperty.hh.

207{
208 fDecayTable = table;
209}

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{
226 fFloatLevelBase = G4Ions::FloatLevelBase(flbIndex);
227}
static G4Ions::G4FloatLevelBase FloatLevelBase(char flbChar)
Definition: G4Ions.cc:110

◆ SetFloatLevelBase() [2/2]

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

Definition at line 218 of file G4IsotopeProperty.hh.

219{
220 fFloatLevelBase = flb;
221}

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}

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

◆ SetMagneticMoment()

void G4IsotopeProperty::SetMagneticMoment ( G4double  M)
inline

Definition at line 159 of file G4IsotopeProperty.hh.

160{
161 fMagneticMoment = M;
162}
#define M(row, col)

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


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