27#ifndef G4NistMaterialBuilder_h
28#define G4NistMaterialBuilder_h 1
96 const std::vector<G4int>& nbAtoms,
G4double temp = NTP_Temperature,
97 G4double pressure = CLHEP::STP_Pressure);
131 void NistSimpleMaterials();
132 void NistCompoundMaterials();
133 void NistCompoundMaterials2();
134 void HepAndNuclearMaterials();
135 void SpaceMaterials();
136 void BioChemicalMaterials();
156 void DumpElm(
G4int)
const;
157 void DumpMix(
G4int)
const;
164 G4int nComponents{0};
171 std::vector<G4String> names;
172 std::vector<G4String> chFormulas;
174 std::vector<G4double> densities;
175 std::vector<G4double> ionPotentials;
176 std::vector<G4State> states;
177 std::vector<G4double> fractions;
178 std::vector<G4bool> atomCount;
179 std::vector<G4int> components;
180 std::vector<G4int> indexes;
181 std::vector<G4int> elements;
182 std::vector<G4int> matIndex;
183 std::vector<G4bool> STP;
185 std::vector<G4int> idxGas;
186 std::vector<G4double> gasTemperature;
187 std::vector<G4double> gasPressure;
197 return (index >= 0 && index < nMaterials) ? ionPotentials[index] : 10.0 * index;
202 return (index >= 0 && index < nMaterials) ? densities[index] : 0.0;
209 for (
auto& mat : *theMaterialTable) {
210 if (name == mat->GetName()) {
220 return (Z > 0 && Z < nElementary) ?
FindMaterial(names[Z]) :
nullptr;
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)
G4NistMaterialBuilder(G4NistElementBuilder *, G4int verb=0)
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)