Geant4  10.01
G4NuclideTable Class Reference

#include <G4NuclideTable.hh>

+ Inheritance diagram for G4NuclideTable:
+ Collaboration diagram for G4NuclideTable:

Public Types

typedef std::vector
< G4IsotopeProperty * > 
G4IsotopeList
 

Public Member Functions

virtual ~G4NuclideTable ()
 
void GenerateNuclide ()
 
void SetThresholdOfHalfLife (G4double t)
 
G4double GetThresholdOfHalfLife ()
 
void AddState (G4int, G4int, G4double, G4double, G4int, G4double)
 
size_t GetSizeOfIsotopeList ()
 
virtual G4IsotopeProperty * GetIsotope (G4int Z, G4int A, G4double E)
 
virtual G4IsotopeProperty * GetIsotopeByIsoLvl (G4int Z, G4int A, G4int lvl=0)
 
size_t entries () const
 
G4IsotopeProperty * GetIsotopeByIndex (size_t idx) const
 
- Public Member Functions inherited from G4VIsotopeTable
 G4VIsotopeTable ()
 
 G4VIsotopeTable (const G4String &)
 
 G4VIsotopeTable (const G4VIsotopeTable &)
 
G4VIsotopeTable & operator= (const G4VIsotopeTable &)
 
virtual ~G4VIsotopeTable ()
 
G4int GetVerboseLevel () const
 
void SetVerboseLevel (G4int level)
 
void DumpTable (G4int Zmin=1, G4int Zmax=118)
 
const G4String & GetName () const
 

Static Public Member Functions

static G4NuclideTable * GetInstance ()
 
static G4NuclideTable * GetNuclideTable ()
 
static G4double GetTrancationError (G4double eex)
 
static G4double Round (G4double eex)
 
static G4long Trancate (G4double eex)
 
static G4double Tolerance ()
 

Protected Member Functions

void FillHardCodeList ()
 

Private Types

enum  { nEntries_ground_state =2910 }
 
enum  { nEntries_excite_state =3898 }
 
enum  {
  idxZ =0, idxA, idxEnergy, idxLife,
  idxSpin, idxMu
}
 

Private Member Functions

 G4NuclideTable ()
 

Private Attributes

G4double threshold_of_half_life
 
G4IsotopeList * fUserDefinedList
 
std::map< G4int, std::multimap
< G4double, G4IsotopeProperty * > > 
map_pre_load_list
 
std::map< G4int, std::multimap
< G4double, G4IsotopeProperty * > > 
map_hard_code_list
 
std::map< G4int, std::multimap
< G4double, G4IsotopeProperty * > > 
map_full_list
 
G4IsotopeList * fIsotopeList
 

Static Private Attributes

static const G4double groundStateTable [nEntries_ground_state][6]
 
static const G4double exciteStateTable [nEntries_excite_state][6]
 
static const G4double levelTolerance = 1.0*eV
 

Detailed Description

Definition at line 55 of file G4NuclideTable.hh.

Member Typedef Documentation

Definition at line 70 of file G4NuclideTable.hh.

Member Enumeration Documentation

anonymous enum
private
Enumerator
nEntries_ground_state 

Definition at line 138 of file G4NuclideTable.hh.

anonymous enum
private
Enumerator
nEntries_excite_state 

Definition at line 139 of file G4NuclideTable.hh.

anonymous enum
private
Enumerator
idxZ 
idxA 
idxEnergy 
idxLife 
idxSpin 
idxMu 

Definition at line 150 of file G4NuclideTable.hh.

Constructor & Destructor Documentation

G4NuclideTable::G4NuclideTable ( )
private

Definition at line 61 of file G4NuclideTable.cc.

References FillHardCodeList().

+ Here is the call graph for this function:

G4NuclideTable::~G4NuclideTable ( )
virtual

Definition at line 72 of file G4NuclideTable.cc.

References fIsotopeList, map_full_list, map_hard_code_list, and map_pre_load_list.

Member Function Documentation

void G4NuclideTable::AddState ( G4int  ionZ,
G4int  ionA,
G4double  ionE,
G4double  ionLife,
G4int  ionJ = 0,
G4double  ionMu = 0.0 
)

Definition at line 494 of file G4NuclideTable.cc.

References fUserDefinedList, G4IsotopeProperty::SetAtomicMass(), G4IsotopeProperty::SetAtomicNumber(), G4IsotopeProperty::SetDecayTable(), G4IsotopeProperty::SetEnergy(), G4IsotopeProperty::SetIsomerLevel(), G4IsotopeProperty::SetiSpin(), G4IsotopeProperty::SetLifeTime(), and G4IsotopeProperty::SetMagneticMoment().

+ Here is the call graph for this function:

size_t G4NuclideTable::entries ( ) const
inline

Definition at line 158 of file G4NuclideTable.hh.

References fIsotopeList.

Referenced by G4IonTable::PreloadNuclide().

+ Here is the caller graph for this function:

void G4NuclideTable::FillHardCodeList ( )
protected

Definition at line 246 of file G4NuclideTable.cc.

References exciteStateTable, groundStateTable, idxA, idxEnergy, idxLife, idxMu, idxSpin, idxZ, joule, keV, map_hard_code_list, nEntries_excite_state, nEntries_ground_state, ns, second, G4IsotopeProperty::SetAtomicMass(), G4IsotopeProperty::SetAtomicNumber(), G4IsotopeProperty::SetDecayTable(), G4IsotopeProperty::SetEnergy(), G4IsotopeProperty::SetIsomerLevel(), G4IsotopeProperty::SetiSpin(), G4IsotopeProperty::SetLifeTime(), G4IsotopeProperty::SetMagneticMoment(), and tesla.

