28 #ifndef G4NistMaterialBuilder_h
29 #define G4NistMaterialBuilder_h 1
60 #include <CLHEP/Units/PhysicalConstants.h>
94 const std::vector<G4String>& elm,
95 const std::vector<G4int>& nbAtoms,
100 G4double pressure = CLHEP::STP_Pressure);
105 const std::vector<G4String>& elm,
106 const std::vector<G4double>& weight,
111 G4double pressure = CLHEP::STP_Pressure);
124 const std::vector<G4String>& elm,
125 const std::vector<G4int>& nbAtoms,
128 G4double pressure = CLHEP::STP_Pressure);
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];
std::vector< G4double > gasPressure
G4double GetMeanIonisationEnergy(G4int index) const
G4NistElementBuilder * elmBuilder
void ListBioChemicalMaterials() const
G4double GetNominalDensity(G4int index) const
void HepAndNuclearMaterials()
std::vector< G4String > names
static G4MaterialTable * GetMaterialTable()
std::vector< G4double > densities
std::vector< G4Material * > G4MaterialTable
void DumpMix(G4int) 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
void ListHepMaterials() const
G4Material * ConstructNewGasMaterial(const G4String &name, const G4String &nameDB, G4double temp, G4double pres, G4bool isotopes=true)
G4Material * FindMaterial(const G4String &name) const
void AddMaterial(const G4String &nameMat, G4double dens, G4int Z=0, G4double pot=0.0, G4int ncomp=1, G4State=kStateSolid, G4bool stp=true)
G4NistMaterialBuilder(G4NistElementBuilder *, G4int verb=0)
std::vector< G4int > idxGas
G4Material * BuildNistMaterial(const G4String &matname, G4bool warning)
std::vector< G4int > indexes
G4Material * BuildMaterial(G4int idx)
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=true)
void NistCompoundMaterials2()
std::vector< G4double > gasTemperature
void AddElementByWeightFraction(G4int Z, G4double)
void DumpElm(G4int) const
void ListNistCompoundMaterials() const
void ListNistSimpleMaterials() const
void SetVerbose(G4int val)
std::vector< G4bool > atomCount
std::vector< G4int > elements
void NistCompoundMaterials()
void AddGas(const G4String &nameMat, G4double t=NTP_Temperature, G4double p=CLHEP::STP_Pressure)
void ListSpaceMaterials() const
std::vector< G4State > states
std::vector< G4bool > STP
std::vector< G4double > ionPotentials
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)
std::vector< G4int > matIndex
std::vector< G4String > chFormulas
static const G4double NTP_Temperature
G4Material * FindSimpleMaterial(G4int Z) const
std::vector< G4int > components
void NistSimpleMaterials()
const std::vector< G4String > & GetMaterialNames() const
void BioChemicalMaterials()
Build biochemical materials used in G4DNA Applications.
std::vector< G4double > fractions
void AddElementByAtomCount(G4int Z, G4int)
G4Material * FindOrBuildSimpleMaterial(G4int Z, G4bool warning)