Geant4_10
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
G4IonTable Class Reference

#include <G4IonTable.hh>

Collaboration diagram for G4IonTable:
Collaboration graph
[legend]

Public Types

enum  { numberOfElements = 118 }
 
typedef std::multimap< G4int,
const G4ParticleDefinition * > 
G4IonList
 
typedef std::multimap< G4int,
const G4ParticleDefinition * >
::iterator 
G4IonListIterator
 

Public Member Functions

 G4IonTable ()
 
void SlaveG4IonTable ()
 
void WorkerG4IonTable ()
 
virtual ~G4IonTable ()
 
G4int GetNumberOfElements () const
 
void RegisterIsotopeTable (G4VIsotopeTable *table)
 
G4VIsotopeTable * GetIsotopeTable (size_t idx=0) const
 
void CreateAllIon ()
 
void CreateAllIsomer ()
 
void PreloadNuclide ()
 
G4ParticleDefinition * GetIon (G4int Z, G4int A, G4int lvl=0)
 
G4ParticleDefinition * GetIon (G4int Z, G4int A, G4int L, G4int lvl)
 
G4ParticleDefinition * GetIon (G4int Z, G4int A, G4double E, G4int J=0)
 
G4ParticleDefinition * GetIon (G4int Z, G4int A, G4int L, G4double E, G4int J=0)
 
G4ParticleDefinition * GetIon (G4int encoding)
 
G4ParticleDefinition * FindIon (G4int Z, G4int A, G4int lvl=0)
 
G4ParticleDefinition * FindIon (G4int Z, G4int A, G4int L, G4int lvl)
 
G4ParticleDefinition * FindIon (G4int Z, G4int A, G4double E, G4int J=0)
 
G4ParticleDefinition * FindIon (G4int Z, G4int A, G4int L, G4double E, G4int J=0)
 
const G4String & GetIonName (G4int Z, G4int A, G4int lvl=0) const
 
const G4String & GetIonName (G4int Z, G4int A, G4double E) const
 
const G4String & GetIonName (G4int Z, G4int A, G4int L, G4double E) const
 
const G4String & GetIonName (G4int Z, G4int A, G4int L, G4int lvl) const
 
G4double GetIonMass (G4int Z, G4int A, G4int L=0, G4int lvl=0) const
 
G4double GetNucleusMass (G4int Z, G4int A, G4int L=0, G4int lvl=0) const
 
G4double GetIsomerMass (G4int Z, G4int A, G4int lvl=0) const
 
G4int Entries () const
 
G4ParticleDefinition * GetParticle (G4int index) const
 
G4bool Contains (const G4ParticleDefinition *particle) const
 
void Insert (const G4ParticleDefinition *particle)
 
void Remove (const G4ParticleDefinition *particle)
 
void clear ()
 
G4int size () const
 
void DumpTable (const G4String &particle_name="ALL") const
 
void InitializeLightIons ()
 

Static Public Member Functions

static G4IonTable * GetIonTable ()
 
static G4bool IsIon (const G4ParticleDefinition *)
 
static G4bool IsAntiIon (const G4ParticleDefinition *)
 
static G4int GetNucleusEncoding (G4int Z, G4int A, G4double E=0.0, G4int lvl=0)
 
static G4int GetNucleusEncoding (G4int Z, G4int A, G4int L, G4double E=0.0, G4int lvl=0)
 
static G4bool GetNucleusByEncoding (G4int encoding, G4int &Z, G4int &A, G4double &E, G4int &lvl)
 
static G4bool GetNucleusByEncoding (G4int encoding, G4int &Z, G4int &A, G4int &L, G4double &E, G4int &lvl)
 

Static Public Attributes

static G4ThreadLocal G4IonList * fIonList = 0
 
static G4ThreadLocal
std::vector< G4VIsotopeTable * > * 
fIsotopeTableList = 0
 
static G4IonList * fIonListShadow = 0
 
static std::vector
< G4VIsotopeTable * > * 
fIsotopeTableListShadow = 0
 
static const G4double tolerance = 2.0*keV
 
static const G4String elementName [numberOfElements]
 

Protected Member Functions

 G4IonTable (const G4IonTable &right)
 
G4IonTable & operator= (const G4IonTable &)
 
G4ParticleDefinition * FindIonInMaster (G4int Z, G4int A, G4int lvl=0)
 
G4ParticleDefinition * FindIonInMaster (G4int Z, G4int A, G4int L, G4int lvl)
 
G4ParticleDefinition * FindIonInMaster (G4int Z, G4int A, G4double E, G4int J=0)
 
