27#ifndef G4NistMaterialBuilder_h
28#define G4NistMaterialBuilder_h 1
90 const std::vector<G4String>& elm,
91 const std::vector<G4int>& nbAtoms,
95 G4double pressure = CLHEP::STP_Pressure);
100 const std::vector<G4String>& elm,
101 const std::vector<G4double>& weight,
105 G4double pressure = CLHEP::STP_Pressure);
117 const std::vector<G4String>& elm,
118 const std::vector<G4int>& nbAtoms,
120 G4double pressure = CLHEP::STP_Pressure);
160 void NistSimpleMaterials();
161 void NistCompoundMaterials();
162 void NistCompoundMaterials2();
163 void HepAndNuclearMaterials();
164 void SpaceMaterials();
165 void BioChemicalMaterials();
186 void DumpElm(
G4int)
const;
187 void DumpMix(
G4int)
const;
202 std::vector<G4String> names;
203 std::vector<G4String> chFormulas;
205 std::vector<G4double> densities;
206 std::vector<G4double> ionPotentials;
207 std::vector<G4State> states;
208 std::vector<G4double> fractions;
209 std::vector<G4bool> atomCount;
210 std::vector<G4int> components;
211 std::vector<G4int> indexes;
212 std::vector<G4int> elements;
213 std::vector<G4int> matIndex;
214 std::vector<G4bool> STP;
216 std::vector<G4int> idxGas;
217 std::vector<G4double> gasTemperature;
218 std::vector<G4double> gasPressure;
221inline const std::vector<G4String>&
230 return (index >= 0 && index < nMaterials) ? ionPotentials[index] : 10.0*index;
236 return (index >= 0 && index < nMaterials) ? densities[index] : 0.0;
244 for(
auto & mat : *theMaterialTable) {
245 if(name == mat->GetName()) {
std::vector< G4Material * > G4MaterialTable
static G4MaterialTable * GetMaterialTable()
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
void ListNistCompoundMaterials() const
void ListNistSimpleMaterials() const
G4Material * FindOrBuildMaterial(const G4String &name, G4bool warning=true)
G4NistMaterialBuilder(const G4NistMaterialBuilder &)=delete
void SetVerbose(G4int val)
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 ListHepMaterials() const
const std::vector< G4String > & GetMaterialNames() const
G4double GetNominalDensity(G4int index) const
G4bool operator==(const G4NistMaterialBuilder &) const =delete
G4Material * FindSimpleMaterial(G4int Z) const
void ListSpaceMaterials() const
G4Material * FindOrBuildSimpleMaterial(G4int Z, G4bool warning)
G4Material * FindMaterial(const G4String &name) const
~G4NistMaterialBuilder()=default
void ListBioChemicalMaterials() const
G4Material * ConstructNewGasMaterial(const G4String &name, const G4String &nameDB, G4double temp, G4double pres)