65 #ifndef G4NistManager_h
66 #define G4NistManager_h 1
69 #include <CLHEP/Units/PhysicalConstants.h>
196 G4double pres = CLHEP::STP_Pressure);
202 const std::vector<G4String>& elm,
203 const std::vector<G4int>& nbAtoms,
208 G4double pressure = CLHEP::STP_Pressure);
214 const std::vector<G4String>& elm,
215 const std::vector<G4double>& weight,
220 G4double pressure = CLHEP::STP_Pressure);
234 const std::vector<G4String>& elm,
235 const std::vector<G4int>& nbAtoms,
238 G4double pressure = CLHEP::STP_Pressure);
315 return (index < theElementTable->size()) ? (*theElementTable)[index] :
nullptr;
453 return (index < theMaterialTable->size()) ? (*theMaterialTable)[index] :
nullptr;
501 const std::vector<G4String>& elm,
502 const std::vector<G4int>& nbAtoms,
518 const std::vector<G4String>& elm,
519 const std::vector<G4double>& w,
545 const std::vector<G4String>& elm,
546 const std::vector<G4int>& nbAtoms,
588 return (0 <= Z && Z < 101) ?
POWERA27[Z] : 0.0;
602 return (0 <= Z && Z < 101) ?
LOGAZ[Z] : 0.0;
G4double GetTotalElectronBindingEnergy(G4int Z) const
size_t GetNumberOfElements() const
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
G4double GetMeanIonisationEnergy(G4int index) const
static G4NistManager * instance
G4Material * GetMaterial(size_t index) const
G4Material * FindOrBuildSimpleMaterial(G4int Z, G4bool warning=false)
G4double GetNominalDensity(G4int index) const
G4double GetTotalElectronBindingEnergy(G4int Z) const
G4double GetA27(G4int Z) const
const std::vector< G4String > & GetNistElementNames() const
G4NistMaterialBuilder * matBuilder
static G4MaterialTable * GetMaterialTable()
std::vector< G4Material * > G4MaterialTable
G4double GetIsotopeAbundance(G4int Z, G4int N) const
const std::vector< G4String > & GetNistMaterialNames() const
G4int GetNumberOfNistIsotopes(G4int Z) const
void ListMaterials(const G4String &) const
const char * name(G4int ptype)
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)
void ListMaterials(const G4String &) const
G4double GetAtomicMassAmu(const G4String &symb) const
G4Material * ConstructNewGasMaterial(const G4String &name, const G4String &nameDB, G4double temp, G4double pres, G4bool isotopes=true)
static G4NistManager * Instance()
G4Element * FindElement(G4int Z) const
G4Material * FindMaterial(const G4String &name) const
G4Material * BuildMaterialWithNewDensity(const G4String &name, const G4String &basename, G4double density=0.0, G4double temp=NTP_Temperature, G4double pres=CLHEP::STP_Pressure)
G4int GetNistFirstIsotopeN(G4int Z) const
G4double logZ(G4int Z) const
G4double GetZ13(G4double 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)
G4double Z13(G4int Z) const
double A(double temperature)
G4int GetZ(const G4String &symb) const
void PrintG4Material(const G4String &) const
G4int GetNistFirstIsotopeN(G4int Z) const
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=true)
G4double GetLOGZ(G4int Z) const
G4double GetIsotopeAbundance(G4int Z, G4int N) const
void PrintElement(G4int Z) const
G4int GetNumberOfNistIsotopes(G4int Z) const
size_t GetNumberOfMaterials() const
G4double GetIsotopeMass(G4int Z, G4int N) const
G4Element * FindElement(G4int Z) const
G4double GetAtomicMass(G4int Z, G4int N) const
std::vector< G4Material * > materials
G4NistElementBuilder * elmBuilder
G4int GetZ(const G4String &symb) const
G4double GetLOGAMU(G4int Z) const
G4NistMessenger * messenger
G4double A13(G4double A) const
void PrintElement(G4int Z) const
G4Material * FindMaterial(const G4String &name) 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)
G4double GetAtomicMassAmu(const G4String &symb) 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)
static const G4double NTP_Temperature
const std::vector< G4String > & GetElementNames() const
G4Material * FindSimpleMaterial(G4int Z) const
G4Element * FindOrBuildElement(G4int Z, G4bool buildIsotopes=true)
G4Material * ConstructNewGasMaterial(const G4String &name, const G4String &nameNist, G4double temp, G4double pres, G4bool isotopes=true)
std::vector< G4Element * > G4ElementTable
const std::vector< G4String > & GetMaterialNames() const
G4double GetNominalDensity(G4int Z) const
G4Element * GetElement(size_t index) const
G4double GetIsotopeMass(G4int Z, G4int N) const
static G4ElementTable * GetElementTable()
G4Element * FindOrBuildElement(G4int Z, G4bool isotopes=true)
G4double GetMeanIonisationEnergy(G4int Z) const
G4Material * FindSimpleMaterial(G4int Z) const
void PrintG4Element(const G4String &) const
G4double GetAtomicMass(G4int Z, G4int N) const
G4Material * FindOrBuildSimpleMaterial(G4int Z, G4bool warning)
std::vector< G4Element * > elements