Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Friends
G4Material Class Reference

#include <G4Material.hh>

Public Member Functions

 G4Material (const G4String &name, G4double z, G4double a, G4double density, G4State state=kStateUndefined, G4double temp=CLHEP::STP_Temperature, G4double pressure=CLHEP::STP_Pressure)
 
 G4Material (const G4String &name, G4double density, G4int nComponents, G4State state=kStateUndefined, G4double temp=CLHEP::STP_Temperature, G4double pressure=CLHEP::STP_Pressure)
 
 G4Material (const G4String &name, G4double density, const G4Material *baseMaterial, G4State state=kStateUndefined, G4double temp=CLHEP::STP_Temperature, G4double pressure=CLHEP::STP_Pressure)
 
void AddElement (G4Element *element, G4int nAtoms)
 
void AddElement (G4Element *element, G4double fraction)
 
void AddMaterial (G4Material *material, G4double fraction)
 
virtual ~G4Material ()
 
void SetChemicalFormula (const G4String &chF)
 
const G4String & GetName () const
 
const G4String & GetChemicalFormula () const
 
G4double GetDensity () const
 
G4State GetState () const
 
G4double GetTemperature () const
 
G4double GetPressure () const
 
size_t GetNumberOfElements () const
 
const G4ElementVector * GetElementVector () const
 
const G4double * GetFractionVector () const
 
const G4int * GetAtomsVector () const
 
const G4Element * GetElement (G4int iel) const
 
const G4double * GetVecNbOfAtomsPerVolume () const
 
G4double GetTotNbOfAtomsPerVolume () const
 
G4double GetTotNbOfElectPerVolume () const
 
const G4double * GetAtomicNumDensityVector () const
 
G4double GetElectronDensity () const
 
G4double GetRadlen () const
 
G4double GetNuclearInterLength () const
 
G4IonisParamMat * GetIonisation () const
 
G4SandiaTable * GetSandiaTable () const
 
const G4Material * GetBaseMaterial () const
 
std::map< G4Material *, G4double > GetMatComponents () const
 
G4double GetMassOfMolecule () const
 
G4double GetZ () const
 
G4double GetA () const
 
void SetMaterialPropertiesTable (G4MaterialPropertiesTable *anMPT)
 
G4MaterialPropertiesTable * GetMaterialPropertiesTable () const
 
size_t GetIndex () const
 
G4int operator== (const G4Material &) const
 
G4int operator!= (const G4Material &) const
 
 G4Material (__void__ &)
 
void SetName (const G4String &name)
 

Static Public Member Functions

static G4MaterialTable * GetMaterialTable ()
 
static size_t GetNumberOfMaterials ()
 
static G4Material * GetMaterial (const G4String &name, G4bool warning=true)
 

Friends

std::ostream & operator<< (std::ostream &, G4Material *)
 
std::ostream & operator<< (std::ostream &, G4Material &)
 
std::ostream & operator<< (std::ostream &, G4MaterialTable)
 

Detailed Description

Definition at line 118 of file G4Material.hh.

Constructor & Destructor Documentation

G4Material::G4Material ( const G4String &  name,
G4double  z,
G4double  a,
G4double  density,
G4State  state = kStateUndefined,
G4double  temp = CLHEP::STP_Temperature,
G4double  pressure = CLHEP::STP_Pressure 
)

Definition at line 87 of file G4Material.cc.

References python.hepunit::Avogadro, python.hepunit::cm3, density, g(), G4cout, G4endl, python.hepunit::kGasThreshold, kStateGas, kStateSolid, kStateUndefined, and python.hepunit::universe_mean_density.

90  : fName(name)
91 {
92  InitializePointers();
93 
95  {
96  G4cout << " G4Material WARNING:"
97  << " define a material with density=0 is not allowed. \n"
98  << " The material " << name << " will be constructed with the"
99  << " default minimal density: " << universe_mean_density/(g/cm3)
100  << "g/cm3" << G4endl;
102  }
103 
104  fDensity = density;
105  fState = state;
106  fTemp = temp;
107  fPressure = pressure;
108 
109  // Initialize theElementVector allocating one
110  // element corresponding to this material
111  maxNbComponents = fNumberOfComponents = fNumberOfElements = 1;
112  fArrayLength = maxNbComponents;
113  fImplicitElement = true;
114  theElementVector = new G4ElementVector();
115  theElementVector->push_back( new G4Element(name, " ", z, a));
116  fMassFractionVector = new G4double[1];
117  fMassFractionVector[0] = 1. ;
118  fMassOfMolecule = a/Avogadro;
119 
120  if (fState == kStateUndefined)
121  {
122  if (fDensity > kGasThreshold) { fState = kStateSolid; }
123  else { fState = kStateGas; }
124  }
125 
126  ComputeDerivedQuantities();
127 }
std::vector< G4Element * > G4ElementVector
int kGasThreshold
Definition: hepunit.py:304
G4double z
Definition: TRTMaterials.hh:39
int universe_mean_density
Definition: hepunit.py:307
float Avogadro
Definition: hepunit.py:253
G4double density
Definition: TRTMaterials.hh:39
function g(Y1, Y2, PT2)
Definition: hijing1.383.f:5205
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76
G4Material::G4Material ( const G4String &  name,
G4double  density,
G4int  nComponents,
G4State  state = kStateUndefined,
G4double  temp = CLHEP::STP_Temperature,
G4double  pressure = CLHEP::STP_Pressure 
)

Definition at line 134 of file G4Material.cc.

References python.hepunit::cm3, density, g(), G4cout, G4endl, python.hepunit::kGasThreshold, kStateGas, kStateSolid, kStateUndefined, nComponents, and python.hepunit::universe_mean_density.

137  : fName(name)
138 {
139  InitializePointers();
140 
142  {
143  G4cout << "--- Warning from G4Material::G4Material()"
144  << " define a material with density=0 is not allowed. \n"
145  << " The material " << name << " will be constructed with the"
146  << " default minimal density: " << universe_mean_density/(g/cm3)
147  << "g/cm3" << G4endl;
149  }
150 
151  fDensity = density;
152  fState = state;
153  fTemp = temp;
154  fPressure = pressure;
155 
156  maxNbComponents = nComponents;
157  fArrayLength = maxNbComponents;
158  fNumberOfComponents = fNumberOfElements = 0;
159  theElementVector = new G4ElementVector();
160  theElementVector->reserve(maxNbComponents);
161 
162  if (fState == kStateUndefined)
163  {
164  if (fDensity > kGasThreshold) { fState = kStateSolid; }
165  else { fState = kStateGas; }
166  }
167 }
std::vector< G4Element * > G4ElementVector
int kGasThreshold
Definition: hepunit.py:304
int universe_mean_density
Definition: hepunit.py:307
G4int nComponents
Definition: TRTMaterials.hh:41
G4double density
Definition: TRTMaterials.hh:39
function g(Y1, Y2, PT2)
Definition: hijing1.383.f:5205
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
G4Material::G4Material ( const G4String &  name,
G4double  density,
const G4Material *  baseMaterial,
G4State  state = kStateUndefined,
G4double  temp = CLHEP::STP_Temperature,
G4double  pressure = CLHEP::STP_Pressure 
)

Definition at line 173 of file G4Material.cc.

References python.hepunit::cm3, density, g(), G4cout, G4endl, GetChemicalFormula(), GetMassOfMolecule(), GetMaterialPropertiesTable(), GetNumberOfElements(), and python.hepunit::universe_mean_density.

176  : fName(name)
177 {
178  InitializePointers();
179 
181  {
182  G4cout << "--- Warning from G4Material::G4Material()"
183  << " define a material with density=0 is not allowed. \n"
184  << " The material " << name << " will be constructed with the"
185  << " default minimal density: " << universe_mean_density/(g/cm3)
186  << "g/cm3" << G4endl;
188  }
189 
190  fDensity = density;
191  fState = state;
192  fTemp = temp;
193  fPressure = pressure;
194 
195  fBaseMaterial = bmat;
196  fChemicalFormula = fBaseMaterial->GetChemicalFormula();
197  fMassOfMolecule = fBaseMaterial->GetMassOfMolecule();
198 
199  fNumberOfElements = fBaseMaterial->GetNumberOfElements();
200  maxNbComponents = fNumberOfElements;
201  fNumberOfComponents = fNumberOfElements;
202 
203  fMaterialPropertiesTable = fBaseMaterial->GetMaterialPropertiesTable();
204 
205  CopyPointersOfBaseMaterial();
206 }
int universe_mean_density
Definition: hepunit.py:307
const G4String & GetChemicalFormula() const
Definition: G4Material.hh:177
G4double density
Definition: TRTMaterials.hh:39
function g(Y1, Y2, PT2)
Definition: hijing1.383.f:5205
G4GLOB_DLL std::ostream G4cout
G4MaterialPropertiesTable * GetMaterialPropertiesTable() const
Definition: G4Material.hh:250
G4double GetMassOfMolecule() const
Definition: G4Material.hh:240
#define G4endl
Definition: G4ios.hh:61
size_t GetNumberOfElements() const
Definition: G4Material.hh:184
G4Material::~G4Material ( )
virtual

