Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4IsotopeProperty.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26// G4IsotopeProperty
27//
28// Class description:
29//
30// G4IsotopeProperty contains properties of an isotope
31
32// Author: H.Kurashige, 5 October 1999
33// --------------------------------------------------------------------
34#ifndef G4IsotopeProperty_hh
35#define G4IsotopeProperty_hh 1
36
37#include "globals.hh"
38#include "G4Ions.hh"
39
40class G4DecayTable;
42{
43 public:
44
46 virtual ~G4IsotopeProperty();
47 // Constructor & destructor
48
50 // Copy constructor
51
53 // Assignment operator
54
55 G4bool operator==(const G4IsotopeProperty &right) const;
56 G4bool operator!=(const G4IsotopeProperty &right) const;
57 // Equality operators
58
59 inline G4int GetAtomicNumber() const;
60 inline void SetAtomicNumber(G4int Z);
61 // Set/Get Atomic Number
62
63 inline G4int GetAtomicMass() const;
64 inline void SetAtomicMass(G4int A);
65 // Set/Get Atomic Mass
66
67 inline G4int GetiSpin() const;
68 inline void SetiSpin(G4int J);
69 // Set/Get spin
70
71 inline G4double GetMagneticMoment() const;
72 inline void SetMagneticMoment(G4double M);
73 // Set/Get Magnetic Moment
74
75 inline G4double GetEnergy() const;
76 inline void SetEnergy(G4double E);
77 // Set/Get Excited Energy
78
79 inline G4int GetIsomerLevel() const;
80 inline void SetIsomerLevel(G4int level);
81 // Set/Get isomer level
82
85 inline void SetFloatLevelBase(G4int flbIndex);
86 // Set/Get floating level base
87
88 inline G4double GetLifeTime() const;
89 inline void SetLifeTime(G4double T);
90 // Set/Get life time
91
92 inline G4DecayTable* GetDecayTable() const;
93 inline void SetDecayTable(G4DecayTable* table);
94 // Set/Get decay table
95
96 void DumpInfo() const;
97 // Dump out information
98
99 private:
100
101 G4int fAtomicNumber = 0; // number of proton
102 G4int fAtomicMass = 0; // number of nucleon
103 G4int fISpin = 0; // total angular momentum (in unit of 1/2)
104 G4double fEnergy = 0.0; // excited energy
105 G4double fLifeTime = -1.0; // lifeTime
106 G4DecayTable* fDecayTable = nullptr; // decay Table
107 G4double fMagneticMoment = 0.0; // magnetic moment
108 G4int fIsomerLevel = -1; // isomer level
109 G4Ions::G4FloatLevelBase fFloatLevelBase; // floating level base
110};
111
112// ------------------------
113// Inline methods
114// ------------------------
115
116inline
118{
119 return fAtomicNumber;
120}
121
122inline
124{
125 fAtomicNumber = Z;
126}
127
128inline
130{
131 return fAtomicMass;
132}
133
134inline
136{
137 fAtomicMass = A;
138}
139
140inline
142{
143 return fISpin;
144}
145
146inline
148{
149 fISpin = J;
150}
151
152inline
154{
155 return fMagneticMoment;
156}
157
158inline
160{
161 fMagneticMoment = M;
162}
163
164inline
166{
167 return fEnergy;
168}
169
170inline
172{
173 fEnergy = E;
174}
175
176inline
178{
179 return fIsomerLevel;
180}
181inline
183{
184 fIsomerLevel = level;
185}
186
187inline
189{
190 return fLifeTime;
191}
192
193inline
195{
196 fLifeTime = T;
197}
198
199inline
201{
202 return fDecayTable;
203}
204
205inline
207{
208 fDecayTable = table;
209}
210
211inline
213{
214 return fFloatLevelBase;
215}
216
217inline
219{
220 fFloatLevelBase = flb;
221}
222
223inline
225{
226 fFloatLevelBase = G4Ions::FloatLevelBase(flbIndex);
227}
228
229#endif
#define M(row, col)
double G4double
Definition: G4Types.hh:83
bool G4bool
Definition: G4Types.hh:86
int G4int
Definition: G4Types.hh:85
const G4int Z[17]
const G4double A[17]
static G4Ions::G4FloatLevelBase FloatLevelBase(char flbChar)
Definition: G4Ions.cc:110
G4FloatLevelBase
Definition: G4Ions.hh:83
void SetAtomicMass(G4int A)
G4bool operator!=(const G4IsotopeProperty &right) const
void SetDecayTable(G4DecayTable *table)
void SetFloatLevelBase(G4Ions::G4FloatLevelBase flb)
void SetEnergy(G4double E)
void SetiSpin(G4int J)
void SetAtomicNumber(G4int Z)
G4int GetiSpin() const
void SetIsomerLevel(G4int level)
G4DecayTable * GetDecayTable() const
G4IsotopeProperty & operator=(G4IsotopeProperty &right)
virtual ~G4IsotopeProperty()
G4double GetEnergy() const
G4int GetAtomicMass() const
G4int GetAtomicNumber() const
G4int GetIsomerLevel() const
G4bool operator==(const G4IsotopeProperty &right) const
void SetLifeTime(G4double T)
void SetMagneticMoment(G4double M)
G4double GetLifeTime() const
G4Ions::G4FloatLevelBase GetFloatLevelBase() const
G4double GetMagneticMoment() const