G4ParticleDefinition * FindIonInMaster (G4int Z, G4int A, G4int L, G4double E, G4int J=0)
 
G4ParticleDefinition * CreateIon (G4int Z, G4int A, G4double E)
 
G4ParticleDefinition * CreateIon (G4int Z, G4int A, G4int L, G4double E)
 
G4ParticleDefinition * CreateIon (G4int Z, G4int A, G4int lvl=0)
 
G4ParticleDefinition * CreateIon (G4int Z, G4int A, G4int L, G4int lvl)
 
void InsertWorker (const G4ParticleDefinition *particle)
 
G4IsotopeProperty * FindIsotope (G4int Z, G4int A, G4double E) const
 
G4IsotopeProperty * FindIsotope (G4int Z, G4int A, G4int lvl) const
 
G4ParticleDefinition * GetLightIon (G4int Z, G4int A) const
 
G4ParticleDefinition * GetLightAntiIon (G4int Z, G4int A) const
 
G4bool IsLightIon (const G4ParticleDefinition *) const
 
G4bool IsLightAntiIon (const G4ParticleDefinition *) const
 
void AddProcessManager (G4ParticleDefinition *)
 
G4int GetVerboseLevel () const
 

Detailed Description

Definition at line 67 of file G4IonTable.hh.

Member Typedef Documentation

typedef std::multimap<G4int, const G4ParticleDefinition*> G4IonTable::G4IonList

Definition at line 76 of file G4IonTable.hh.

typedef std::multimap<G4int, const G4ParticleDefinition*>::iterator G4IonTable::G4IonListIterator

Definition at line 77 of file G4IonTable.hh.

Member Enumeration Documentation

anonymous enum
Enumerator
numberOfElements 

Definition at line 298 of file G4IonTable.hh.

Constructor & Destructor Documentation

G4IonTable::G4IonTable ( )

Definition at line 120 of file G4IonTable.cc.

G4IonTable::G4IonTable ( const G4IonTable &  right)
protected
G4IonTable::~G4IonTable ( )
virtual

Definition at line 185 of file G4IonTable.cc.

Here is the call graph for this function:

Member Function Documentation

void G4IonTable::AddProcessManager ( G4ParticleDefinition *  ion)
protected

Definition at line 1401 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4IonTable::clear ( void  )

Definition at line 1242 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4bool G4IonTable::Contains ( const G4ParticleDefinition *  particle) const

Definition at line 1562 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4IonTable::CreateAllIon ( )

Definition at line 1502 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4IonTable::CreateAllIsomer ( )

Definition at line 1508 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4ParticleDefinition * G4IonTable::CreateIon ( G4int  Z,
G4int  A,
G4double  E 
)
protected

Definition at line 215 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4ParticleDefinition * G4IonTable::CreateIon ( G4int  Z,
G4int  A,
G4int  L,
G4double  E 
)
protected

Definition at line 335 of file G4IonTable.cc.

Here is the call graph for this function:

G4ParticleDefinition * G4IonTable::CreateIon ( G4int  Z,
G4int  A,
G4int  lvl = 0 
)
protected

Definition at line 421 of file G4IonTable.cc.

Here is the call graph for this function:

G4ParticleDefinition * G4IonTable::CreateIon ( G4int  Z,
G4int  A,
G4int  L,
G4int  lvl 
)
protected

Definition at line 431 of file G4IonTable.cc.

Here is the call graph for this function:

void G4IonTable::DumpTable ( const G4String &  particle_name = "ALL") const

Definition at line 1363 of file G4IonTable.cc.

Here is the call graph for this function:

G4int G4IonTable::Entries ( ) const

Definition at line 1584 of file G4IonTable.cc.

Here is the caller graph for this function:

G4ParticleDefinition * G4IonTable::FindIon ( G4int  Z,
G4int  A,
G4int  lvl = 0 
)

Definition at line 754 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4ParticleDefinition * G4IonTable::FindIon ( G4int  Z,
G4int  A,
G4int  L,
G4int  lvl 
)

Definition at line 806 of file G4IonTable.cc.

Here is the call graph for this function:

G4ParticleDefinition * G4IonTable::FindIon ( G4int  Z,
G4int  A,
G4double  E,
G4int  J = 0 
)

Definition at line 661 of file G4IonTable.cc.

Here is the call graph for this function:

G4ParticleDefinition * G4IonTable::FindIon ( G4int  Z,
G4int  A,
G4int  L,
G4double  E,
G4int  J = 0 
)