Referenced by G4NuclideTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NuclideTable::GenerateNuclide ( )

Definition at line 313 of file G4NuclideTable.cc.

References exciteStateTable, FatalException, fIsotopeList, fUserDefinedList, G4Exception(), groundStateTable, idxA, idxEnergy, idxLife, idxMu, idxSpin, idxZ, joule, keV, levelTolerance, map_pre_load_list, nEntries_excite_state, nEntries_ground_state, ns, second, G4IsotopeProperty::SetAtomicMass(), G4IsotopeProperty::SetAtomicNumber(), G4IsotopeProperty::SetDecayTable(), G4IsotopeProperty::SetEnergy(), G4IsotopeProperty::SetIsomerLevel(), G4IsotopeProperty::SetiSpin(), G4IsotopeProperty::SetLifeTime(), G4IsotopeProperty::SetMagneticMoment(), tesla, and threshold_of_half_life.

Referenced by G4IonTable::PreloadNuclide().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4NuclideTable * G4NuclideTable::GetInstance ( void  )
static

Definition at line 55 of file G4NuclideTable.cc.

References instance.

Referenced by GetNuclideTable().

+ Here is the caller graph for this function:

G4IsotopeProperty * G4NuclideTable::GetIsotope ( G4int  Z,
G4int  A,
G4double  E 
)
virtual

Implements G4VIsotopeTable.

Definition at line 112 of file G4NuclideTable.cc.

References A, DBL_MAX, joule, keV, levelTolerance, map_full_list, map_hard_code_list, map_pre_load_list, ns, second, and tesla.

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

+ Here is the caller graph for this function:

G4IsotopeProperty * G4NuclideTable::GetIsotopeByIndex ( size_t  idx) const
inline

Definition at line 164 of file G4NuclideTable.hh.

References fIsotopeList.

Referenced by G4IonTable::PreloadNuclide().

+ Here is the caller graph for this function:

G4IsotopeProperty * G4NuclideTable::GetIsotopeByIsoLvl ( G4int  Z,
G4int  A,
G4int  lvl = 0 
)
virtual

Reimplemented from G4VIsotopeTable.

Definition at line 239 of file G4NuclideTable.cc.

References GetIsotope().

+ Here is the call graph for this function:

static G4NuclideTable* G4NuclideTable::GetNuclideTable ( )
inlinestatic

Definition at line 70 of file G4NuclideTable.hh.

References GetInstance().

Referenced by G4IonTable::PrepareNuclideTable(), and G4IonTable::~G4IonTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

size_t G4NuclideTable::GetSizeOfIsotopeList ( )
inline

Definition at line 97 of file G4NuclideTable.hh.

References fIsotopeList.

G4double G4NuclideTable::GetThresholdOfHalfLife ( )
inline

Definition at line 87 of file G4NuclideTable.hh.

References threshold_of_half_life.

static G4double G4NuclideTable::GetTrancationError ( G4double  eex)
inlinestatic

Definition at line 119 of file G4NuclideTable.hh.

References levelTolerance.

static G4double G4NuclideTable::Round ( G4double  eex)
inlinestatic

Definition at line 121 of file G4NuclideTable.hh.

References levelTolerance.

Referenced by G4IonTable::CreateIon().

+ Here is the caller graph for this function:

void G4NuclideTable::SetThresholdOfHalfLife ( G4double  t)
inline

Definition at line 86 of file G4NuclideTable.hh.

References threshold_of_half_life.

static G4double G4NuclideTable::Tolerance ( )
inlinestatic

Definition at line 125 of file G4NuclideTable.hh.

References levelTolerance.

static G4long G4NuclideTable::Trancate ( G4double  eex)
inlinestatic

Definition at line 123 of file G4NuclideTable.hh.

References levelTolerance.

Member Data Documentation

const G4double G4NuclideTable::exciteStateTable
staticprivate

Definition at line 142 of file G4NuclideTable.hh.

Referenced by FillHardCodeList(), and GenerateNuclide().

G4IsotopeList* G4NuclideTable::fIsotopeList
private
G4IsotopeList* G4NuclideTable::fUserDefinedList
private

Definition at line 131 of file G4NuclideTable.hh.

Referenced by AddState(), and GenerateNuclide().

const G4double G4NuclideTable::groundStateTable
staticprivate

Definition at line 141 of file G4NuclideTable.hh.

Referenced by FillHardCodeList(), and GenerateNuclide().

const G4double G4NuclideTable::levelTolerance = 1.0*eV
staticprivate
std::map< G4int , std::multimap< G4double , G4IsotopeProperty* > > G4NuclideTable::map_full_list
private

Definition at line 135 of file G4NuclideTable.hh.

Referenced by GetIsotope(), and ~G4NuclideTable().

std::map< G4int , std::multimap< G4double , G4IsotopeProperty* > > G4NuclideTable::map_hard_code_list
private

Definition at line 134 of file G4NuclideTable.hh.

Referenced by FillHardCodeList(), GetIsotope(), and ~G4NuclideTable().

std::map< G4int , std::multimap< G4double , G4IsotopeProperty* > > G4NuclideTable::map_pre_load_list
private

Definition at line 133 of file G4NuclideTable.hh.

Referenced by GenerateNuclide(), GetIsotope(), and ~G4NuclideTable().

G4double G4NuclideTable::threshold_of_half_life
private

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