Geant4  10.03
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)
 
void AddState (G4int, G4int, G4double, G4int, G4double, G4int ionJ=0, G4double ionMu=0.0)
 
void AddState (G4int, G4int, G4double, G4Ions::G4FloatLevelBase, G4double, G4int ionJ=0, G4double ionMu=0.0)
 
size_t GetSizeOfIsotopeList ()
 
virtual G4IsotopePropertyGetIsotope (G4int Z, G4int A, G4double E, G4Ions::G4FloatLevelBase flb=G4Ions::G4FloatLevelBase::no_Float)
 
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 ()
 
G4double StripFloatLevelBase (G4double E, G4int &flbIndex)
 
G4Ions::G4FloatLevelBase StripFloatLevelBase (G4String)
 

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 161 of file G4NuclideTable.hh.

Constructor & Destructor Documentation

G4NuclideTable::G4NuclideTable ( )
private

Definition at line 62 of file G4NuclideTable.cc.

References fIsotopeList, fMessenger, and GenerateNuclide().

+ Here is the call graph for this function:

G4NuclideTable::~G4NuclideTable ( )
virtual

Definition at line 78 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 
)

Definition at line 311 of file G4NuclideTable.cc.

References G4Threading::IsMasterThread(), and StripFloatLevelBase().

+ Here is the call graph for this function:

void G4NuclideTable::AddState ( G4int  ionZ,
G4int  ionA,
G4double  ionE,
G4int  flbIndex,
G4double  ionLife,
G4int  ionJ = 0,
G4double  ionMu = 0.0 
)
void G4NuclideTable::AddState ( G4int  ionZ,
G4int  ionA,
G4double  ionE,
G4Ions::G4FloatLevelBase  flb,
G4double  ionLife,
G4int  ionJ = 0,
G4double  ionMu = 0.0 
)
size_t G4NuclideTable::entries ( ) const
inline

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

void G4NuclideTable::GenerateNuclide ( )

Definition at line 176 of file G4NuclideTable.cc.

References FatalException, fIsotopeList, G4Exception(), joule, keV, map_full_list, map_pre_load_list, minimum_threshold_of_half_life, G4Ions::no_Float, ns, second, G4IsotopeProperty::SetAtomicMass(), G4IsotopeProperty::SetAtomicNumber(), G4IsotopeProperty::SetDecayTable(), G4IsotopeProperty::SetEnergy(), G4IsotopeProperty::SetFloatLevelBase(), G4IsotopeProperty::SetIsomerLevel(), G4IsotopeProperty::SetiSpin(), G4IsotopeProperty::SetLifeTime(), G4IsotopeProperty::SetMagneticMoment(), StripFloatLevelBase(), 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 56 of file G4NuclideTable.cc.

References instance.

Referenced by PhysicsList::AddRadioactiveDecay(), GetNuclideTable(), GetTrancationError(), Round(), Tolerance(), and Trancate().

+ Here is the caller graph for this function:

G4IsotopeProperty * G4NuclideTable::GetIsotope ( G4int  Z,
G4int  A,
G4double  E,
G4Ions::G4FloatLevelBase  flb = G4Ions::G4FloatLevelBase::no_Float 
)
virtual

Implements G4VIsotopeTable.

Definition at line 108 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 179 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 163 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 104 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 129 of file G4NuclideTable.hh.

References GetInstance(), and GetLevelTolerance().

+ Here is the call graph for this function:

static G4double G4NuclideTable::Round ( G4double  eex)
inlinestatic

Definition at line 132 of file G4NuclideTable.hh.

References GetInstance(), and GetLevelTolerance().

+ Here is the call graph for this function:

void G4NuclideTable::SetLevelTolerance ( G4double  x)
inline

Definition at line 92 of file G4NuclideTable.hh.

References flevelTolerance.

Referenced by G4NuclideTableMessenger::SetNewValue().

+ Here is the caller graph for this function:

void G4NuclideTable::SetThresholdOfHalfLife ( G4double  t)

Definition at line 373 of file G4NuclideTable.cc.

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

Referenced by PhysicsList::AddRadioactiveDecay(), and G4NuclideTableMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4NuclideTable::StripFloatLevelBase ( G4double  E,
G4int flbIndex 
)
private

Definition at line 381 of file G4NuclideTable.cc.

References eV.

Referenced by AddState(), and GenerateNuclide().

+ Here is the caller graph for this function:

G4Ions::G4FloatLevelBase G4NuclideTable::StripFloatLevelBase ( G4String  sFLB)
private

Definition at line 388 of file G4NuclideTable.cc.

References FatalException, G4Ions::FloatLevelBase(), G4Exception(), and noFloat.

+ Here is the call graph for this function:

static G4double G4NuclideTable::Tolerance ( )
inlinestatic

Definition at line 138 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 135 of file G4NuclideTable.hh.

References GetInstance(), and GetLevelTolerance().

+ Here is the call graph for this function:

Member Data Documentation

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

Definition at line 164 of file G4NuclideTable.hh.

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

G4NuclideTableMessenger* G4NuclideTable::fMessenger
private

Definition at line 165 of file G4NuclideTable.hh.

Referenced by G4NuclideTable().

G4IsotopeList* G4NuclideTable::fUserDefinedList
private

Definition at line 145 of file G4NuclideTable.hh.

Referenced by AddState(), and GetIsotope().

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

Definition at line 152 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 151 of file G4NuclideTable.hh.

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

G4double G4NuclideTable::minimum_threshold_of_half_life
private

Definition at line 144 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: