27#ifndef G4NistMaterialBuilder_h
28#define G4NistMaterialBuilder_h 1
91 const std::vector<G4String>& elm,
92 const std::vector<G4int>& nbAtoms,
101 const std::vector<G4String>& elm,
102 const std::vector<G4double>& weight,
118 const std::vector<G4String>& elm,
119 const std::vector<G4int>& nbAtoms,
221#ifdef G4MULTITHREADED
222 static G4Mutex nistMaterialMutex;
227inline const std::vector<G4String>&
250 for(
auto & mat : *theMaterialTable) {
251 if(
name == mat->GetName()) {
std::vector< G4Material * > G4MaterialTable
static const G4double NTP_Temperature
static G4MaterialTable * GetMaterialTable()
void NistSimpleMaterials()
G4double GetMeanIonisationEnergy(G4int index) const
G4Material * ConstructNewMaterial(const G4String &name, const std::vector< G4String > &elm, const std::vector< G4int > &nbAtoms, G4double dens, G4State state=kStateSolid, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
const G4NistMaterialBuilder & operator=(const G4NistMaterialBuilder &)=delete
void ListMaterials(const G4String &) const
std::vector< G4String > names
std::vector< G4State > states
std::vector< G4String > chFormulas
void ListNistCompoundMaterials() const
void ListNistSimpleMaterials() const
void AddGas(const G4String &nameMat, G4double T, G4double P)
std::vector< G4bool > STP
std::vector< G4int > components
void AddElementByWeightFraction(G4int Z, G4double)
G4Material * FindOrBuildMaterial(const G4String &name, G4bool warning=true)
G4NistMaterialBuilder(const G4NistMaterialBuilder &)=delete
std::vector< G4int > indexes
void SetVerbose(G4int val)
void HepAndNuclearMaterials()
G4NistMaterialBuilder(G4NistElementBuilder *, G4int verb=0)
std::vector< G4double > gasTemperature
std::vector< G4int > idxGas
G4Material * ConstructNewIdealGasMaterial(const G4String &name, const std::vector< G4String > &elm, const std::vector< G4int > &nbAtoms, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
G4bool operator!=(const G4NistMaterialBuilder &) const =delete
void NistCompoundMaterials()
void DumpMix(G4int) const
G4Material * BuildNistMaterial(const G4String &matname, G4bool warning)
void ListHepMaterials() const
void AddMaterial(const G4String &nameMat, G4double dens, G4int Z=0, G4double pot=0.0, G4int ncomp=1, G4State=kStateSolid, G4bool stp=true)
void DumpElm(G4int) const
const std::vector< G4String > & GetMaterialNames() const
G4double GetNominalDensity(G4int index) const
void NistCompoundMaterials2()
std::vector< G4bool > atomCount
G4bool operator==(const G4NistMaterialBuilder &) const =delete
std::vector< G4double > densities
G4Material * FindSimpleMaterial(G4int Z) const
std::vector< G4int > matIndex
void ListSpaceMaterials() const
G4Material * FindOrBuildSimpleMaterial(G4int Z, G4bool warning)
G4Material * FindMaterial(const G4String &name) const
void ListBioChemicalMaterials() const
std::vector< G4int > elements
G4Material * ConstructNewGasMaterial(const G4String &name, const G4String &nameDB, G4double temp, G4double pres)
G4Material * BuildMaterial(G4int idx)
std::vector< G4double > ionPotentials
void BioChemicalMaterials()
void AddElementByAtomCount(G4int Z, G4int)
std::vector< G4double > fractions
std::vector< G4double > gasPressure
G4NistElementBuilder * elmBuilder
static constexpr double STP_Pressure
const char * name(G4int ptype)