Definition at line 709 of file G4IonTable.cc.

Here is the call graph for this function:

G4ParticleDefinition * G4IonTable::FindIonInMaster ( G4int  Z,
G4int  A,
G4int  lvl = 0 
)
protected

Definition at line 1660 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4ParticleDefinition * G4IonTable::FindIonInMaster ( G4int  Z,
G4int  A,
G4int  L,
G4int  lvl 
)
protected

Definition at line 1689 of file G4IonTable.cc.

Here is the call graph for this function:

G4ParticleDefinition * G4IonTable::FindIonInMaster ( G4int  Z,
G4int  A,
G4double  E,
G4int  J = 0 
)
protected

Definition at line 1597 of file G4IonTable.cc.

Here is the call graph for this function:

G4ParticleDefinition * G4IonTable::FindIonInMaster ( G4int  Z,
G4int  A,
G4int  L,
G4double  E,
G4int  J = 0 
)
protected

Definition at line 1627 of file G4IonTable.cc.

Here is the call graph for this function:

G4IsotopeProperty * G4IonTable::FindIsotope ( G4int  Z,
G4int  A,
G4double  E 
) const
protected

Definition at line 1465 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4IsotopeProperty * G4IonTable::FindIsotope ( G4int  Z,
G4int  A,
G4int  lvl 
) const
protected

Definition at line 1483 of file G4IonTable.cc.

Here is the call graph for this function:

G4ParticleDefinition * G4IonTable::GetIon ( G4int  Z,
G4int  A,
G4int  lvl = 0 
)

Definition at line 449 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4ParticleDefinition * G4IonTable::GetIon ( G4int  Z,
G4int  A,
G4int  L,
G4int  lvl 
)

Definition at line 495 of file G4IonTable.cc.

Here is the call graph for this function:

G4ParticleDefinition * G4IonTable::GetIon ( G4int  Z,
G4int  A,
G4double  E,
G4int  J = 0 
)

Definition at line 553 of file G4IonTable.cc.

Here is the call graph for this function:

G4ParticleDefinition * G4IonTable::GetIon ( G4int  Z,
G4int  A,
G4int  L,
G4double  E,
G4int  J = 0 
)

Definition at line 591 of file G4IonTable.cc.

Here is the call graph for this function:

G4ParticleDefinition * G4IonTable::GetIon ( G4int  encoding)

Definition at line 641 of file G4IonTable.cc.

Here is the call graph for this function:

G4double G4IonTable::GetIonMass ( G4int  Z,
G4int  A,
G4int  L = 0,
G4int  lvl = 0 
) const

Definition at line 1232 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

const G4String & G4IonTable::GetIonName ( G4int  Z,
G4int  A,
G4int  lvl = 0 
) const

Definition at line 992 of file G4IonTable.cc.

Here is the caller graph for this function:

const G4String & G4IonTable::GetIonName ( G4int  Z,
G4int  A,
G4double  E 
) const

Definition at line 949 of file G4IonTable.cc.

Here is the call graph for this function:

const G4String & G4IonTable::GetIonName ( G4int  Z,
G4int  A,
G4int  L,
G4double  E 
) const

Definition at line 977 of file G4IonTable.cc.

Here is the call graph for this function:

const G4String & G4IonTable::GetIonName ( G4int  Z,
G4int  A,
G4int  L,
G4int  lvl 
) const

Definition at line 1029 of file G4IonTable.cc.

Here is the call graph for this function:

static G4IonTable* G4IonTable::GetIonTable ( )
inlinestatic

Definition at line 80 of file G4IonTable.hh.

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4IonTable::GetIsomerMass ( G4int  Z,
G4int  A,
G4int  lvl = 0 
) const

Definition at line 1226 of file G4IonTable.cc.

Here is the call graph for this function:

G4VIsotopeTable * G4IonTable::GetIsotopeTable ( size_t  idx = 0) const

Definition at line 1454 of file G4IonTable.cc.

Here is the call graph for this function:

G4ParticleDefinition * G4IonTable::GetLightAntiIon ( G4int  Z,
G4int  A 
) const
protected

Definition at line 1139 of file G4IonTable.cc.

Here is the call graph for this function:

G4ParticleDefinition * G4IonTable::GetLightIon ( G4int  Z,
G4int  A 
) const
protected

Definition at line 1114 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4bool G4IonTable::GetNucleusByEncoding ( G4int  encoding,
G4int &  Z,
G4int &  A,
G4double &  E,
G4int &  lvl 
)
static

Definition at line 895 of file G4IonTable.cc.

