95#define G4MATERIAL_HH 1
112static const G4double NTP_Temperature = 293.15*CLHEP::kelvin;
128 G4double pressure = CLHEP::STP_Pressure);
139 G4double pressure = CLHEP::STP_Pressure);
149 G4double pressure = CLHEP::STP_Pressure);
233 {
return fMatComponents;}
252 {
return fMaterialPropertiesTable;}
255 inline size_t GetIndex()
const {
return fIndexInTable;}
296 void InitializePointers();
299 void ComputeDerivedQuantities();
302 void ComputeRadiationLength();
305 void ComputeNuclearInterLength();
308 void CopyPointersOfBaseMaterial();
345 size_t fIndexInTable;
346 G4int fNumberOfElements;
354 std::vector<G4int>* fAtoms =
nullptr;
355 std::vector<G4double>* fElmFrac =
nullptr;
356 std::vector<const G4Element*>* fElm =
nullptr;
359 std::map<G4Material*, G4double> fMatComponents;
std::vector< const G4Element * > G4ElementVector
std::vector< G4Material * > G4MaterialTable
G4double GetPressure() const
void SetName(const G4String &name)
G4double GetDensity() const
G4bool operator!=(const G4Material &) const =delete
friend std::ostream & operator<<(std::ostream &, const G4Material *)
const G4String & GetChemicalFormula() const
const std::map< G4Material *, G4double > & GetMatComponents() const
const G4ElementVector * GetElementVector() const
const G4Material * GetBaseMaterial() const
G4MaterialPropertiesTable * GetMaterialPropertiesTable() const
const G4Material & operator=(const G4Material &)=delete
G4double GetTotNbOfAtomsPerVolume() const
static size_t GetNumberOfMaterials()
G4double GetTemperature() const
const G4Element * GetElement(G4int iel) const
virtual G4bool IsExtended() const
const G4double * GetFractionVector() const
G4double GetTotNbOfElectPerVolume() const
G4IonisParamMat * GetIonisation() const
G4double GetFreeElectronDensity() const
void AddElement(G4Element *elm, G4int nAtoms)
size_t GetNumberOfElements() const
const G4double * GetAtomicNumDensityVector() const
void SetChemicalFormula(const G4String &chF)
const G4int * GetAtomsVector() const
G4SandiaTable * GetSandiaTable() const
G4bool operator==(const G4Material &) const =delete
void AddElementByNumberOfAtoms(const G4Element *elm, G4int nAtoms)
G4double GetElectronDensity() const
G4double GetRadlen() const
G4double GetMassOfMolecule() const
void AddElement(G4Element *elm, G4double frac)
const G4double * GetVecNbOfAtomsPerVolume() const
static G4MaterialTable * GetMaterialTable()
void AddMaterial(G4Material *material, G4double fraction)
const G4String & GetName() const
void SetMaterialPropertiesTable(G4MaterialPropertiesTable *anMPT)
void SetFreeElectronDensity(G4double val)
void AddElementByMassFraction(const G4Element *elm, G4double fraction)
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
void ComputeDensityEffectOnFly(G4bool)
G4Material(const G4Material &)=delete
G4double GetNuclearInterLength() const