57#ifndef G4NistManager_h
58#define G4NistManager_h 1
187 const std::vector<G4int>& nbAtoms,
G4double dens,
G4bool isotopes =
true,
189 G4double pressure = CLHEP::STP_Pressure);
195 const std::vector<G4double>& weight,
G4double dens,
G4bool isotopes =
true,
197 G4double pressure = CLHEP::STP_Pressure);
207 const std::vector<G4String>& elm,
const std::vector<G4int>& nbAtoms,
G4bool isotopes =
true,
262 std::vector<G4Element*> elements;
263 std::vector<G4Material*> materials;
277 std::size_t nElements;
278 std::size_t nMaterials;
290 return (index < theElementTable->size()) ? (*theElementTable)[index] :
nullptr;
301 return elmBuilder->FindOrBuildElement(Z, isotopes);
308 return elmBuilder->FindOrBuildElement(symb, isotopes);
323 return elmBuilder->GetAtomicMassAmu(symb);
330 return elmBuilder->GetAtomicMassAmu(Z);
337 return elmBuilder->GetIsotopeMass(Z,
N);
344 return elmBuilder->GetAtomicMass(Z,
N);
351 return elmBuilder->GetTotalElectronBindingEnergy(Z);
358 return elmBuilder->GetIsotopeAbundance(Z,
N);
365 return elmBuilder->GetNistFirstIsotopeN(Z);
372 return elmBuilder->GetNumberOfNistIsotopes(Z);
379 return elmBuilder->GetElementNames();
386 return matBuilder->GetMeanIonisationEnergy(Z);
393 return matBuilder->GetNominalDensity(Z);
404 return (index < theMaterialTable->size()) ? (*theMaterialTable)[index] :
nullptr;
415 return matBuilder->FindMaterial(name);
422 return matBuilder->FindOrBuildMaterial(name, warning);
429 return matBuilder->FindSimpleMaterial(Z);
436 return matBuilder->FindOrBuildSimpleMaterial(Z, warning);
442 const std::vector<G4String>& elm,
const std::vector<G4int>& nbAtoms,
G4double dens,
G4bool,
446 return matBuilder->ConstructNewMaterial(name, elm, nbAtoms, dens, state, T, P);
452 const std::vector<G4String>& elm,
const std::vector<G4double>& w,
G4double dens,
G4bool,
455 return matBuilder->ConstructNewMaterial(name, elm, w, dens, state, T, P);
463 return matBuilder->ConstructNewGasMaterial(name, nameNist, temp, pres);
469 const std::vector<G4String>& elm,
const std::vector<G4int>& nbAtoms,
G4bool,
G4double T,
472 return matBuilder->ConstructNewIdealGasMaterial(name, elm, nbAtoms, T, P);
479 matBuilder->ListMaterials(list);
486 return matBuilder->GetMaterialNames();
501 return (0 <= Z && Z < 101) ? POWERA27[Z] : g4pow->powZ(Z, 0.27);
512 return (0 <= Z && Z < 101) ? LOGAZ[Z] : 0.0;
std::vector< G4Element * > G4ElementTable
std::vector< G4Isotope * > G4IsotopeTable
std::vector< G4Material * > G4MaterialTable
G4Material * ConstructNewGasMaterial(const G4String &name, const G4String &nameNist, G4double temp, G4double pres, G4bool isotopes=true)
G4int GetNumberOfNistIsotopes(G4int Z) const
G4ICRU90StoppingData * GetICRU90StoppingData()
G4double GetA27(G4int Z) const
G4Element * FindElement(G4int Z) const
G4double GetTotalElectronBindingEnergy(G4int Z) const
G4double GetZ13(G4double Z) const
G4Material * FindSimpleMaterial(G4int Z) const
G4Material * GetMaterial(std::size_t index) const
void PrintElement(G4int Z) const
void SetDensityEffectCalculatorFlag(const G4String &, G4bool)
G4Material * ConstructNewIdealGasMaterial(const G4String &name, const std::vector< G4String > &elm, const std::vector< G4int > &nbAtoms, G4bool isotopes=true, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
G4Element * GetElement(std::size_t index) const
G4double GetIsotopeMass(G4int Z, G4int N) const
const std::vector< G4String > & GetNistMaterialNames() const
G4double GetAtomicMass(G4int Z, G4int N) const
G4Material * FindOrBuildSimpleMaterial(G4int Z, G4bool warning=false)
void ListMaterials(const G4String &) const
std::size_t GetNumberOfElements() const
G4Material * BuildMaterialWithNewDensity(const G4String &name, const G4String &basename, G4double density=0.0, G4double temp=NTP_Temperature, G4double pres=CLHEP::STP_Pressure)
G4double GetMeanIonisationEnergy(G4int Z) const
const std::vector< G4String > & GetNistElementNames() const
void PrintG4Material(const G4String &) const
void PrintG4Element(const G4String &) const
std::size_t GetNumberOfMaterials() const
G4Material * ConstructNewMaterial(const G4String &name, const std::vector< G4String > &elm, const std::vector< G4int > &nbAtoms, G4double dens, G4bool isotopes=true, G4State state=kStateSolid, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
G4double GetLOGZ(G4int Z) const
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
G4Material * FindMaterial(const G4String &name) const
G4int GetZ(const G4String &symb) const
G4int GetNistFirstIsotopeN(G4int Z) const
static G4NistManager * Instance()
G4double GetIsotopeAbundance(G4int Z, G4int N) const
G4Element * FindOrBuildElement(G4int Z, G4bool isotopes=true)
G4double GetLOGAMU(G4int Z) const
G4double GetAtomicMassAmu(const G4String &symb) const
G4double GetNominalDensity(G4int Z) const