65 #ifndef G4NistManager_h
66 #define G4NistManager_h 1
203 const std::vector<G4String>& elm,
204 const std::vector<G4int>& nbAtoms,
215 const std::vector<G4String>& elm,
216 const std::vector<G4double>&
weight,
235 const std::vector<G4String>& elm,
236 const std::vector<G4int>& nbAtoms,
301 #ifdef G4MULTITHREADED
302 static G4Mutex nistManagerMutex;
319 return (index < theElementTable->size()) ? (*theElementTable)[index] :
nullptr;
457 return (index < theMaterialTable->size()) ? (*theMaterialTable)[index] :
nullptr;
505 const std::vector<G4String>& elm,
506 const std::vector<G4int>& nbAtoms,
522 const std::vector<G4String>& elm,
523 const std::vector<G4double>&
w,
549 const std::vector<G4String>& elm,
550 const std::vector<G4int>& nbAtoms,
592 return (0 <= Z && Z < 101) ?
POWERA27[
Z] : 0.0;
606 return (0 <= Z && Z < 101) ?
LOGAZ[
Z] : 0.0;
G4Material * FindOrBuildSimpleMaterial(G4int Z, G4bool warning)
G4NistElementBuilder * elmBuilder
G4double logZ(G4int Z) const
void ListMaterials(const G4String &) const
G4double GetTotalElectronBindingEnergy(G4int Z) const
G4int GetNistFirstIsotopeN(G4int Z) const
G4Element * GetElement(size_t index) const
G4double Z13(G4int Z) const
G4double A13(G4double A) const
static const G4double NTP_Temperature
static G4MaterialTable * GetMaterialTable()
G4NistMessenger * messenger
void PrintElement(G4int Z) const
G4int GetNumberOfNistIsotopes(G4int Z) const
void PrintG4Element(const G4String &) const
std::vector< G4Element * > elements
G4Material * FindMaterial(const G4String &name) const
G4double GetAtomicMass(G4int Z, G4int N) const
G4double GetNominalDensity(G4int Z) const
G4double GetLOGZ(G4int Z) const
G4Material * GetMaterial(size_t index) const
G4double GetAtomicMassAmu(const G4String &symb) const
G4double GetLOGAMU(G4int Z) const
G4Material * BuildMaterialWithNewDensity(const G4String &name, const G4String &basename, G4double density=0.0, G4double temp=NTP_Temperature, G4double pres=CLHEP::STP_Pressure)
G4int GetZ(const G4String &symb) const
static constexpr double STP_Pressure
std::vector< G4Material * > materials
const std::vector< G4String > & GetElementNames() const
G4Element * FindOrBuildElement(G4int Z, G4bool isotopes=true)
const std::vector< G4String > & GetNistElementNames() const
G4double GetIsotopeMass(G4int Z, G4int N) const
G4Material * ConstructNewGasMaterial(const G4String &name, const G4String &nameNist, G4double temp, G4double pres, G4bool isotopes=true)
G4double GetAtomicMass(G4int Z, G4int N) const
G4Element * FindElement(G4int Z) const
void PrintG4Material(const G4String &) const
void ListMaterials(const G4String &) 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)
G4Material * ConstructNewGasMaterial(const G4String &name, const G4String &nameDB, G4double temp, G4double pres, G4bool isotopes=true)
G4double GetAtomicMassAmu(const G4String &symb) const
G4double GetIsotopeAbundance(G4int Z, G4int N) const
G4double GetIsotopeAbundance(G4int Z, G4int N) const
G4int GetNumberOfNistIsotopes(G4int Z) const
std::vector< G4Element * > G4ElementTable
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
double A(double temperature)
G4Material * FindOrBuildSimpleMaterial(G4int Z, G4bool warning=false)
G4Element * FindOrBuildElement(G4int Z, G4bool buildIsotopes=true)
G4Material * FindSimpleMaterial(G4int Z) const
G4double GetNominalDensity(G4int index) const
const std::vector< G4String > & GetNistMaterialNames() const
G4double GetTotalElectronBindingEnergy(G4int Z) const
G4double GetIsotopeMass(G4int Z, G4int N) const
std::vector< G4Material * > G4MaterialTable
G4double GetMeanIonisationEnergy(G4int index) const
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=true)
G4double GetA27(G4int Z) const
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)
size_t GetNumberOfMaterials() const
G4double GetMeanIonisationEnergy(G4int Z) const
G4NistMaterialBuilder * matBuilder
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)
G4double GetZ13(G4double Z) const
G4Element * FindElement(G4int Z) const
size_t GetNumberOfElements() const
void PrintElement(G4int Z) 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)
G4int GetZ(const G4String &symb) const
static G4NistManager * instance
const std::vector< G4String > & GetMaterialNames() const
G4Material * FindMaterial(const G4String &name) const
G4Material * FindSimpleMaterial(G4int Z) const
static G4NistManager * Instance()
static G4ElementTable * GetElementTable()
G4int GetNistFirstIsotopeN(G4int Z) const