28 #ifndef G4NistMaterialBuilder_h
29 #define G4NistMaterialBuilder_h 1
94 const std::vector<G4String>& elm,
95 const std::vector<G4int>& nbAtoms,
105 const std::vector<G4String>& elm,
106 const std::vector<G4double>&
weight,
124 const std::vector<G4String>& elm,
125 const std::vector<G4int>& nbAtoms,
224 #ifdef G4MULTITHREADED
225 static G4Mutex nistMaterialMutex;
230 inline const std::vector<G4String>&
252 size_t nmat = theMaterialTable->size();
254 for(
size_t i=0; i<nmat; ++i) {
255 if(name == ((*theMaterialTable)[i])->GetName()) {
256 ptr = (*theMaterialTable)[i];
G4Material * BuildNistMaterial(const G4String &matname, G4bool warning)
G4Material * FindOrBuildSimpleMaterial(G4int Z, G4bool warning)
void ListNistSimpleMaterials() const
std::vector< G4bool > atomCount
static const G4double NTP_Temperature
static G4MaterialTable * GetMaterialTable()
void ListNistCompoundMaterials() const
void AddGas(const G4String &nameMat, G4double t=NTP_Temperature, G4double p=CLHEP::STP_Pressure)
std::vector< G4int > indexes
G4Material * FindMaterial(const G4String &name) const
void ListHepMaterials() const
void NistSimpleMaterials()
void DumpMix(G4int) const
void NistCompoundMaterials()
std::vector< G4double > ionPotentials
std::vector< G4bool > STP
G4NistElementBuilder * elmBuilder
static constexpr double STP_Pressure
std::vector< G4double > gasPressure
std::vector< G4int > components
void ListBioChemicalMaterials() const
std::vector< G4int > elements
std::vector< G4String > names
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)
void NistCompoundMaterials2()
G4Material * ConstructNewGasMaterial(const G4String &name, const G4String &nameDB, G4double temp, G4double pres, G4bool isotopes=true)
std::vector< G4double > gasTemperature
void BioChemicalMaterials()
G4Material * FindSimpleMaterial(G4int Z) const
void AddElementByAtomCount(G4int Z, G4int)
G4double GetNominalDensity(G4int index) const
std::vector< G4double > densities
std::vector< G4int > idxGas
std::vector< G4String > chFormulas
std::vector< G4State > states
std::vector< G4Material * > G4MaterialTable
G4double GetMeanIonisationEnergy(G4int index) const
void DumpElm(G4int) const
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=true)
void HepAndNuclearMaterials()
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)
void SetVerbose(G4int val)
void AddMaterial(const G4String &nameMat, G4double dens, G4int Z=0, G4double pot=0.0, G4int ncomp=1, G4State=kStateSolid, G4bool stp=true)
G4Material * BuildMaterial(G4int idx)
void AddElementByWeightFraction(G4int Z, G4double)
G4NistMaterialBuilder(G4NistElementBuilder *, G4int verb=0)
const std::vector< G4String > & GetMaterialNames() const
void ListSpaceMaterials() const
std::vector< G4int > matIndex
std::vector< G4double > fractions