35#define G4IonTable_hh 1
55 using G4IonList = std::multimap<G4int, const G4ParticleDefinition*>;
255#ifdef G4MULTITHREADED
299 G4bool isIsomerCreated =
false;
G4bool Contains(const G4ParticleDefinition *particle) const
void Remove(const G4ParticleDefinition *particle)
static G4ThreadLocal std::vector< G4VIsotopeTable * > * fIsotopeTableList
void PrepareNuclideTable()
static G4IonList * fIonListShadow
G4IonTable(const G4IonTable &)=delete
G4bool IsLightAntiIon(const G4ParticleDefinition *) const
G4double GetNucleusMass(G4int Z, G4int A, G4int nL=0, G4int lvl=0) const
static G4bool GetNucleusByEncoding(G4int encoding, G4int &Z, G4int &A, G4double &E, G4int &lvl)
G4ParticleDefinition * GetMuonicAtom(G4Ions const *)
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
G4ParticleDefinition * GetParticle(G4int index) const
G4bool IsLightIon(const G4ParticleDefinition *) const
std::multimap< G4int, const G4ParticleDefinition * > G4IonList
void DestroyWorkerG4IonTable()
static std::vector< G4VIsotopeTable * > * fIsotopeTableListShadow
void DumpTable(const G4String &particle_name="ALL") const
G4String GetIonName(G4int Z, G4int A, G4int lvl=0) const
static G4ThreadLocal G4IonList * fIonList
G4ParticleDefinition * GetLightIon(G4int Z, G4int A) const
static G4IonTable * GetIonTable()
G4double GetLifeTime(const G4ParticleDefinition *) const
void RegisterIsotopeTable(G4VIsotopeTable *table)
static G4bool IsIon(const G4ParticleDefinition *)
G4ParticleDefinition * FindIon(G4int Z, G4int A, G4int lvl=0)
static G4int GetNucleusEncoding(G4int Z, G4int A, G4double E=0.0, G4int lvl=0)
void InsertWorker(const G4ParticleDefinition *particle)
std::multimap< G4int, const G4ParticleDefinition * >::iterator G4IonListIterator
G4IonTable & operator=(const G4IonTable &)=delete
G4int GetNumberOfElements() const
void AddProcessManager(G4ParticleDefinition *)
void Insert(const G4ParticleDefinition *particle)
G4double GetIonMass(G4int Z, G4int A, G4int nL=0, G4int lvl=0) const
G4int GetVerboseLevel() const
static const G4String elementName[numberOfElements]
G4double GetIsomerMass(G4int Z, G4int A, G4int lvl=0) const
static G4bool IsAntiIon(const G4ParticleDefinition *)
G4IsotopeProperty * FindIsotope(G4int Z, G4int A, G4double E, G4Ions::G4FloatLevelBase flb) const
G4VIsotopeTable * GetIsotopeTable(std::size_t idx=0) const
void InitializeLightIons()
G4ParticleDefinition * GetLightAntiIon(G4int Z, G4int A) const
G4ParticleDefinition * FindIonInMaster(G4int Z, G4int A, G4int lvl=0)
G4ParticleDefinition * CreateIon(G4int Z, G4int A, G4double E, G4Ions::G4FloatLevelBase flb)