Here is the caller graph for this function:

G4bool G4IonTable::GetNucleusByEncoding ( G4int  encoding,
G4int &  Z,
G4int &  A,
G4int &  L,
G4double &  E,
G4int &  lvl 
)
static

!!not supported for excitation states !!!

Definition at line 916 of file G4IonTable.cc.

G4int G4IonTable::GetNucleusEncoding ( G4int  Z,
G4int  A,
G4double  E = 0.0,
G4int  lvl = 0 
)
static

Definition at line 854 of file G4IonTable.cc.

Here is the caller graph for this function:

G4int G4IonTable::GetNucleusEncoding ( G4int  Z,
G4int  A,
G4int  L,
G4double  E = 0.0,
G4int  lvl = 0 
)
static

Definition at line 875 of file G4IonTable.cc.

Here is the call graph for this function:

G4double G4IonTable::GetNucleusMass ( G4int  Z,
G4int  A,
G4int  L = 0,
G4int  lvl = 0 
) const

Definition at line 1167 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4int G4IonTable::GetNumberOfElements ( ) const
inline

Definition at line 313 of file G4IonTable.hh.

G4ParticleDefinition * G4IonTable::GetParticle ( G4int  index) const

Definition at line 1538 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4int G4IonTable::GetVerboseLevel ( ) const
protected

Definition at line 1395 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4IonTable::InitializeLightIons ( )

Definition at line 177 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4IonTable::Insert ( const G4ParticleDefinition *  particle)

Definition at line 1260 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4IonTable::InsertWorker ( const G4ParticleDefinition *  particle)
protected

Definition at line 1275 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4bool G4IonTable::IsAntiIon ( const G4ParticleDefinition *  particle)
static

Definition at line 1069 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4bool G4IonTable::IsIon ( const G4ParticleDefinition *  particle)
static

Definition at line 1044 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4bool G4IonTable::IsLightAntiIon ( const G4ParticleDefinition *  particle) const
protected

Definition at line 1104 of file G4IonTable.cc.

Here is the call graph for this function:

G4bool G4IonTable::IsLightIon ( const G4ParticleDefinition *  particle) const
protected

Definition at line 1095 of file G4IonTable.cc.

Here is the call graph for this function:

G4IonTable& G4IonTable::operator= ( const G4IonTable &  )
inlineprotected

Definition at line 95 of file G4IonTable.hh.

void G4IonTable::PreloadNuclide ( )

Definition at line 1515 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4IonTable::RegisterIsotopeTable ( G4VIsotopeTable *  table)

Definition at line 1440 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4IonTable::Remove ( const G4ParticleDefinition *  particle)

Definition at line 1301 of file G4IonTable.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4int G4IonTable::size ( ) const

Definition at line 1590 of file G4IonTable.cc.

Here is the caller graph for this function:

void G4IonTable::SlaveG4IonTable ( )

Definition at line 147 of file G4IonTable.cc.

Here is the call graph for this function:

void G4IonTable::WorkerG4IonTable ( )

Definition at line 152 of file G4IonTable.cc.

Here is the caller graph for this function:

Member Data Documentation

const G4String G4IonTable::elementName
static
Initial value:
= {
"H", "He",
"Li", "Be", "B", "C", "N", "O", "F", "Ne",
"Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar",
"K", "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr",
"Rb", "Sr", "Y", "Zr", "Nb", "Mo","Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe",
"Cs", "Ba",
"La", "Ce", "Pr", "Nd", "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu",
"Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", "Tl", "Pb", "Bi", "Po", "At", "Rn",
"Fr", "Ra",
"Ac", "Th", "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", "Md", "No", "Lr",
"Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg",
"Cn", "Uut", "Fl","Uup","Lv","Uus","Uuo"
}

Definition at line 299 of file G4IonTable.hh.

G4ThreadLocal G4IonTable::G4IonList * G4IonTable::fIonList = 0
static

Definition at line 286 of file G4IonTable.hh.

G4IonTable::G4IonList * G4IonTable::fIonListShadow = 0
static

Definition at line 288 of file G4IonTable.hh.

G4ThreadLocal std::vector< G4VIsotopeTable * > * G4IonTable::fIsotopeTableList = 0
static

Definition at line 287 of file G4IonTable.hh.

std::vector< G4VIsotopeTable * > * G4IonTable::fIsotopeTableListShadow = 0
static

Definition at line 289 of file G4IonTable.hh.

const G4double G4IonTable::tolerance = 2.0*keV
static

Definition at line 296 of file G4IonTable.hh.


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