Definition at line 224 of file G4Material.cc.

225 {
226  // G4cout << "### Destruction of material " << fName << " started" <<G4endl;
227  if(!fBaseMaterial) {
228  if (theElementVector) { delete theElementVector; }
229  if (fMassFractionVector) { delete [] fMassFractionVector; }
230  if (fAtomsVector) { delete [] fAtomsVector; }
231  if (fSandiaTable) { delete fSandiaTable; }
232  }
233  if (fIonisation) { delete fIonisation; }
234  if (VecNbOfAtomsPerVolume) { delete [] VecNbOfAtomsPerVolume; }
235 
236  // Remove this material from theMaterialTable.
237  //
238  theMaterialTable[fIndexInTable] = 0;
239 }
G4Material::G4Material ( __void__ &  )

Definition at line 213 of file G4Material.cc.

214  : fNumberOfComponents(0), fNumberOfElements(0), theElementVector(0),
215  fImplicitElement(false), fMassFractionVector(0), fAtomsVector(0),
216  fMaterialPropertiesTable(0), fIndexInTable(0),
217  VecNbOfAtomsPerVolume(0)
218 {
219  InitializePointers();
220 }

Member Function Documentation

void G4Material::AddElement ( G4Element *  element,
G4int  nAtoms 
)

Definition at line 345 of file G4Material.cc.

References python.hepunit::Avogadro, FatalException, G4cout, G4endl, and G4Exception().

Referenced by exrdmMaterial::AddMaterial(), RE06DetectorConstruction::AddMaterial(), G4tgbMaterialMixtureByWeight::BuildG4Material(), G4tgbMaterialMixtureByNoAtoms::BuildG4Material(), DicomDetectorConstruction::BuildMaterialWithChangingDensity(), OpNoviceDetectorConstruction::Construct(), exGPSGeometryConstruction::Construct(), B03DetectorConstruction::Construct(), RE01DetectorConstruction::Construct(), B02DetectorConstruction::Construct(), B01DetectorConstruction::Construct(), ExN02DetectorConstruction::Construct(), ExP01DetectorConstruction::Construct(), CML2Ph_BoxInBox::Construct(), G4HumanPhantomMaterial::DefineMaterials(), BrachyMaterial::DefineMaterials(), ElectronBenchmarkDetector::DefineMaterials(), FCALMaterialConsultant::FCALMaterialConsultant(), CCalMaterialFactory::findMaterial(), G4gsmate(), G4gsmixt(), DicomDetectorConstruction::InitialisationOfMaterials(), G03DetectorConstruction::ListOfMaterials(), G02DetectorConstruction::ListOfMaterials(), DetectorConstruction::MaterialWithSingleIsotope(), and G4GDMLReadMaterials::MixtureRead().

346 {
347  // initialization
348  if ( fNumberOfElements == 0 ) {
349  fAtomsVector = new G4int [fArrayLength];
350  fMassFractionVector = new G4double[fArrayLength];
351  }
352 
353  // filling ...
354  if ( G4int(fNumberOfElements) < maxNbComponents ) {
355  theElementVector->push_back(element);
356  fAtomsVector[fNumberOfElements] = nAtoms;
357  fNumberOfComponents = ++fNumberOfElements;
358  } else {
359  G4cout << "G4Material::AddElement ERROR for " << fName << " nElement= "
360  << fNumberOfElements << G4endl;
361  G4Exception ("G4Material::AddElement()", "mat031", FatalException,
362  "Attempt to add more than the declared number of elements.");
363  }
364  // filled.
365  if ( G4int(fNumberOfElements) == maxNbComponents ) {
366  // compute proportion by mass
367  size_t i=0;
368  G4double Amol = 0.;
369  for (i=0; i<fNumberOfElements; ++i) {
370  G4double w = fAtomsVector[i]*(*theElementVector)[i]->GetA();
371  Amol += w;
372  fMassFractionVector[i] = w;
373  }
374  for (i=0; i<fNumberOfElements; ++i) {
375  fMassFractionVector[i] /= Amol;
376  }
377 
378  fMassOfMolecule = Amol/Avogadro;
379  ComputeDerivedQuantities();
380  }
381 }
int G4int
Definition: G4Types.hh:78
float Avogadro
Definition: hepunit.py:253
G4GLOB_DLL std::ostream G4cout
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76
void G4Material::AddElement ( G4Element *  element,
G4double  fraction 
)

Definition at line 387 of file G4Material.cc.

References FatalException, G4cerr, G4cout, G4endl, G4Exception(), G4lrint(), GetA(), G4Element::GetName(), and python.hepunit::perThousand.

388 {
389  if(fraction < 0.0 || fraction > 1.0) {
390  G4cout << "G4Material::AddElement ERROR for " << fName << " and "
391  << element->GetName() << " mass fraction= " << fraction
392  << " is wrong " << G4endl;
393  G4Exception ("G4Material::AddElement()", "mat032", FatalException,
394  "Attempt to add element with wrong mass fraction");
395  }
396  // initialization
397  if (fNumberOfComponents == 0) {
398  fMassFractionVector = new G4double[fArrayLength];
399  fAtomsVector = new G4int [fArrayLength];
400  }
401  // filling ...
402  if (G4int(fNumberOfComponents) < maxNbComponents) {
403  size_t el = 0;
404  while ((el<fNumberOfElements)&&(element!=(*theElementVector)[el])) { ++el; }
405  if (el<fNumberOfElements) fMassFractionVector[el] += fraction;
406  else {
407  theElementVector->push_back(element);
408  fMassFractionVector[el] = fraction;
409  ++fNumberOfElements;
410  // element->increaseCountUse();
411  }
412  ++fNumberOfComponents;
413  } else {
414  G4cout << "G4Material::AddElement ERROR for " << fName << " nElement= "
415  << fNumberOfElements << G4endl;
416  G4Exception ("G4Material::AddElement()", "mat033", FatalException,
417  "Attempt to add more than the declared number of elements.");
418  }
419 
420  // filled.
421  if (G4int(fNumberOfComponents) == maxNbComponents) {
422 
423  size_t i=0;
424  G4double Zmol(0.), Amol(0.);
425  // check sum of weights -- OK?
426  G4double wtSum(0.0);
427  for (i=0; i<fNumberOfElements; ++i) {
428  wtSum += fMassFractionVector[i];
429  Zmol += fMassFractionVector[i]*(*theElementVector)[i]->GetZ();
430  Amol += fMassFractionVector[i]*(*theElementVector)[i]->GetA();
431  }
432  if (std::fabs(1.-wtSum) > perThousand) {
433  G4cerr << "WARNING !! for " << fName << " sum of fractional masses "
434  << wtSum << " is not 1 - results may be wrong"
435  << G4endl;
436  }
437  for (i=0; i<fNumberOfElements; ++i) {
438  fAtomsVector[i] =
439  G4lrint(fMassFractionVector[i]*Amol/(*theElementVector)[i]->GetA());
440  }
441 
442  ComputeDerivedQuantities();
443  }
444 }
float perThousand
Definition: hepunit.py:240
int G4int
Definition: G4Types.hh:78
G4GLOB_DLL std::ostream G4cout
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4double GetA() const
Definition: G4Material.cc:619
int G4lrint(double ad)
Definition: templates.hh:163
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76
const G4String & GetName() const
Definition: G4Element.hh:127
G4GLOB_DLL std::ostream G4cerr
void G4Material::AddMaterial ( G4Material *  material,
G4double  fraction 
)

store massFraction of material component

Definition at line 450 of file G4Material.cc.

References FatalException, G4cout, G4endl, G4Exception(), G4lrint(), GetA(), GetElementVector(), GetFractionVector(), GetName(), GetNumberOfElements(), eplot::material, and python.hepunit::perThousand.

Referenced by G4tgbMaterialMixtureByVolume::BuildG4Material(), G4tgbMaterialMixtureByWeight::BuildG4Material(), export_G4Material(), FCALMaterialConsultant::FCALMaterialConsultant(), and G4GDMLReadMaterials::MixtureRead().

451 {
452  if(fraction < 0.0 || fraction > 1.0) {
453  G4cout << "G4Material::AddMaterial ERROR for " << fName << " and "
454  << material->GetName() << " mass fraction= " << fraction
455  << " is wrong ";
456  G4Exception ("G4Material::AddMaterial()", "mat034", FatalException,
457  "Attempt to add material with wrong mass fraction");
458  }
459  // initialization
460  if (fNumberOfComponents == 0) {
461  fMassFractionVector = new G4double[fArrayLength];
462  fAtomsVector = new G4int [fArrayLength];
463  }
464 
465  size_t nelm = material->GetNumberOfElements();
466 
467  // arrays should be extended
468  if(nelm > 1) {
469  G4int nold = fArrayLength;
470  fArrayLength += nelm - 1;
471  G4double* v1 = new G4double[fArrayLength];
472  G4int* i1 = new G4int[fArrayLength];
473  for(G4int i=0; i<nold; ++i) {
474  v1[i] = fMassFractionVector[i];
475  i1[i] = fAtomsVector[i];
476  }
477  delete [] fAtomsVector;
478  delete [] fMassFractionVector;
479  fMassFractionVector = v1;
480  fAtomsVector = i1;
481  }
482 
483  // filling ...
484  if (G4int(fNumberOfComponents) < maxNbComponents) {
485  for (size_t elm=0; elm<nelm; ++elm)
486  {
487  G4Element* element = (*(material->GetElementVector()))[elm];
488  size_t el = 0;
489  while ((el<fNumberOfElements)&&(element!=(*theElementVector)[el])) el++;
490  if (el < fNumberOfElements) fMassFractionVector[el] += fraction
491  *(material->GetFractionVector())[elm];
492  else {
493  theElementVector->push_back(element);
494  fMassFractionVector[el] = fraction
495  *(material->GetFractionVector())[elm];
496  ++fNumberOfElements;
497  //element->increaseCountUse();
498  }
499  }
500  ++fNumberOfComponents;
501  ///store massFraction of material component
502  fMatComponents[material] = fraction;
503 
504  } else {
505  G4cout << "G4Material::AddMaterial ERROR for " << fName << " nElement= "
506  << fNumberOfElements << G4endl;
507  G4Exception ("G4Material::AddMaterial()", "mat035", FatalException,
508  "Attempt to add more than the declared number of components.");
509  }
510 
511  // filled.
512  if (G4int(fNumberOfComponents) == maxNbComponents) {
513  size_t i=0;
514  G4double Zmol(0.), Amol(0.);
515  // check sum of weights -- OK?
516  G4double wtSum(0.0);
517  for (i=0; i<fNumberOfElements; ++i) {
518  wtSum += fMassFractionVector[i];
519  Zmol += fMassFractionVector[i]*(*theElementVector)[i]->GetZ();
520  Amol += fMassFractionVector[i]*(*theElementVector)[i]->GetA();
521  }
522  if (std::fabs(1.-wtSum) > perThousand) {
523  G4cout << "G4Material::AddMaterial WARNING !! for " << fName
524  << " sum of fractional masses "
525  << wtSum << " is not 1 - results may be wrong"
526  << G4endl;
527  }
528  for (i=0;i<fNumberOfElements;i++) {
529  fAtomsVector[i] =
530  G4lrint(fMassFractionVector[i]*Amol/(*theElementVector)[i]->GetA());
531  }
532 
533  ComputeDerivedQuantities();
534  }
535 }
const G4String & GetName() const
Definition: G4Material.hh:176
float perThousand
Definition: hepunit.py:240
const G4ElementVector * GetElementVector() const
Definition: G4Material.hh:188
int G4int
Definition: G4Types.hh:78
string material
Definition: eplot.py:19
G4GLOB_DLL std::ostream G4cout
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4double GetA() const
Definition: G4Material.cc:619
int G4lrint(double ad)
Definition: templates.hh:163
#define G4endl
Definition: G4ios.hh:61
size_t GetNumberOfElements() const
Definition: G4Material.hh:184
double G4double
Definition: G4Types.hh:76
const G4double * GetFractionVector() const
Definition: G4Material.hh:192
G4double G4Material::GetA ( ) const

Definition at line 619 of file G4Material.cc.

References FatalException, G4cout, and G4Exception().

Referenced by AddElement(), AddMaterial(), RunAction::BeginOfRunAction(), G4tgbGeometryDumper::DumpMaterial(), export_G4Material(), GVFlashShowerParameterisation::GetEffA(), and G4GDMLWriteMaterials::MaterialWrite().

620 {
621  if (fNumberOfElements > 1) {
622  G4cout << "G4Material ERROR in GetA. The material: " << fName
623  << " is a mixture.";
624  G4Exception ("G4Material::GetA()", "mat037", FatalException,
625  "the Atomic mass is not well defined." );
626  }
627  return (*theElementVector)[0]->GetA();
628 }
G4GLOB_DLL std::ostream G4cout
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
const G4double* G4Material::GetAtomicNumDensityVector ( ) const
inline
const G4int* G4Material::GetAtomsVector ( ) const
inline

Definition at line 196 of file G4Material.hh.

196 {return fAtomsVector;}
const G4Material* G4Material::GetBaseMaterial ( ) const
inline
const G4String& G4Material::GetChemicalFormula ( ) const
inline

Definition at line 177 of file G4Material.hh.

Referenced by export_G4Material(), G4Material(), G4hICRU49He::HasMaterial(), and G4hICRU49p::HasMaterial().

177 {return fChemicalFormula;}
G4double G4Material::GetDensity ( ) const
inline

Definition at line 178 of file G4Material.hh.

Referenced by CML2ExpVoxels::add(), G4GMocrenFileSceneHandler::AddSolid(), RunAction::BeginOfRunAction(), G4NistManager::BuildMaterialWithNewDensity(), G4ProductionCutsTable::CheckMaterialInfo(), G4EmCalculator::ComputeDEDX(), G4EmCalculator::ComputeNuclearDEDX(), Run::ComputeStatistics(), G4MIRDLiver::Construct(), G4MIRDLeftClavicle::Construct(), G4MIRDRightAdrenal::Construct(), G4MIRDRightClavicle::Construct(), G4MIRDRightLeg::Construct(), G4MIRDLeftKidney::Construct(), G4MIRDRightKidney::Construct(), G4MIRDRightLegBone::Construct(), G4MIRDLeftLeg::Construct(), G4MIRDLeftLegBone::Construct(), G4MIRDRightScapula::Construct(), G4MIRDSkull::Construct(), G4MIRDLeftOvary::Construct(), G4MIRDSmallIntestine::Construct(), G4MIRDLeftScapula::Construct(), G4MIRDLeftTeste::Construct(), G4MIRDThyroid::Construct(), G4MIRDUpperLargeIntestine::Construct(), G4MIRDLowerLargeIntestine::Construct(), G4MIRDMaleGenitalia::Construct(), G4MIRDLeftAdrenal::Construct(), G4MIRDPelvis::Construct(), G4MIRDThymus::Construct(), G4MIRDLeftBreast::Construct(), G4MIRDRightBreast::Construct(), G4MIRDRightLung::Construct(), G4MIRDBrain::Construct(), G4MIRDRightOvary::Construct(), G4MIRDRightTeste::Construct(), G4MIRDLeftLung::Construct(), G4MIRDSpleen::Construct(), G4MIRDStomach::Construct(), G4MIRDUpperSpine::Construct(), G4MIRDTrunk::Construct(), G4MIRDHeart::Construct(), G4MIRDUterus::Construct(), G4MIRDMiddleLowerSpine::Construct(), G4MIRDPancreas::Construct(), G4MIRDRibCage::Construct(), G4MIRDRightArmBone::Construct(), G4MIRDUrinaryBladder::Construct(), G4MIRDHead::Construct(), G4MIRDLeftArmBone::Construct(), CML2Ph_BoxInBox::Construct(), G4NistMaterialBuilder::ConstructNewGasMaterial(), G4VRangeToEnergyConverter::Convert(), G4PhysicalVolumeModel::CreateCurrentAttValues(), G4PhysicalVolumeModel::DescribeAndDescend(), G4tgbGeometryDumper::DumpMaterial(), export_G4Material(), G4InitXscPAI::G4InitXscPAI(), G4PAIxSection::G4PAIxSection(), G4EmCalculator::GetDEDX(), G4VMscModel::GetEnergy(), G4LogicalVolume::GetMass(), G4VMscModel::GetRange(), G4LossTableBuilder::InitialiseBaseMaterials(), G4PAIySection::Initialize(), G4PAIxSection::Initialize(), G4GDMLWriteMaterials::MaterialWrite(), Run::PrintSummary(), G4PSDoseDeposit::ProcessHits(), CML2SDWithVoxels::ProcessHits(), G4ASCIITreeSceneHandler::RequestPrimitives(), GFlashSamplingShowerParameterisation::SetMaterial(), GFlashHomoShowerParameterisation::SetMaterial(), DicomIntersectVolume::SetNewValue(), and G4tgbMaterialMixtureByVolume::TransformToFractionsByWeight().

178 {return fDensity;}
G4double G4Material::GetElectronDensity ( ) const
inline

Definition at line 215 of file G4Material.hh.

Referenced by G4AdjointComptonModel::AdjointCrossSection(), G4AdjointhIonisationModel::AdjointCrossSection(), G4ForwardXrayTR::BuildXrayTRtables(), MyMollerBhabhaModel::ComputeDEDXPerVolume(), G4MollerBhabhaModel::ComputeDEDXPerVolume(), G4BraggIonModel::ComputeDEDXPerVolume(), G4BraggModel::ComputeDEDXPerVolume(), G4ICRU73QOModel::ComputeDEDXPerVolume(), G4MuBetheBlochModel::ComputeDEDXPerVolume(), G4BetheBlochModel::ComputeDEDXPerVolume(), G4EmCorrections::ComputeIonCorrections(), G4eeToHadronsModel::CrossSectionPerVolume(), G4eeToHadronsMultiModel::CrossSectionPerVolume(), G4eeToTwoGammaModel::CrossSectionPerVolume(), G4MollerBhabhaModel::CrossSectionPerVolume(), G4BraggIonModel::CrossSectionPerVolume(), G4ICRU73QOModel::CrossSectionPerVolume(), G4BraggModel::CrossSectionPerVolume(), G4MuBetheBlochModel::CrossSectionPerVolume(), G4BetheBlochModel::CrossSectionPerVolume(), G4BohrFluctuations::Dispersion(), G4UniversalFluctuation::Dispersion(), G4IonFluctuations::Dispersion(), G4mplIonisationModel::Dispersion(), G4PAIPhotModel::Dispersion(), G4mplIonisationWithDeltaModel::Dispersion(), G4PAIModel::Dispersion(), G4PAIPhotonModel::Dispersion(), export_G4Material(), G4InitXscPAI::G4InitXscPAI(), G4StrawTubeXTRadiator::G4StrawTubeXTRadiator(), G4VXTRenergyLoss::G4VXTRenergyLoss(), G4RDVeLowEnergyLoss::GetLossWithFluct(), G4EmCorrections::HighOrderCorrections(), G4mplIonisationWithDeltaModel::Initialise(), G4mplIonisationModel::Initialise(), G4PAIySection::Initialize(), G4PAIxSection::Initialize(), G4EmCorrections::IonBarkasCorrection(), G4AdjointComptonModel::RapidSampleSecondaries(), G4AdjointhIonisationModel::RapidSampleSecondaries(), G4UniversalFluctuation::SampleFluctuations(), G4eBremsstrahlungRelModel::SetupForMaterial(), and G4eBremParametrizedModel::SetupForMaterial().

215 {return TotNbOfElectPerVolume;}
const G4Element* G4Material::GetElement ( G4int  iel) const
inline
const G4ElementVector* G4Material::GetElementVector ( ) const
inline

Definition at line 188 of file G4Material.hh.

Referenced by G4RDVCrossSectionHandler::ActiveElements(), G4VCrossSectionHandler::ActiveElements(), AddMaterial(), G4AdjointPhotoElectricModel::AdjointCrossSection(), G4VAtomDeexcitation::AlongStepDeexcitation(), G4AntiNeutronAnnihilationAtRest::AtRestDoIt(), G4RToEConvForGamma::BuildAbsorptionLengthVector(), G4AugerData::BuildAugerTransitionTable(), G4RDAugerData::BuildAugerTransitionTable(), G4CrossSectionHandler::BuildCrossSectionsForMaterials(), G4RDCrossSectionHandler::BuildCrossSectionsForMaterials(), G4RDBremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(), G4RDeIonisationCrossSectionHandler::BuildCrossSectionsForMaterials(), G4BremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(), G4eIonisationCrossSectionHandler::BuildCrossSectionsForMaterials(), G4ScreenedCoulombCrossSection::BuildMFPTables(), G4VRangeToEnergyConverter::BuildRangeVector(), G4PenelopeBremsstrahlungFS::BuildScaledXSTable(), G4Nucleus::ChooseParameters(), G4ICRU49NuclearStoppingModel::ComputeDEDXPerVolume(), G4eBremsstrahlungRelModel::ComputeDEDXPerVolume(), G4eBremParametrizedModel::ComputeDEDXPerVolume(), G4LivermoreIonisationModel::ComputeDEDXPerVolume(), G4MuPairProductionModel::ComputeDEDXPerVolume(), G4MuBremsstrahlungModel::ComputeDEDXPerVolume(), G4GammaConversionToMuons::ComputeMeanFreePath(), MuCrossSections::CR_Macroscopic(), G4AnnihiToMuPair::CrossSectionPerVolume(), G4VEmModel::CrossSectionPerVolume(), G4LowEnergyIonisation::DeexciteAtom(), G4AdjointBremsstrahlungModel::DiffCrossSectionPerVolumePrimToSecondApproximated2(), G4tgbGeometryDumper::DumpMaterial(), export_G4Material(), G4EmElementSelector::G4EmElementSelector(), G4HadronicProcessStore::GetCaptureCrossSectionPerVolume(), G4HadronicProcessStore::GetChargeExchangeCrossSectionPerVolume(), G4CrossSectionDataStore::GetCrossSection(), G4HadronicProcessStore::GetElasticCrossSectionPerVolume(), G4StopElementSelector::GetElement(), G4HadronicProcessStore::GetFissionCrossSectionPerVolume(), G4HadronicProcessStore::GetInelasticCrossSectionPerVolume(), G4LivermoreRayleighModel::Initialise(), G4LivermoreGammaConversionModel::Initialise(), G4LivermoreComptonModel::Initialise(), G4LivermorePhotoElectricModel::Initialise(), G4PenelopeGammaConversionModel::Initialise(), G4PenelopeRayleighModel::Initialise(), G4PenelopePhotoElectricModel::Initialise(), G4VAtomDeexcitation::InitialiseAtomicDeexcitation(), G4VEmModel::InitialiseForMaterial(), G4NativeScreenedCoulombCrossSection::LoadData(), G4eCoulombScatteringModel::MinPrimaryEnergy(), G4WentzelVIModel::SampleScattering(), G4WentzelVIRelModel::SampleScattering(), G4GoudsmitSaundersonMscModel::SampleScattering(), G4AdjointPhotoElectricModel::SampleSecondaries(), G4PenelopeRayleighModel::SampleSecondaries(), G4CrossSectionDataStore::SampleZandA(), G4RDVCrossSectionHandler::SelectRandomAtom(), G4VCrossSectionHandler::SelectRandomAtom(), G4PixeCrossSectionHandler::SelectRandomAtom(), G4VEmModel::SelectRandomAtom(), G4VEmModel::SelectRandomAtomNumber(), G4RDVCrossSectionHandler::SelectRandomElement(), G4VCrossSectionHandler::SelectRandomElement(), G4ScreenedCoulombCrossSection::SelectRandomUnweightedTarget(), G4ElementSelector::SelectZandA(), G4RDVCrossSectionHandler::ValueForMaterial(), G4PixeCrossSectionHandler::ValueForMaterial(), and G4VCrossSectionHandler::ValueForMaterial().

188 {return theElementVector;}
const G4double* G4Material::GetFractionVector ( ) const
inline
size_t G4Material::GetIndex ( ) const
inline

Definition at line 260 of file G4Material.hh.

Referenced by G4AdjointCSManager::ComputeAdjointCS(), G4VRangeToEnergyConverter::Convert(), G4DNAScreenedRutherfordElasticModel::CrossSectionPerVolume(), G4DNADingfelderChargeDecreaseModel::CrossSectionPerVolume(), G4DNADingfelderChargeIncreaseModel::CrossSectionPerVolume(), G4DNAChampionElasticModel::CrossSectionPerVolume(), G4DNAEmfietzoglouExcitationModel::CrossSectionPerVolume(), G4DNAMillerGreenExcitationModel::CrossSectionPerVolume(), G4DNABornExcitationModel::CrossSectionPerVolume(), G4DNAMeltonAttachmentModel::CrossSectionPerVolume(), G4DNASancheExcitationModel::CrossSectionPerVolume(), G4DNARuddIonisationExtendedModel::CrossSectionPerVolume(), G4DNARuddIonisationModel::CrossSectionPerVolume(), G4DNABornIonisationModel::CrossSectionPerVolume(), G4DNATransformElectronModel::CrossSectionPerVolume(), G4DNAOneStepSolvatationModel::CrossSectionPerVolume(), G4VEmAdjointModel::DefineCurrentMaterial(), G4eSingleCoulombScatteringModel::DefineMaterial(), G4IonCoulombScatteringModel::DefineMaterial(), G4DNABrownianTransportation::Diffusion(), export_G4Material(), G4InitXscPAI::G4InitXscPAI(), G4PAIxSection::G4PAIxSection(), G4StrawTubeXTRadiator::G4StrawTubeXTRadiator(), G4VXTRenergyLoss::G4VXTRenergyLoss(), WLSPrimaryGeneratorAction::GeneratePrimaries(), G4EnergyLossTables::GetDEDX(), G4EnergyLossTables::GetDeltaLabTime(), G4EnergyLossTables::GetDeltaProperTime(), G4EnergyLossTables::GetLabTime(), G4OpRayleigh::GetMeanFreePath(), G4ScreenedNuclearRecoil::GetMeanFreePath(), G4EnergyLossTables::GetPreciseDEDX(), G4EnergyLossTables::GetPreciseEnergyFromRange(), G4EnergyLossTables::GetPreciseRangeFromEnergy(), G4EnergyLossTables::GetProperTime(), G4EnergyLossTables::GetRange(), G4OpWLS::PostStepDoIt(), G4Scintillation::PostStepDoIt(), G4DNASecondOrderReaction::PostStepGetPhysicalInteractionLength(), G4Cerenkov::PostStepGetPhysicalInteractionLength(), G4DNAMolecularMaterial::RecordMolecularMaterial(), and G4PixeCrossSectionHandler::SelectRandomAtom().

260 {return fIndexInTable;}
G4IonisParamMat* G4Material::GetIonisation ( ) const
inline
G4double G4Material::GetMassOfMolecule ( ) const
inline

Definition at line 240 of file G4Material.hh.

Referenced by G4DNASecondOrderReaction::BuildPhysicsTable(), G4Material(), and G4DNAMolecularMaterial::SearchMolecularMaterial().

240 {return fMassOfMolecule;}
std::map<G4Material*,G4double> G4Material::GetMatComponents ( ) const
inline

Definition at line 235 of file G4Material.hh.

Referenced by G4DNAMolecularMaterial::SearchMolecularMaterial().

236  {return fMatComponents;}
G4Material * G4Material::GetMaterial ( const G4String &  name,
G4bool  warning = true 
)
static

Definition at line 578 of file G4Material.cc.

References G4cout, G4endl, and GetName().

Referenced by G4DNABrownianTransportation::BuildPhysicsTable(), G4ProductionCutsTable::CheckMaterialInfo(), QDetectorConstruction::Construct(), MyDetectorConstruction::Construct(), RE04ParallelWorldConstruction::Construct(), B5DetectorConstruction::Construct(), UltraDetectorConstruction::Construct(), Lesson1Wx::ConstructGeom(), test::ConstructGeom(), test_voxel::ConstructGeom(), Lesson1::ConstructGeom(), Lesson1withN03::ConstructGeom(), ElectronBenchmarkDetector::CreateExitWindow(), ElectronBenchmarkDetector::CreateHeliumBag(), ElectronBenchmarkDetector::CreateMonitor(), ElectronBenchmarkDetector::CreateScorer(), G4EzWorld::CreateWorld(), ElectronBenchmarkDetector::CreateWorld(), export_G4Material(), WLSDetectorConstruction::FindMaterial(), G4EmCalculator::FindMaterial(), BrachyMaterial::GetMat(), F04Materials::GetMaterial(), WLSMaterials::GetMaterial(), G4HumanPhantomMaterial::GetMaterial(), XrayFluoNistMaterials::GetMaterial(), exrdmMaterial::GetMaterial(), Em10Materials::GetMaterial(), G4GDMLReadMaterials::GetMaterial(), G4DNAScreenedRutherfordElasticModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNAChampionElasticModel::Initialise(), G4DNAEmfietzoglouExcitationModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNABornExcitationModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNARuddIonisationExtendedModel::Initialise(), G4DNATransformElectronModel::Initialise(), G4DNABornIonisationModel::Initialise(), G4DNAOneStepSolvatationModel::Initialise(), LXeMainVolume::LXeMainVolume(), LXeWLSFiber::LXeWLSFiber(), LXeWLSSlab::LXeWLSSlab(), RE04ParallelWorldParam::RE04ParallelWorldParam(), RE06DetectorConstruction::SetAbsorberMaterial(), ExN03DetectorConstruction::SetAbsorberMaterial(), DetectorConstruction::SetCavityMaterial(), ExP01DetectorConstruction::setChamberMaterial(), ExN02DetectorConstruction::setChamberMaterial(), DetectorConstruction::SetContainerMaterial(), GammaRayTelDetectorConstruction::SetConverterMaterial(), exrdmDetectorConstruction::SetDetectorMaterial(), RE06DetectorConstruction::SetGapMaterial(), ExN03DetectorConstruction::SetGapMaterial(), DetectorConstruction::SetGasMaterial(), DetectorConstruction::SetMaterial(), DetectorConstruction::SetMaterialScatter(), BrachyDetectorConstruction::SetPhantomMaterial(), ElectronBenchmarkDetector::SetPrimFoilMaterial(), exrdmDetectorConstruction::SetTargetMaterial(), ExP01DetectorConstruction::setTargetMaterial(), ExN02DetectorConstruction::setTargetMaterial(), DetectorConstruction::SetWallMaterial(), and G4ProductionCutsTable::UpdateCoupleTable().

579 {
580  // search the material by its name
581  for (size_t J=0 ; J<theMaterialTable.size() ; ++J)
582  {
583  if (theMaterialTable[J]->GetName() == materialName)
584  { return theMaterialTable[J]; }
585  }
586 
587  // the material does not exist in the table
588  if (warning) {
589  G4cout << "G4Material::GetMaterial() WARNING: The material: "
590  << materialName << " does not exist in the table. Return NULL pointer."
591  << G4endl;
592  }
593  return 0;
594 }
const G4String & GetName() const
Definition: G4Material.hh:176
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
G4MaterialPropertiesTable* G4Material::GetMaterialPropertiesTable ( ) const
inline
G4MaterialTable * G4Material::GetMaterialTable ( )
static

Definition at line 564 of file G4Material.cc.

Referenced by G4RDVCrossSectionHandler::ActiveElements(), G4VCrossSectionHandler::ActiveElements(), G4NeutronHPThermalScattering::ApplyYourself(), G4AugerData::BuildAugerTransitionTable(), G4RDAugerData::BuildAugerTransitionTable(), G4AdjointCSManager::BuildCrossSectionMatrices(), WLSPrimaryGeneratorAction::BuildEmissionSpectrum(), G4ScreenedCoulombCrossSection::BuildMFPTables(), G4NeutronHPThermalScatteringData::BuildPhysicsTable(), G4Scintillation::BuildThePhysicsTable(), G4VXTRenergyLoss::ComputeGasPhotoAbsCof(), G4PAIxSection::ComputeLowEnergyCof(), G4StrawTubeXTRadiator::ComputeMediumPhotoAbsCof(), G4VXTRenergyLoss::ComputePlatePhotoAbsCof(), G4PAIPhotonModel::ComputeSandiaPhotoAbsCof(), ExP02DetectorConstruction::Construct(), B3DetectorConstruction::Construct(), eRositaDetectorConstruction::Construct(), ExP01DetectorConstruction::Construct(), G03DetectorConstruction::Construct(), ExN02DetectorConstruction::Construct(), G02DetectorConstruction::Construct(), ExErrorDetectorConstruction::Construct(), RE02DetectorConstruction::Construct(), B5DetectorConstruction::ConstructMaterials(), G4VRangeToEnergyConverter::Convert(), ElectronBenchmarkDetector::DefineMaterials(), G4ElectronIonPair::DumpMeanEnergyPerIonPair(), ExP02GeoTree::ExP02GeoTree(), export_G4Material(), G4NistMaterialBuilder::FindOrBuildMaterial(), G4NeutronHPThermalScattering::G4NeutronHPThermalScattering(), G4PAIxSection::G4PAIxSection(), G4SandiaTable::G4SandiaTable(), WLSPrimaryGeneratorAction::GeneratePrimaries(), G4DNAMolecularMaterial::GetDensityTableFor(), G4VXTRenergyLoss::GetGasCompton(), G4NistManager::GetMaterial(), getMaterialTable(), G4DNAMolecularMaterial::GetNumMolPerVolTableFor(), G4VXTRenergyLoss::GetPlateCompton(), G4PAIPhotModel::Initialise(), G4PAIModel::Initialise(), G4PAIPhotonModel::Initialise(), G4ICRU73QOModel::Initialise(), G4DNAMolecularMaterial::Initialize(), G4SandiaTable::Initialize(), G4DNAMolecularMaterial::InitializeDensity(), G4PAIPhotonModel::InitTest(), G03DetectorConstruction::ListOfMaterials(), G02DetectorConstruction::ListOfMaterials(), G4NativeScreenedCoulombCrossSection::LoadData(), main(), G4NistManager::PrintG4Material(), RE06DetectorMessenger::RE06DetectorMessenger(), Em10DetectorConstruction::SetAbsorberMaterial(), F03DetectorConstruction::SetAbsorberMaterial(), F02DetectorConstruction::SetAbsorberMaterial(), F01DetectorConstruction::SetAbsorberMaterial(), Em10DetectorConstruction::SetRadiatorMaterial(), F03DetectorConstruction::SetWorldMaterial(), F02DetectorConstruction::SetWorldMaterial(), F01DetectorConstruction::SetWorldMaterial(), Em10DetectorConstruction::SetWorldMaterial(), G4ProductionCutsTable::StoreMaterialInfo(), G4GDMLRead::StripNames(), and G4NistManager::~G4NistManager().

565 {
566  return &theMaterialTable;
567 }
const G4String& G4Material::GetName ( void  ) const
inline

Definition at line 176 of file G4Material.hh.

Referenced by AddMaterial(), G4GMocrenFileSceneHandler::AddSolid(), G4ErrorEnergyLoss::AlongStepDoIt(), G4VContinuousProcess::AlongStepGetPhysicalInteractionLength(), G4VContinuousDiscreteProcess::AlongStepGetPhysicalInteractionLength(), G4VRestContinuousDiscreteProcess::AlongStepGetPhysicalInteractionLength(), G4VRestContinuousProcess::AlongStepGetPhysicalInteractionLength(), G4RPGKMinusInelastic::ApplyYourself(), G4RPGAntiLambdaInelastic::ApplyYourself(), G4RPGAntiSigmaPlusInelastic::ApplyYourself(), G4RPGAntiProtonInelastic::ApplyYourself(), G4RPGXiMinusInelastic::ApplyYourself(), G4RPGSigmaPlusInelastic::ApplyYourself(), G4RPGAntiNeutronInelastic::ApplyYourself(), G4RPGAntiOmegaMinusInelastic::ApplyYourself(), G4RPGAntiSigmaMinusInelastic::ApplyYourself(), G4RPGAntiXiMinusInelastic::ApplyYourself(), G4RPGOmegaMinusInelastic::ApplyYourself(), G4RPGAntiXiZeroInelastic::ApplyYourself(), G4RPGKPlusInelastic::ApplyYourself(), G4RPGKZeroInelastic::ApplyYourself(), G4RPGLambdaInelastic::ApplyYourself(), G4RPGSigmaMinusInelastic::ApplyYourself(), G4RPGXiZeroInelastic::ApplyYourself(), G4RPGAntiKZeroInelastic::ApplyYourself(), G4VITRestProcess::AtRestGetPhysicalInteractionLength(), G4AntiNeutronAnnihilationAtRest::AtRestGetPhysicalInteractionLength(), G4VRestContinuousProcess::AtRestGetPhysicalInteractionLength(), G4VRestProcess::AtRestGetPhysicalInteractionLength(), G4VITRestDiscreteProcess::AtRestGetPhysicalInteractionLength(), G4VRestDiscreteProcess::AtRestGetPhysicalInteractionLength(), G4VRestContinuousDiscreteProcess::AtRestGetPhysicalInteractionLength(), G4EmCorrections::BarkasCorrection(), RunAction::BeginOfRunAction(), G4RDeIonisationCrossSectionHandler::BuildCrossSectionsForMaterials(), G4eIonisationCrossSectionHandler::BuildCrossSectionsForMaterials(), G4NeutronHPThermalScatteringData::BuildPhysicsTable(), G4PenelopeBremsstrahlungFS::BuildScaledXSTable(), G4PenelopeIonisationXSHandler::BuildXSTable(), G4ProductionCutsTable::CheckMaterialCutsCoupleInfo(), G4EmCalculator::ComputeCrossSectionPerVolume(), G4EmCalculator::ComputeDEDX(), G4PenelopeIonisationModel::ComputeDEDXPerVolume(), G4EmCalculator::ComputeElectronicDEDX(), DicomPhantomParameterisationColour::ComputeMaterial(), G4EmCalculator::ComputeMeanFreePath(), G4MIRDLiver::Construct(), G4MIRDLeftAdrenal::Construct(), G4MIRDLeftClavicle::Construct(), G4MIRDLeftKidney::Construct(), G4MIRDLeftLeg::Construct(), G4MIRDLeftLegBone::Construct(), G4MIRDLeftOvary::Construct(), G4MIRDLeftScapula::Construct(), G4MIRDLeftTeste::Construct(), G4MIRDLowerLargeIntestine::Construct(), G4MIRDMaleGenitalia::Construct(), G4MIRDPelvis::Construct(), G4MIRDRightAdrenal::Construct(), G4MIRDRightClavicle::Construct(), G4MIRDRightLeg::Construct(), G4MIRDRightKidney::Construct(), G4MIRDRightLegBone::Construct(), G4MIRDRightScapula::Construct(), G4MIRDSkull::Construct(), G4MIRDSmallIntestine::Construct(), G4MIRDUpperLargeIntestine::Construct(), G4MIRDThyroid::Construct(), G4MIRDBrain::Construct(), G4MIRDHeart::Construct(), G4MIRDLeftBreast::Construct(), G4MIRDLeftLung::Construct(), G4MIRDPancreas::Construct(), G4MIRDMiddleLowerSpine::Construct(), G4MIRDRibCage::Construct(), G4MIRDRightBreast::Construct(), G4MIRDRightLung::Construct(), G4MIRDRightOvary::Construct(), G4MIRDRightTeste::Construct(), G4MIRDSpleen::Construct(), G4MIRDStomach::Construct(), G4MIRDThymus::Construct(), G4MIRDTrunk::Construct(), G4MIRDUpperSpine::Construct(), G4MIRDUterus::Construct(), G4MIRDHead::Construct(), G4MIRDLeftArmBone::Construct(), G4MIRDRightArmBone::Construct(), G4MIRDUrinaryBladder::Construct(), ExP01DetectorConstruction::Construct(), ExN02DetectorConstruction::Construct(), CML2Ph_BoxInBox::Construct(), G4tgbVolume::ConstructG4LogVol(), G4VRangeToEnergyConverter::Convert(), RE04TrajectoryPoint::CreateAttValues(), G4PhysicalVolumeModel::CreateCurrentAttValues(), G4PenelopeIonisationCrossSection::CrossSection(), G4PenelopeComptonModel::CrossSectionPerVolume(), G4PenelopeBremsstrahlungModel::CrossSectionPerVolume(), G4PenelopeIonisationModel::CrossSectionPerVolume(), G4EmElementSelector::Dump(), G4PenelopeOscillatorManager::Dump(), G4ProductionCutsTable::DumpCouples(), G4PenelopeRayleighModel::DumpFormFactorTable(), G4ElectronIonPair::DumpMeanEnergyPerIonPair(), G4HadronicProcess::DumpState(), export_G4Material(), G4EmModelManager::FillDEDXVector(), G4EmModelManager::FillLambdaVector(), G4EmCalculator::FindCouple(), G4EmSaturation::FindG4BirksCoefficient(), G4ElectronIonPair::FindG4MeanEnergyPerIonPair(), G4tgbMaterialMgr::FindOrBuildG4Material(), G4ForwardXrayTR::G4ForwardXrayTR(), G4StrawTubeXTRadiator::G4StrawTubeXTRadiator(), G4VXTRenergyLoss::G4VXTRenergyLoss(), WLSPrimaryGeneratorAction::GeneratePrimaries(), RE06DetectorConstruction::GetAbsorberMaterial(), G4PenelopeOscillatorManager::GetAtomsPerMolecule(), G4CrossSectionDataStore::GetCrossSection(), G4EmCalculator::GetCrossSectionPerVolume(), G4EmCalculator::GetCSDARange(), G4EmCalculator::GetDEDX(), G4PenelopeIonisationXSHandler::GetDensityCorrection(), G4PenelopeBremsstrahlungFS::GetEffectiveZSquared(), G4VCrossSectionDataSet::GetElementCrossSection(), RE06DetectorConstruction::GetGapMaterial(), G4EnergyRangeManager::GetHadronicInteraction(), G4ASTARStopping::GetIndex(), G4PSTARStopping::GetIndex(), G4ESTARStopping::GetIndex(), G4VCrossSectionDataSet::GetIsoCrossSection(), G4EmCalculator::GetKinEnergy(), G4LatticeManager::GetLattice(), Em10Materials::GetMaterial(), GetMaterial(), G4HadronicInteraction::GetMaxEnergy(), G4PenelopeOscillatorManager::GetMeanExcitationEnergy(), G4OpRayleigh::GetMeanFreePath(), G4EmCalculator::GetMeanFreePath(), G4HadronicInteraction::GetMinEnergy(), G4PenelopeOscillatorManager::GetNumberOfZAtomsPerMolecule(), G4PenelopeOscillatorManager::GetOscillatorCompton(), G4PenelopeOscillatorManager::GetOscillatorIonisation(), G4PenelopeOscillatorManager::GetOscillatorTableCompton(), G4PenelopeOscillatorManager::GetOscillatorTableIonisation(), G4PenelopeOscillatorManager::GetPlasmaEnergySquared(), PhysicsList::GetRange(), G4EmCalculator::GetRange(), G4EmCalculator::GetRangeFromRestricteDEDX(), G4PenelopeOscillatorManager::GetTotalA(), G4PenelopeOscillatorManager::GetTotalZ(), G4EmCorrections::HighOrderCorrections(), G4EmModelManager::Initialise(), G4PAIPhotonModel::InitTest(), G4LatticeManager::LoadLattice(), main(), G4GDMLWriteMaterials::MaterialWrite(), G4HadronElasticProcess::PostStepDoIt(), G4DNASecondOrderReaction::PostStepDoIt(), G4VXTRenergyLoss::PostStepDoIt(), G4DNASecondOrderReaction::PostStepGetPhysicalInteractionLength(), G4VITRestDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VRestDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VContinuousDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VRestContinuousDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4Decay::PostStepGetPhysicalInteractionLength(), G4VEmProcess::PostStepGetPhysicalInteractionLength(), G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength(), XrayFluoMercuryDetectorConstruction::PrintApparateParameters(), XrayFluoPlaneDetectorConstruction::PrintApparateParameters(), XrayFluoDetectorConstruction::PrintApparateParameters(), RE06DetectorConstruction::PrintCalorParameters(), DetectorConstruction::PrintCalorParameters(), ExN03DetectorConstruction::PrintCalorParameters(), F03DetectorConstruction::PrintCalorParameters(), F02DetectorConstruction::PrintCalorParameters(), F01DetectorConstruction::PrintCalorParameters(), RunAction::PrintDedxTables(), G4NistManager::PrintG4Material(), DetectorConstruction::PrintGeometry(), Em10DetectorConstruction::PrintGeometryParameters(), G4hImpactIonisation::PrintInfoDefinition(), GVFlashShowerParameterisation::PrintMaterial(), G4DNAMolecularMaterial::PrintNotAMolecularMaterial(), DetectorConstruction::PrintParameters(), GammaRayTelDetectorConstruction::PrintPayloadParameters(), Run::PrintSummary(), CML2SDWithVoxels::ProcessHits(), G4GDMLWriteMaterials::PropertyWrite(), DicomDetectorConstruction::ReadPhantomDataFile(), G4ASCIITreeSceneHandler::RequestPrimitives(), G4PenelopeBremsstrahlungAngular::SampleDirection(), G4PenelopeBremsstrahlungFS::SampleGammaEnergy(), G4LivermoreComptonModifiedModel::SampleSecondaries(), G4LivermoreComptonModel::SampleSecondaries(), G4PenelopeGammaConversionModel::SampleSecondaries(), G4PenelopeRayleighModel::SampleSecondaries(), G4PenelopePhotoElectricModel::SampleSecondaries(), G4PenelopeBremsstrahlungModel::SampleSecondaries(), G4LowEPComptonModel::SampleSecondaries(), Em10DetectorConstruction::SetAbsorberMaterial(), F03DetectorConstruction::SetAbsorberMaterial(), F01DetectorConstruction::SetAbsorberMaterial(), F02DetectorConstruction::SetAbsorberMaterial(), DetectorConstruction::SetContainerMaterial(), DetectorConstruction::SetGasMaterial(), DetectorConstruction::SetMaterial(), G4HadronicInteraction::SetMaxEnergy(), G4IonisParamMat::SetMeanExcitationEnergy(), G4HadronicInteraction::SetMinEnergy(), Em10DetectorConstruction::SetRadiatorMaterial(), F03DetectorConstruction::SetWorldMaterial(), F02DetectorConstruction::SetWorldMaterial(), F01DetectorConstruction::SetWorldMaterial(), Em10DetectorConstruction::SetWorldMaterial(), G4EnergySplitter::SplitEnergyInVolumes(), G4ProductionCutsTable::StoreMaterialCutsCoupleInfo(), G4GDMLRead::StripNames(), G4PAIPhotonModel::TestSecondaries(), G4tgbMaterialMixtureByVolume::TransformToFractionsByWeight(), G4GDMLWriteStructure::TraverseVolumeTree(), RE04SteppingAction::UserSteppingAction(), and FCALSteppingAction::UserSteppingAction().

176 {return fName;}
G4double G4Material::GetNuclearInterLength ( ) const
inline

Definition at line 221 of file G4Material.hh.

Referenced by export_G4Material(), and G4MSSteppingAction::UserSteppingAction().

221 {return fNuclInterLen;}
size_t G4Material::GetNumberOfElements ( ) const
inline

Definition at line 184 of file G4Material.hh.

Referenced by G4RDVCrossSectionHandler::ActiveElements(), G4VCrossSectionHandler::ActiveElements(), AddMaterial(), G4AdjointPhotoElectricModel::AdjointCrossSection(), G4VAtomDeexcitation::AlongStepDeexcitation(), G4NeutronHPCapture::ApplyYourself(), G4NeutronHPElastic::ApplyYourself(), G4NeutronHPFission::ApplyYourself(), G4NeutronHPThermalScattering::ApplyYourself(), G4NeutronHPInelastic::ApplyYourself(), G4FissLib::ApplyYourself(), G4AntiNeutronAnnihilationAtRest::AtRestDoIt(), RunAction::BeginOfRunAction(), G4RToEConvForGamma::BuildAbsorptionLengthVector(), G4AugerData::BuildAugerTransitionTable(), G4RDAugerData::BuildAugerTransitionTable(), G4CrossSectionHandler::BuildCrossSectionsForMaterials(), G4RDCrossSectionHandler::BuildCrossSectionsForMaterials(), G4RDBremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(), G4RDeIonisationCrossSectionHandler::BuildCrossSectionsForMaterials(), G4BremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(), G4eIonisationCrossSectionHandler::BuildCrossSectionsForMaterials(), DicomDetectorConstruction::BuildMaterialWithChangingDensity(), G4ScreenedCoulombCrossSection::BuildMFPTables(), G4NeutronHPThermalScatteringData::BuildPhysicsTable(), G4VRangeToEnergyConverter::BuildRangeVector(), G4PenelopeBremsstrahlungFS::BuildScaledXSTable(), G4Nucleus::ChooseParameters(), G4AdjointCSManager::ComputeAdjointCS(), G4ICRU49NuclearStoppingModel::ComputeDEDXPerVolume(), G4eBremsstrahlungRelModel::ComputeDEDXPerVolume(), G4eBremParametrizedModel::ComputeDEDXPerVolume(), G4LivermoreIonisationModel::ComputeDEDXPerVolume(), G4MuPairProductionModel::ComputeDEDXPerVolume(), G4MuBremsstrahlungModel::ComputeDEDXPerVolume(), G4PAIySection::ComputeLowEnergyCof(), G4PAIxSection::ComputeLowEnergyCof(), G4GammaConversionToMuons::ComputeMeanFreePath(), MuCrossSections::CR_Macroscopic(), RunAction::CriticalEnergy(), G4AnnihiToMuPair::CrossSectionPerVolume(), G4VEmModel::CrossSectionPerVolume(), G4LowEnergyIonisation::DeexciteAtom(), G4AdjointBremsstrahlungModel::DiffCrossSectionPerVolumePrimToSecondApproximated2(), G4tgbGeometryDumper::DumpMaterial(), G4EmElementSelector::G4EmElementSelector(), G4Material(), G4RDShellVacancy::GenerateNumberOfIonisations(), G4ShellVacancy::GenerateNumberOfIonisations(), G4HadronicProcessStore::GetCaptureCrossSectionPerVolume(), G4HadronicProcessStore::GetChargeExchangeCrossSectionPerVolume(), G4CrossSectionDataStore::GetCrossSection(), GVFlashShowerParameterisation::GetEffA(), GVFlashShowerParameterisation::GetEffZ(), G4HadronicProcessStore::GetElasticCrossSectionPerVolume(), G4StopElementSelector::GetElement(), G4HadronicProcessStore::GetFissionCrossSectionPerVolume(), G4HadronicProcessStore::GetInelasticCrossSectionPerVolume(), G4hSRIM2000p::HasMaterial(), G4hICRU49He::HasMaterial(), G4hZiegler1985p::HasMaterial(), G4hICRU49p::HasMaterial(), G4LivermoreRayleighModel::Initialise(), G4LivermoreGammaConversionModel::Initialise(), G4LivermoreComptonModel::Initialise(), G4LivermorePhotoElectricModel::Initialise(), G4PenelopeGammaConversionModel::Initialise(), G4PenelopeRayleighModel::Initialise(), G4PenelopePhotoElectricModel::Initialise(), G4VAtomDeexcitation::InitialiseAtomicDeexcitation(), G4VEmModel::InitialiseForMaterial(), G4QAOLowEnergyLoss::IsInCharge(), G4NativeScreenedCoulombCrossSection::LoadData(), G4GDMLWriteMaterials::MaterialWrite(), G4eCoulombScatteringModel::MinPrimaryEnergy(), G4LindhardRobinsonPartition::PartitionNIEL(), G4WentzelVIRelModel::SampleScattering(), G4WentzelVIModel::SampleScattering(), G4GoudsmitSaundersonMscModel::SampleScattering(), G4AdjointPhotoElectricModel::SampleSecondaries(), G4PenelopeRayleighModel::SampleSecondaries(), G4CrossSectionDataStore::SampleZandA(), G4RDVCrossSectionHandler::SelectRandomAtom(), G4VCrossSectionHandler::SelectRandomAtom(), G4PixeCrossSectionHandler::SelectRandomAtom(), G4VEmModel::SelectRandomAtom(), G4VEmModel::SelectRandomAtomNumber(), G4RDVCrossSectionHandler::SelectRandomElement(), G4VCrossSectionHandler::SelectRandomElement(), G4ScreenedCoulombCrossSection::SelectRandomUnweightedTarget(), G4ElementSelector::SelectZandA(), G4hICRU49He::StoppingPower(), G4hSRIM2000p::StoppingPower(), G4hZiegler1985p::StoppingPower(), G4hICRU49p::StoppingPower(), G4RDVCrossSectionHandler::ValueForMaterial(), G4PixeCrossSectionHandler::ValueForMaterial(), and G4VCrossSectionHandler::ValueForMaterial().

184 {return fNumberOfElements;}
size_t G4Material::GetNumberOfMaterials ( )
static
G4double G4Material::GetPressure ( ) const
inline
G4double G4Material::GetRadlen ( ) const
inline
G4SandiaTable* G4Material::GetSandiaTable ( ) const
inline
G4State G4Material::GetState ( ) const
inline
G4double G4Material::GetTemperature ( ) const
inline
G4double G4Material::GetTotNbOfAtomsPerVolume ( ) const
inline
G4double G4Material::GetTotNbOfElectPerVolume ( ) const
inline

Definition at line 210 of file G4Material.hh.

Referenced by export_G4Material(), and G4hICRU49He::StoppingPower().

210 {return TotNbOfElectPerVolume;}
const G4double* G4Material::GetVecNbOfAtomsPerVolume ( ) const
inline

Definition at line 204 of file G4Material.hh.

Referenced by G4AdjointPhotoElectricModel::AdjointCrossSection(), G4VAtomDeexcitation::AlongStepDeexcitation(), G4NeutronHPCapture::ApplyYourself(), G4NeutronHPElastic::ApplyYourself(), G4NeutronHPFission::ApplyYourself(), G4NeutronHPInelastic::ApplyYourself(), G4FissLib::ApplyYourself(), G4RDBremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(), G4BremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(), G4ScreenedCoulombCrossSection::BuildMFPTables(), G4Nucleus::ChooseParameters(), G4AdjointCSManager::ComputeAdjointCS(), G4GammaConversionToMuons::ComputeMeanFreePath(), MuCrossSections::CR_Macroscopic(), G4AnnihiToMuPair::CrossSectionPerVolume(), G4VEmModel::CrossSectionPerVolume(), G4HadronicProcessStore::GetCaptureCrossSectionPerVolume(), G4HadronicProcessStore::GetChargeExchangeCrossSectionPerVolume(), G4CrossSectionDataStore::GetCrossSection(), G4HadronicProcessStore::GetElasticCrossSectionPerVolume(), G4HadronicProcessStore::GetFissionCrossSectionPerVolume(), G4HadronicProcessStore::GetInelasticCrossSectionPerVolume(), G4EmElementSelector::Initialise(), G4LindhardRobinsonPartition::PartitionNIEL(), G4GoudsmitSaundersonMscModel::SampleScattering(), G4VEmModel::SelectRandomAtomNumber(), G4ScreenedCoulombCrossSection::SelectRandomUnweightedTarget(), G4RDVCrossSectionHandler::ValueForMaterial(), G4PixeCrossSectionHandler::ValueForMaterial(), and G4VCrossSectionHandler::ValueForMaterial().

204 {return VecNbOfAtomsPerVolume;}
G4double G4Material::GetZ ( ) const

Definition at line 606 of file G4Material.cc.

References FatalException, G4cout, and G4Exception().

Referenced by RunAction::BeginOfRunAction(), RunAction::CriticalEnergy(), G4tgbGeometryDumper::DumpMaterial(), export_G4Material(), GVFlashShowerParameterisation::GetEffZ(), G4GDMLWriteMaterials::MaterialWrite(), G4RDVCrossSectionHandler::SelectRandomAtom(), G4VCrossSectionHandler::SelectRandomAtom(), G4PixeCrossSectionHandler::SelectRandomAtom(), G4hSRIM2000p::StoppingPower(), G4hICRU49He::StoppingPower(), G4hICRU49p::StoppingPower(), and G4hZiegler1985p::StoppingPower().

607 {
608  if (fNumberOfElements > 1) {
609  G4cout << "G4Material ERROR in GetZ. The material: " << fName
610  << " is a mixture.";
611  G4Exception ("G4Material::GetZ()", "mat036", FatalException,
612  "the Atomic number is not well defined." );
613  }
614  return (*theElementVector)[0]->GetZ();
615 }
G4GLOB_DLL std::ostream G4cout
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4int G4Material::operator!= ( const G4Material &  right) const

Definition at line 690 of file G4Material.cc.

691 {
692  return (this != (G4Material *) &right);
693 }
G4int G4Material::operator== ( const G4Material &  right) const

Definition at line 683 of file G4Material.cc.

684 {
685  return (this == (G4Material *) &right);
686 }
void G4Material::SetChemicalFormula ( const G4String &  chF)
inline

Definition at line 171 of file G4Material.hh.

Referenced by export_G4Material().

171 {fChemicalFormula=chF;}
void G4Material::SetMaterialPropertiesTable ( G4MaterialPropertiesTable *  anMPT)
inline

Definition at line 247 of file G4Material.hh.

Referenced by OpNoviceDetectorConstruction::Construct(), export_G4Material(), and G4GDMLReadMaterials::PropertyRead().

248  {fMaterialPropertiesTable = anMPT;}
void G4Material::SetName ( const G4String &  name)
inline

Definition at line 281 of file G4Material.hh.

Referenced by export_G4Material(), and G4GDMLRead::StripNames().

281 {fName=name;}
const XML_Char * name

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  flux,
G4Material *  material 
)
friend

Definition at line 697 of file G4Material.cc.

698 {
699  std::ios::fmtflags mode = flux.flags();
700  flux.setf(std::ios::fixed,std::ios::floatfield);
701  G4long prec = flux.precision(3);
702 
703  flux
704  << " Material: " << std::setw(8) << material->fName
705  << " " << material->fChemicalFormula << " "
706  << " density: " << std::setw(6) << std::setprecision(3)
707  << G4BestUnit(material->fDensity,"Volumic Mass")
708  << " RadL: " << std::setw(7) << std::setprecision(3)
709  << G4BestUnit(material->fRadlen,"Length")
710  << " Nucl.Int.Length: " << std::setw(7) << std::setprecision(3)
711  << G4BestUnit(material->fNuclInterLen,"Length") <<"\n" << std::setw(30)
712  << " Imean: " << std::setw(7) << std::setprecision(3)
713  << G4BestUnit(material->GetIonisation()->GetMeanExcitationEnergy(),"Energy");
714 
715  if(material->fState == kStateGas) {
716  flux
717  << " temperature: " << std::setw(6) << std::setprecision(2)
718  << (material->fTemp)/kelvin << " K"
719  << " pressure: " << std::setw(6) << std::setprecision(2)
720  << (material->fPressure)/atmosphere << " atm";
721  }
722  flux << "\n";
723 
724  for (size_t i=0; i<material->fNumberOfElements; i++) {
725  flux
726  << "\n ---> " << (*(material->theElementVector))[i]
727  << "\n ElmMassFraction: "
728  << std::setw(6)<< std::setprecision(2)
729  << (material->fMassFractionVector[i])/perCent << " %"
730  << " ElmAbundance " << std::setw(6)<< std::setprecision(2)
731  << 100*(material->VecNbOfAtomsPerVolume[i])/(material->TotNbOfAtomsPerVolume)
732  << " % \n";
733  }
734  flux.precision(prec);
735  flux.setf(mode,std::ios::floatfield);
736 
737  return flux;
738 }
G4IonisParamMat * GetIonisation() const
Definition: G4Material.hh:224
int atmosphere
Definition: hepunit.py:151
long G4long
Definition: G4Types.hh:80
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
float perCent
Definition: hepunit.py:239
G4double GetMeanExcitationEnergy() const
std::ostream& operator<< ( std::ostream &  flux,
G4Material &  material 
)
friend

Definition at line 742 of file G4Material.cc.

743 {
744  flux << &material;
745  return flux;
746 }
string material
Definition: eplot.py:19
std::ostream& operator<< ( std::ostream &  flux,
G4MaterialTable  MaterialTable 
)
friend

Definition at line 750 of file G4Material.cc.

751 {
752  //Dump info for all known materials
753  flux << "\n***** Table : Nb of materials = " << MaterialTable.size()
754  << " *****\n" << G4endl;
755 
756  for (size_t i=0; i<MaterialTable.size(); ++i) {
757  flux << MaterialTable[i] << G4endl << G4endl;
758  }
759 
760  return flux;
761 }
#define G4endl
Definition: G4ios.hh:61

The documentation for this class was generated from the following files: