Geant4  10.02.p01
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)
 
G4double GetThresholdOfHalfLife ()
 
void SetLevelTolerance (G4double x)
 
G4double GetLevelTolerance ()
 
void AddState (G4int, G4int, G4double, G4double, G4int ionJ=0, G4double ionMu=0.0)
 
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  {
  idxZ =0, idxA, idxEnergy, idxLife,
  idxSpin, idxMu
}
 

Private Member Functions

 G4NuclideTable ()
 

Private Attributes

G4double threshold_of_half_life
 
G4double minimum_threshold_of_half_life
 
G4IsotopeListfUserDefinedList
 
std::map< G4int, std::multimap
< G4double, G4IsotopeProperty * > > 
map_pre_load_list
 
std::map< G4int, std::multimap
< G4double, G4IsotopeProperty * > > 
map_full_list
 
G4IsotopeListfIsotopeList
 
G4double flevelTolerance
 
G4NuclideTableMessengerfMessenger
 

Detailed Description

Definition at line 58 of file G4NuclideTable.hh.

Member Typedef Documentation

Definition at line 73 of file G4NuclideTable.hh.

Member Enumeration Documentation

anonymous enum
private
Enumerator
idxZ 
idxA 
idxEnergy 
idxLife 
idxSpin 
idxMu 

Definition at line 157 of file G4NuclideTable.hh.

Constructor & Destructor Documentation

G4NuclideTable::G4NuclideTable ( )
private

Definition at line 61 of file G4NuclideTable.cc.

References fIsotopeList, fMessenger, and GenerateNuclide().

+ Here is the call graph for this function:

G4NuclideTable::~G4NuclideTable ( )
virtual

Definition at line 77 of file G4NuclideTable.cc.

References fIsotopeList, map_full_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 
)
size_t G4NuclideTable::entries ( ) const
inline

Definition at line 166 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 155 of file G4NuclideTable.cc.

void G4NuclideTable::GenerateNuclide ( )

Definition at line 161 of file G4NuclideTable.cc.

References DBL_MAX, FatalException, fIsotopeList, G4Exception(), joule, keV, map_full_list, map_pre_load_list, minimum_threshold_of_half_life, 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 G4NuclideTable(), G4IonTable::PreloadNuclide(), and SetThresholdOfHalfLife().

+ 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(), GetTrancationError(), Round(), Tolerance(), and Trancate().

+ Here is the caller graph for this function:

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

Implements G4VIsotopeTable.

Definition at line 107 of file G4NuclideTable.cc.

References A(), DBL_MAX, flevelTolerance, fUserDefinedList, G4IsotopeProperty::GetEnergy(), map_pre_load_list, and second.

Referenced by GetIsotopeByIsoLvl().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 172 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 148 of file G4NuclideTable.cc.

References GetIsotope().

+ Here is the call graph for this function:

G4double G4NuclideTable::GetLevelTolerance ( )
inline

Definition at line 93 of file G4NuclideTable.hh.

References flevelTolerance.

Referenced by G4IonTable::FindIon(), G4IonTable::FindIonInMaster(), GetTrancationError(), Round(), Tolerance(), and Trancate().

+ Here is the caller graph for this function:

static G4NuclideTable* G4NuclideTable::GetNuclideTable ( )
inlinestatic

Definition at line 73 of file G4NuclideTable.hh.

References GetInstance().

Referenced by G4IonTable::DestroyWorkerG4IonTable(), 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 103 of file G4NuclideTable.hh.

References fIsotopeList.

G4double G4NuclideTable::GetThresholdOfHalfLife ( )
inline

Definition at line 90 of file G4NuclideTable.hh.

References threshold_of_half_life.

static G4double G4NuclideTable::GetTrancationError ( G4double  eex)
inlinestatic

Definition at line 125 of file G4NuclideTable.hh.

References GetInstance(), GetLevelTolerance(), and tolerance.

+ Here is the call graph for this function:

static G4double G4NuclideTable::Round ( G4double  eex)
inlinestatic

Definition at line 128 of file G4NuclideTable.hh.

References GetInstance(), GetLevelTolerance(), and tolerance.

+ Here is the call graph for this function:

void G4NuclideTable::SetLevelTolerance ( G4double  x)
inline

Definition at line 92 of file G4NuclideTable.hh.

References flevelTolerance, and x.

Referenced by G4NuclideTableMessenger::SetNewValue().

+ Here is the caller graph for this function:

void G4NuclideTable::SetThresholdOfHalfLife ( G4double  t)

Definition at line 312 of file G4NuclideTable.cc.

References GenerateNuclide(), G4Threading::IsMasterThread(), and threshold_of_half_life.

Referenced by G4NuclideTableMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static G4double G4NuclideTable::Tolerance ( )
inlinestatic

Definition at line 134 of file G4NuclideTable.hh.

References GetInstance(), and GetLevelTolerance().

+ Here is the call graph for this function:

static G4long G4NuclideTable::Trancate ( G4double  eex)
inlinestatic

Definition at line 131 of file G4NuclideTable.hh.

References GetInstance(), GetLevelTolerance(), and tolerance.

+ Here is the call graph for this function:

Member Data Documentation

G4IsotopeList* G4NuclideTable::fIsotopeList
private
G4double G4NuclideTable::flevelTolerance
private

Definition at line 160 of file G4NuclideTable.hh.

Referenced by GetIsotope(), GetLevelTolerance(), and SetLevelTolerance().

G4NuclideTableMessenger* G4NuclideTable::fMessenger
private

Definition at line 161 of file G4NuclideTable.hh.

Referenced by G4NuclideTable().

G4IsotopeList* G4NuclideTable::fUserDefinedList
private

Definition at line 141 of file G4NuclideTable.hh.

Referenced by AddState(), and GetIsotope().

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

Definition at line 148 of file G4NuclideTable.hh.

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

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

Definition at line 147 of file G4NuclideTable.hh.

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

G4double G4NuclideTable::minimum_threshold_of_half_life
private

Definition at line 140 of file G4NuclideTable.hh.

Referenced by GenerateNuclide().

G4double G4NuclideTable::threshold_of_half_life
private

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