Geant4  10.01.p02
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 G4IsotopePropertyGetIsotope (G4int Z, G4int A, G4double E)
 
virtual G4IsotopePropertyGetIsotopeByIsoLvl (G4int Z, G4int A, G4int lvl=0)
 
size_t entries () const
 
G4IsotopePropertyGetIsotopeByIndex (size_t idx) const
 
- Public Member Functions inherited from G4VIsotopeTable
 G4VIsotopeTable ()
 
 G4VIsotopeTable (const G4String &)
 
 G4VIsotopeTable (const G4VIsotopeTable &)
 
G4VIsotopeTableoperator= (const G4VIsotopeTable &)
 
virtual ~G4VIsotopeTable ()
 
G4int GetVerboseLevel () const
 
void SetVerboseLevel (G4int level)
 
void DumpTable (G4int Zmin=1, G4int Zmax=118)
 
const G4StringGetName () const
 

Static Public Member Functions

static G4NuclideTableGetInstance ()
 
static G4NuclideTableGetNuclideTable ()
 
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
 
G4IsotopeListfUserDefinedList
 
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
 
G4IsotopeListfIsotopeList
 

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: