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 G4StringGetName () const
 
const G4StringGetChemicalFormula () const
 
G4double GetDensity () const
 
G4State GetState () const
 
G4double GetTemperature () const
 
G4double GetPressure () const
 
size_t GetNumberOfElements () const
 
const G4ElementVectorGetElementVector () const
 
const G4doubleGetFractionVector () const
 
const G4intGetAtomsVector () const
 
const G4ElementGetElement (G4int iel) const
 
const G4doubleGetVecNbOfAtomsPerVolume () const
 
G4double GetTotNbOfAtomsPerVolume () const
 
G4double GetTotNbOfElectPerVolume () const
 
const G4doubleGetAtomicNumDensityVector () const
 
G4double GetElectronDensity () const
 
G4double GetRadlen () const
 
G4double GetNuclearInterLength () const
 
G4IonisParamMatGetIonisation () const
 
G4SandiaTableGetSandiaTable () const
 
const G4MaterialGetBaseMaterial () const
 
std::map< G4Material *, G4doubleGetMatComponents () const
 
G4double GetMassOfMolecule () const
 
G4double GetZ () const
 
G4double GetA () const
 
void SetMaterialPropertiesTable (G4MaterialPropertiesTable *anMPT)
 
G4MaterialPropertiesTableGetMaterialPropertiesTable () 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 G4MaterialTableGetMaterialTable ()
 
static size_t GetNumberOfMaterials ()
 
static G4MaterialGetMaterial (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: