#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 const 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) |
Definition at line 118 of file G4Material.hh.
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 88 of file G4Material.cc.
References G4cout, G4endl, kStateGas, kStateSolid, and kStateUndefined.
00091 : fName(name) 00092 { 00093 InitializePointers(); 00094 00095 if (density < universe_mean_density) 00096 { 00097 G4cout << "--- Warning from G4Material::G4Material()" 00098 << " define a material with density=0 is not allowed. \n" 00099 << " The material " << name << " will be constructed with the" 00100 << " default minimal density: " << universe_mean_density/(g/cm3) 00101 << "g/cm3" << G4endl; 00102 density = universe_mean_density; 00103 } 00104 00105 fDensity = density; 00106 fState = state; 00107 fTemp = temp; 00108 fPressure = pressure; 00109 00110 // Initialize theElementVector allocating one 00111 // element corresponding to this material 00112 maxNbComponents = fNumberOfComponents = fNumberOfElements = 1; 00113 fArrayLength = maxNbComponents; 00114 fImplicitElement = true; 00115 theElementVector = new G4ElementVector(); 00116 theElementVector->push_back( new G4Element(name, " ", z, a)); 00117 fMassFractionVector = new G4double[1]; 00118 fMassFractionVector[0] = 1. ; 00119 fMassOfMolecule = a/Avogadro; 00120 00121 (*theElementVector)[0] -> increaseCountUse(); 00122 00123 if (fState == kStateUndefined) 00124 { 00125 if (fDensity > kGasThreshold) { fState = kStateSolid; } 00126 else { fState = kStateGas; } 00127 } 00128 00129 ComputeDerivedQuantities(); 00130 }
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 137 of file G4Material.cc.
References G4cout, G4endl, kStateGas, kStateSolid, and kStateUndefined.
00140 : fName(name) 00141 { 00142 InitializePointers(); 00143 00144 if (density < universe_mean_density) 00145 { 00146 G4cout << "--- Warning from G4Material::G4Material()" 00147 << " define a material with density=0 is not allowed. \n" 00148 << " The material " << name << " will be constructed with the" 00149 << " default minimal density: " << universe_mean_density/(g/cm3) 00150 << "g/cm3" << G4endl; 00151 density = universe_mean_density; 00152 } 00153 00154 fDensity = density; 00155 fState = state; 00156 fTemp = temp; 00157 fPressure = pressure; 00158 00159 maxNbComponents = nComponents; 00160 fArrayLength = maxNbComponents; 00161 fNumberOfComponents = fNumberOfElements = 0; 00162 theElementVector = new G4ElementVector(); 00163 theElementVector->reserve(maxNbComponents); 00164 00165 if (fState == kStateUndefined) 00166 { 00167 if (fDensity > kGasThreshold) { fState = kStateSolid; } 00168 else { fState = kStateGas; } 00169 } 00170 }
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 176 of file G4Material.cc.
References G4cout, G4endl, GetChemicalFormula(), GetMassOfMolecule(), GetMaterialPropertiesTable(), and GetNumberOfElements().
00179 : fName(name) 00180 { 00181 InitializePointers(); 00182 00183 if (density < universe_mean_density) 00184 { 00185 G4cout << "--- Warning from G4Material::G4Material()" 00186 << " define a material with density=0 is not allowed. \n" 00187 << " The material " << name << " will be constructed with the" 00188 << " default minimal density: " << universe_mean_density/(g/cm3) 00189 << "g/cm3" << G4endl; 00190 density = universe_mean_density; 00191 } 00192 00193 fDensity = density; 00194 fState = state; 00195 fTemp = temp; 00196 fPressure = pressure; 00197 00198 fBaseMaterial = bmat; 00199 fChemicalFormula = fBaseMaterial->GetChemicalFormula(); 00200 fMassOfMolecule = fBaseMaterial->GetMassOfMolecule(); 00201 00202 fNumberOfElements = fBaseMaterial->GetNumberOfElements(); 00203 maxNbComponents = fNumberOfElements; 00204 fNumberOfComponents = fNumberOfElements; 00205 00206 fMaterialPropertiesTable = fBaseMaterial->GetMaterialPropertiesTable(); 00207 00208 CopyPointersOfBaseMaterial(); 00209 }
G4Material::~G4Material | ( | ) | [virtual] |
Definition at line 227 of file G4Material.cc.
00228 { 00229 // G4cout << "### Destruction of material " << fName << " started" <<G4endl; 00230 if(!fBaseMaterial) { 00231 if (theElementVector) { delete theElementVector; } 00232 if (fMassFractionVector) { delete [] fMassFractionVector; } 00233 if (fAtomsVector) { delete [] fAtomsVector; } 00234 if (fSandiaTable) { delete fSandiaTable; } 00235 } 00236 if (fIonisation) { delete fIonisation; } 00237 if (VecNbOfAtomsPerVolume) { delete [] VecNbOfAtomsPerVolume; } 00238 00239 // Remove this material from theMaterialTable. 00240 // 00241 theMaterialTable[fIndexInTable] = 0; 00242 }
G4Material::G4Material | ( | __void__ & | ) |
Definition at line 216 of file G4Material.cc.
00217 : fNumberOfComponents(0), fNumberOfElements(0), theElementVector(0), 00218 fImplicitElement(false), fMassFractionVector(0), fAtomsVector(0), 00219 fMaterialPropertiesTable(0), fIndexInTable(0), 00220 VecNbOfAtomsPerVolume(0), fIonisation(0), fSandiaTable(0) 00221 { 00222 InitializePointers(); 00223 }
Definition at line 384 of file G4Material.cc.
References FatalException, G4cerr, G4cout, G4endl, G4Exception(), GetA(), G4Element::GetName(), and G4Element::increaseCountUse().
00385 { 00386 if(fraction < 0.0 || fraction > 1.0) { 00387 G4cout << "G4Material::AddElement ERROR for " << fName << " and " 00388 << element->GetName() << " mass fraction= " << fraction 00389 << " is wrong " << G4endl; 00390 G4Exception ("G4Material::AddElement()", "mat032", FatalException, 00391 "Attempt to add element with wrong mass fraction"); 00392 } 00393 // initialization 00394 if (fNumberOfComponents == 0) { 00395 fMassFractionVector = new G4double[fArrayLength]; 00396 fAtomsVector = new G4int [fArrayLength]; 00397 } 00398 // filling ... 00399 if (G4int(fNumberOfComponents) < maxNbComponents) { 00400 size_t el = 0; 00401 while ((el<fNumberOfElements)&&(element!=(*theElementVector)[el])) { ++el; } 00402 if (el<fNumberOfElements) fMassFractionVector[el] += fraction; 00403 else { 00404 theElementVector->push_back(element); 00405 fMassFractionVector[el] = fraction; 00406 ++fNumberOfElements; 00407 element->increaseCountUse(); 00408 } 00409 ++fNumberOfComponents; 00410 } else { 00411 G4cout << "G4Material::AddElement ERROR for " << fName << " nElement= " 00412 << fNumberOfElements << G4endl; 00413 G4Exception ("G4Material::AddElement()", "mat033", FatalException, 00414 "Attempt to add more than the declared number of elements."); 00415 } 00416 00417 // filled. 00418 if (G4int(fNumberOfComponents) == maxNbComponents) { 00419 00420 size_t i=0; 00421 G4double Zmol(0.), Amol(0.); 00422 // check sum of weights -- OK? 00423 G4double wtSum(0.0); 00424 for (i=0; i<fNumberOfElements; ++i) { 00425 wtSum += fMassFractionVector[i]; 00426 Zmol += fMassFractionVector[i]*(*theElementVector)[i]->GetZ(); 00427 Amol += fMassFractionVector[i]*(*theElementVector)[i]->GetA(); 00428 } 00429 if (std::fabs(1.-wtSum) > perThousand) { 00430 G4cerr << "WARNING !! for " << fName << " sum of fractional masses " 00431 << wtSum << " is not 1 - results may be wrong" 00432 << G4endl; 00433 } 00434 for (i=0; i<fNumberOfElements; ++i) { 00435 fAtomsVector[i] = 00436 G4int(fMassFractionVector[i]*Amol/(*theElementVector)[i]->GetA()+0.5); 00437 } 00438 00439 ComputeDerivedQuantities(); 00440 } 00441 }
Definition at line 341 of file G4Material.cc.
References FatalException, G4cout, G4endl, G4Exception(), and GetA().
Referenced by G4tgbMaterialMixtureByWeight::BuildG4Material(), G4tgbMaterialMixtureByNoAtoms::BuildG4Material(), G4gsmate(), G4gsmixt(), and G4GDMLReadMaterials::MixtureRead().
00342 { 00343 // initialization 00344 if ( fNumberOfElements == 0 ) { 00345 fAtomsVector = new G4int [fArrayLength]; 00346 fMassFractionVector = new G4double[fArrayLength]; 00347 } 00348 00349 // filling ... 00350 if ( G4int(fNumberOfElements) < maxNbComponents ) { 00351 theElementVector->push_back(element); 00352 fAtomsVector[fNumberOfElements] = nAtoms; 00353 fNumberOfComponents = ++fNumberOfElements; 00354 element->increaseCountUse(); 00355 } else { 00356 G4cout << "G4Material::AddElement ERROR for " << fName << " nElement= " 00357 << fNumberOfElements << G4endl; 00358 G4Exception ("G4Material::AddElement()", "mat031", FatalException, 00359 "Attempt to add more than the declared number of elements."); 00360 } 00361 // filled. 00362 if ( G4int(fNumberOfElements) == maxNbComponents ) { 00363 // compute proportion by mass 00364 size_t i=0; 00365 G4double Amol = 0.; 00366 for (i=0; i<fNumberOfElements; ++i) { 00367 G4double w = fAtomsVector[i]*(*theElementVector)[i]->GetA(); 00368 Amol += w; 00369 fMassFractionVector[i] = w; 00370 } 00371 for (i=0; i<fNumberOfElements; ++i) { 00372 fMassFractionVector[i] /= Amol; 00373 } 00374 00375 fMassOfMolecule = Amol/Avogadro; 00376 ComputeDerivedQuantities(); 00377 } 00378 }
void G4Material::AddMaterial | ( | G4Material * | material, | |
G4double | fraction | |||
) |
Definition at line 447 of file G4Material.cc.
References FatalException, G4cout, G4endl, G4Exception(), GetA(), GetElementVector(), GetFractionVector(), GetName(), and GetNumberOfElements().
Referenced by G4tgbMaterialMixtureByWeight::BuildG4Material(), G4tgbMaterialMixtureByVolume::BuildG4Material(), and G4GDMLReadMaterials::MixtureRead().
00448 { 00449 if(fraction < 0.0 || fraction > 1.0) { 00450 G4cout << "G4Material::AddMaterial ERROR for " << fName << " and " 00451 << material->GetName() << " mass fraction= " << fraction 00452 << " is wrong " << G4endl; 00453 G4Exception ("G4Material::AddMaterial()", "mat034", FatalException, 00454 "Attempt to add material with wrong mass fraction"); 00455 } 00456 // initialization 00457 if (fNumberOfComponents == 0) { 00458 fMassFractionVector = new G4double[fArrayLength]; 00459 fAtomsVector = new G4int [fArrayLength]; 00460 } 00461 00462 size_t nelm = material->GetNumberOfElements(); 00463 00464 // arrays should be extended 00465 if(nelm > 1) { 00466 G4int nold = fArrayLength; 00467 fArrayLength += nelm - 1; 00468 G4double* v1 = new G4double[fArrayLength]; 00469 G4int* i1 = new G4int[fArrayLength]; 00470 for(G4int i=0; i<nold; ++i) { 00471 v1[i] = fMassFractionVector[i]; 00472 i1[i] = fAtomsVector[i]; 00473 } 00474 delete [] fAtomsVector; 00475 delete [] fMassFractionVector; 00476 fMassFractionVector = v1; 00477 fAtomsVector = i1; 00478 } 00479 00480 // filling ... 00481 if (G4int(fNumberOfComponents) < maxNbComponents) { 00482 for (size_t elm=0; elm<nelm; ++elm) 00483 { 00484 G4Element* element = (*(material->GetElementVector()))[elm]; 00485 size_t el = 0; 00486 while ((el<fNumberOfElements)&&(element!=(*theElementVector)[el])) el++; 00487 if (el < fNumberOfElements) fMassFractionVector[el] += fraction 00488 *(material->GetFractionVector())[elm]; 00489 else { 00490 theElementVector->push_back(element); 00491 fMassFractionVector[el] = fraction 00492 *(material->GetFractionVector())[elm]; 00493 ++fNumberOfElements; 00494 element->increaseCountUse(); 00495 } 00496 } 00497 ++fNumberOfComponents; 00499 fMatComponents[material] = fraction; 00500 00501 } else { 00502 G4cout << "G4Material::AddMaterial ERROR for " << fName << " nElement= " 00503 << fNumberOfElements << G4endl; 00504 G4Exception ("G4Material::AddMaterial()", "mat035", FatalException, 00505 "Attempt to add more than the declared number of components."); 00506 } 00507 00508 // filled. 00509 if (G4int(fNumberOfComponents) == maxNbComponents) { 00510 size_t i=0; 00511 G4double Zmol(0.), Amol(0.); 00512 // check sum of weights -- OK? 00513 G4double wtSum(0.0); 00514 for (i=0; i<fNumberOfElements; ++i) { 00515 wtSum += fMassFractionVector[i]; 00516 Zmol += fMassFractionVector[i]*(*theElementVector)[i]->GetZ(); 00517 Amol += fMassFractionVector[i]*(*theElementVector)[i]->GetA(); 00518 } 00519 if (std::fabs(1.-wtSum) > perThousand) { 00520 G4cout << "G4Material::AddMaterial WARNING !! for " << fName 00521 << " sum of fractional masses " 00522 << wtSum << " is not 1 - results may be wrong" 00523 << G4endl; 00524 } 00525 for (i=0;i<fNumberOfElements;i++) { 00526 fAtomsVector[i] = 00527 G4int(fMassFractionVector[i]*Amol/(*theElementVector)[i]->GetA()+0.5); 00528 } 00529 00530 ComputeDerivedQuantities(); 00531 } 00532 }
G4double G4Material::GetA | ( | ) | const |
Definition at line 617 of file G4Material.cc.
References FatalException, G4cout, G4endl, and G4Exception().
Referenced by AddElement(), AddMaterial(), G4tgbGeometryDumper::DumpMaterial(), GVFlashShowerParameterisation::GetEffA(), and G4GDMLWriteMaterials::MaterialWrite().
00618 { 00619 if (fNumberOfElements > 1) { 00620 G4cout << "G4Material ERROR in GetA. The material: " << fName << " is a mixture." 00621 << G4endl; 00622 G4Exception ("G4Material::GetA()", "mat037", FatalException, 00623 "the Atomic mass is not well defined." ); 00624 } 00625 return (*theElementVector)[0]->GetA(); 00626 }
const G4double* G4Material::GetAtomicNumDensityVector | ( | ) | const [inline] |
Definition at line 215 of file G4Material.hh.
Referenced by G4PionMinusAbsorptionAtRest::AtRestDoIt(), G4NeutronCaptureAtRest::AtRestDoIt(), G4KaonMinusAbsorption::AtRestDoIt(), G4AntiProtonAnnihilationAtRest::AtRestDoIt(), G4AntiNeutronAnnihilationAtRest::AtRestDoIt(), G4RToEConvForGamma::BuildAbsorptionLengthVector(), G4eIonisationCrossSectionHandler::BuildCrossSectionsForMaterials(), G4CrossSectionHandler::BuildCrossSectionsForMaterials(), G4VRangeToEnergyConverter::BuildRangeVector(), G4MuPairProductionModel::ComputeDEDXPerVolume(), G4MuBremsstrahlungModel::ComputeDEDXPerVolume(), G4LivermoreIonisationModel::ComputeDEDXPerVolume(), G4LivermoreBremsstrahlungModel::ComputeDEDXPerVolume(), G4ICRU49NuclearStoppingModel::ComputeDEDXPerVolume(), G4eBremsstrahlungRelModel::ComputeDEDXPerVolume(), G4eBremsstrahlungModel::ComputeDEDXPerVolume(), G4eBremParametrizedModel::ComputeDEDXPerVolume(), G4eBremsstrahlungModel::CrossSectionPerVolume(), G4DNAScreenedRutherfordElasticModel::CrossSectionPerVolume(), G4DNAEmfietzoglouExcitationModel::CrossSectionPerVolume(), G4AdjointBremsstrahlungModel::DiffCrossSectionPerVolumePrimToSecondApproximated2(), G4StopElementSelector::GetElement(), G4ElementSelector::SelectZandA(), and G4hQAOModel::StoppingPower().
const G4int* G4Material::GetAtomsVector | ( | ) | const [inline] |
const G4Material* G4Material::GetBaseMaterial | ( | ) | const [inline] |
Definition at line 232 of file G4Material.hh.
Referenced by G4MuElecInelasticModel::CrossSectionPerVolume(), G4MuElecElasticModel::CrossSectionPerVolume(), G4LossTableBuilder::InitialiseBaseMaterials(), and CompareMaterial::operator()().
const G4String& G4Material::GetChemicalFormula | ( | ) | const [inline] |
Definition at line 178 of file G4Material.hh.
Referenced by G4Material(), G4hICRU49p::HasMaterial(), and G4hICRU49He::HasMaterial().
G4double G4Material::GetDensity | ( | ) | const [inline] |
Definition at line 179 of file G4Material.hh.
Referenced by G4GMocrenFileSceneHandler::AddSolid(), G4NistManager::BuildMaterialWithNewDensity(), G4ProductionCutsTable::CheckMaterialInfo(), G4EmCalculator::ComputeDEDX(), G4mplIonisationWithDeltaModel::ComputeDEDXPerVolume(), G4mplIonisationModel::ComputeDEDXPerVolume(), G4EmCalculator::ComputeNuclearDEDX(), G4NistMaterialBuilder::ConstructNewGasMaterial(), G4VRangeToEnergyConverter::Convert(), G4PhysicalVolumeModel::CreateCurrentAttValues(), G4PhysicalVolumeModel::DescribeAndDescend(), G4tgbGeometryDumper::DumpMaterial(), G4InitXscPAI::G4InitXscPAI(), G4PAIxSection::G4PAIxSection(), G4EmCalculator::GetDEDX(), G4VMscModel::GetEnergy(), G4LogicalVolume::GetMass(), G4VMscModel::GetRange(), G4LossTableBuilder::InitialiseBaseMaterials(), G4PAIySection::Initialize(), G4GDMLWriteMaterials::MaterialWrite(), G4PSDoseDeposit::ProcessHits(), G4ASCIITreeSceneHandler::RequestPrimitives(), GFlashSamplingShowerParameterisation::SetMaterial(), GFlashHomoShowerParameterisation::SetMaterial(), and G4tgbMaterialMixtureByVolume::TransformToFractionsByWeight().
G4double G4Material::GetElectronDensity | ( | ) | const [inline] |
Definition at line 216 of file G4Material.hh.
Referenced by G4AdjointhIonisationModel::AdjointCrossSection(), G4AdjointComptonModel::AdjointCrossSection(), G4ForwardXrayTR::BuildXrayTRtables(), G4MuBetheBlochModel::ComputeDEDXPerVolume(), G4MollerBhabhaModel::ComputeDEDXPerVolume(), G4ICRU73QOModel::ComputeDEDXPerVolume(), G4eBremsstrahlungModel::ComputeDEDXPerVolume(), G4BraggModel::ComputeDEDXPerVolume(), G4BraggIonModel::ComputeDEDXPerVolume(), G4BetheBlochModel::ComputeDEDXPerVolume(), G4EmCorrections::ComputeIonCorrections(), G4MuBetheBlochModel::CrossSectionPerVolume(), G4MollerBhabhaModel::CrossSectionPerVolume(), G4ICRU73QOModel::CrossSectionPerVolume(), G4eeToTwoGammaModel::CrossSectionPerVolume(), G4eeToHadronsMultiModel::CrossSectionPerVolume(), G4eeToHadronsModel::CrossSectionPerVolume(), G4eBremsstrahlungModel::CrossSectionPerVolume(), G4BraggModel::CrossSectionPerVolume(), G4BraggIonModel::CrossSectionPerVolume(), G4BetheBlochModel::CrossSectionPerVolume(), G4UniversalFluctuation::Dispersion(), G4mplIonisationWithDeltaModel::Dispersion(), G4mplIonisationModel::Dispersion(), G4IonFluctuations::Dispersion(), G4BohrFluctuations::Dispersion(), G4InitXscPAI::G4InitXscPAI(), G4StrawTubeXTRadiator::G4StrawTubeXTRadiator(), G4VXTRenergyLoss::G4VXTRenergyLoss(), G4VEnergyLoss::GetLossWithFluct(), G4VeLowEnergyLoss::GetLossWithFluct(), G4EmCorrections::HighOrderCorrections(), G4PAIySection::Initialize(), G4EmCorrections::IonBarkasCorrection(), G4AdjointhIonisationModel::RapidSampleSecondaries(), G4AdjointComptonModel::RapidSampleSecondaries(), G4UniversalFluctuation::SampleFluctuations(), G4eBremsstrahlungModel::SampleSecondaries(), G4eBremsstrahlungRelModel::SetupForMaterial(), and G4eBremParametrizedModel::SetupForMaterial().
Definition at line 201 of file G4Material.hh.
Referenced by G4NeutronHPThermalScattering::ApplyYourself(), G4NeutronHPorLFission::ApplyYourself(), G4NeutronHPorLElastic::ApplyYourself(), G4NeutronHPorLEInelastic::ApplyYourself(), G4NeutronHPorLCapture::ApplyYourself(), G4NeutronHPInelastic::ApplyYourself(), G4NeutronHPFission::ApplyYourself(), G4NeutronHPElastic::ApplyYourself(), G4NeutronHPCapture::ApplyYourself(), G4FissLib::ApplyYourself(), G4AdjointCSManager::ComputeAdjointCS(), G4PAIySection::ComputeLowEnergyCof(), GVFlashShowerParameterisation::GetEffA(), GVFlashShowerParameterisation::GetEffZ(), G4NeutronIsotopeProduction::GetIsotope(), G4GDMLWriteMaterials::MaterialWrite(), G4AdjointCSManager::SampleElementFromCSMatrices(), and G4VEmAdjointModel::SelectCSMatrix().
const G4ElementVector* G4Material::GetElementVector | ( | ) | const [inline] |
Definition at line 189 of file G4Material.hh.
Referenced by AddMaterial(), G4AdjointPhotoElectricModel::AdjointCrossSection(), G4VAtomDeexcitation::AlongStepDeexcitation(), G4QCaptureAtRest::AtRestDoIt(), G4PionMinusAbsorptionAtRest::AtRestDoIt(), G4PiMinusAbsorptionAtRest::AtRestDoIt(), G4NeutronCaptureAtRest::AtRestDoIt(), G4KaonMinusAbsorption::AtRestDoIt(), G4AntiProtonAnnihilationAtRest::AtRestDoIt(), G4AntiNeutronAnnihilationAtRest::AtRestDoIt(), G4RToEConvForGamma::BuildAbsorptionLengthVector(), G4eIonisationCrossSectionHandler::BuildCrossSectionsForMaterials(), G4CrossSectionHandler::BuildCrossSectionsForMaterials(), G4BremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(), G4VRangeToEnergyConverter::BuildRangeVector(), G4Nucleus::ChooseParameters(), G4MuPairProductionModel::ComputeDEDXPerVolume(), G4MuBremsstrahlungModel::ComputeDEDXPerVolume(), G4LivermoreIonisationModel::ComputeDEDXPerVolume(), G4LivermoreBremsstrahlungModel::ComputeDEDXPerVolume(), G4ICRU49NuclearStoppingModel::ComputeDEDXPerVolume(), G4eBremsstrahlungRelModel::ComputeDEDXPerVolume(), G4eBremsstrahlungModel::ComputeDEDXPerVolume(), G4eBremParametrizedModel::ComputeDEDXPerVolume(), G4GammaConversionToMuons::ComputeMeanFreePath(), G4VEmModel::CrossSectionPerVolume(), G4eBremsstrahlungModel::CrossSectionPerVolume(), G4AnnihiToMuPair::CrossSectionPerVolume(), G4AdjointBremsstrahlungModel::DiffCrossSectionPerVolumePrimToSecondApproximated2(), G4tgbGeometryDumper::DumpMaterial(), G4EmElementSelector::G4EmElementSelector(), G4HadronicProcessStore::GetCaptureCrossSectionPerVolume(), G4HadronicProcessStore::GetChargeExchangeCrossSectionPerVolume(), G4CrossSectionDataStore::GetCrossSection(), G4HadronicProcessStore::GetElasticCrossSectionPerVolume(), G4StopElementSelector::GetElement(), G4HadronicProcessStore::GetFissionCrossSectionPerVolume(), G4HadronicProcessStore::GetInelasticCrossSectionPerVolume(), G4QNGamma::GetMeanFreePath(), G4QLowEnergy::GetMeanFreePath(), G4QIonIonElastic::GetMeanFreePath(), G4QInelastic::GetMeanFreePath(), G4QElastic::GetMeanFreePath(), G4QDiffraction::GetMeanFreePath(), G4QCoherentChargeExchange::GetMeanFreePath(), G4QAtomicElectronScattering::GetMeanFreePath(), G4LivermoreRayleighModel::Initialise(), G4LivermorePhotoElectricModel::Initialise(), G4VAtomDeexcitation::InitialiseAtomicDeexcitation(), G4QNGamma::PostStepDoIt(), G4QLowEnergy::PostStepDoIt(), G4QIonIonElastic::PostStepDoIt(), G4QInelastic::PostStepDoIt(), G4QElastic::PostStepDoIt(), G4QDiffraction::PostStepDoIt(), G4QCoherentChargeExchange::PostStepDoIt(), G4QAtomicElectronScattering::PostStepDoIt(), G4WentzelVIRelModel::SampleScattering(), G4WentzelVIModel::SampleScattering(), G4GoudsmitSaundersonMscModel::SampleScattering(), G4AdjointPhotoElectricModel::SampleSecondaries(), G4CrossSectionDataStore::SampleZandA(), G4VEmModel::SelectRandomAtom(), G4VCrossSectionHandler::SelectRandomAtom(), G4PixeCrossSectionHandler::SelectRandomAtom(), G4eBremsstrahlungModel::SelectRandomAtom(), G4VCrossSectionHandler::SelectRandomElement(), G4ElementSelector::SelectZandA(), G4hQAOModel::StoppingPower(), G4VCrossSectionHandler::ValueForMaterial(), and G4PixeCrossSectionHandler::ValueForMaterial().
const G4double* G4Material::GetFractionVector | ( | ) | const [inline] |
Definition at line 193 of file G4Material.hh.
Referenced by AddMaterial(), G4QCaptureAtRest::AtRestDoIt(), G4PiMinusAbsorptionAtRest::AtRestDoIt(), G4tgbGeometryDumper::DumpMaterial(), GVFlashShowerParameterisation::GetEffA(), GVFlashShowerParameterisation::GetEffZ(), G4GDMLWriteMaterials::MaterialWrite(), and G4QAtomicElectronScattering::PostStepDoIt().
size_t G4Material::GetIndex | ( | ) | const [inline] |
Definition at line 261 of file G4Material.hh.
Referenced by G4AdjointCSManager::ComputeAdjointCS(), G4VRangeToEnergyConverter::Convert(), G4DNATransformElectronModel::CrossSectionPerVolume(), G4DNAScreenedRutherfordElasticModel::CrossSectionPerVolume(), G4DNASancheSolvatationModel::CrossSectionPerVolume(), G4DNASancheExcitationModel::CrossSectionPerVolume(), G4DNARuddIonisationModel::CrossSectionPerVolume(), G4DNARuddIonisationExtendedModel::CrossSectionPerVolume(), G4DNAMillerGreenExcitationModel::CrossSectionPerVolume(), G4DNAMeltonAttachmentModel::CrossSectionPerVolume(), G4DNAEmfietzoglouExcitationModel::CrossSectionPerVolume(), G4DNADingfelderChargeIncreaseModel::CrossSectionPerVolume(), G4DNADingfelderChargeDecreaseModel::CrossSectionPerVolume(), G4DNAChampionElasticModel::CrossSectionPerVolume(), G4DNABornIonisationModel::CrossSectionPerVolume(), G4DNABornExcitationModel::CrossSectionPerVolume(), G4InitXscPAI::G4InitXscPAI(), G4PAIxSection::G4PAIxSection(), G4StrawTubeXTRadiator::G4StrawTubeXTRadiator(), G4VXTRenergyLoss::G4VXTRenergyLoss(), G4EnergyLossTables::GetDEDX(), G4EnergyLossTables::GetDeltaLabTime(), G4EnergyLossTables::GetDeltaProperTime(), G4EnergyLossTables::GetLabTime(), G4OpRayleigh::GetMeanFreePath(), G4EnergyLossTables::GetPreciseDEDX(), G4EnergyLossTables::GetPreciseEnergyFromRange(), G4EnergyLossTables::GetPreciseRangeFromEnergy(), G4EnergyLossTables::GetProperTime(), G4EnergyLossTables::GetRange(), G4Scintillation::PostStepDoIt(), G4OpWLS::PostStepDoIt(), G4DNASecondOrderReaction::PostStepGetPhysicalInteractionLength(), G4DNAMolecularMaterial::RecordMolecularMaterial(), and G4PixeCrossSectionHandler::SelectRandomAtom().
G4IonisParamMat* G4Material::GetIonisation | ( | ) | const [inline] |
Definition at line 225 of file G4Material.hh.
Referenced by G4EmCorrections::Bethe(), G4hImpactIonisation::BuildPhysicsTable(), G4MuBetheBlochModel::ComputeDEDXPerVolume(), G4MollerBhabhaModel::ComputeDEDXPerVolume(), G4BetheBlochModel::ComputeDEDXPerVolume(), G4EmCorrections::DensityCorrection(), G4tgbGeometryDumper::DumpMaterial(), G4ionEffectiveCharge::EffectiveCharge(), G4ElectronIonPair::FindG4MeanEnergyPerIonPair(), G4tgbMaterialMgr::FindOrBuildG4Material(), G4VEnergyLoss::GetLossWithFluct(), G4VeLowEnergyLoss::GetLossWithFluct(), G4hBetheBlochModel::LowEnergyLimit(), G4GDMLReadMaterials::MaterialRead(), G4GDMLWriteMaterials::MaterialWrite(), G4ElectronIonPair::MeanNumberOfIonsAlongStep(), G4MuBetheBlochModel::MinEnergyCut(), G4CoulombScattering::MinPrimaryEnergy(), operator<<(), G4hImpactIonisation::PrintInfoDefinition(), G4UniversalFluctuation::SampleFluctuations(), G4WentzelVIRelXSection::SetupKinematic(), G4WentzelOKandVIxSection::SetupKinematic(), and G4EmCorrections::ShellCorrectionSTD().
G4double G4Material::GetMassOfMolecule | ( | ) | const [inline] |
Definition at line 241 of file G4Material.hh.
Referenced by G4DNASecondOrderReaction::BuildPhysicsTable(), G4Material(), and G4DNAMolecularMaterial::SearchMolecularMaterial().
std::map<G4Material*,G4double> G4Material::GetMatComponents | ( | ) | const [inline] |
Definition at line 236 of file G4Material.hh.
Referenced by G4DNAMolecularMaterial::SearchMolecularMaterial().
G4Material * G4Material::GetMaterial | ( | const G4String & | name, | |
G4bool | warning = true | |||
) | [static] |
Definition at line 576 of file G4Material.cc.
References G4cout, G4endl, and GetName().
Referenced by G4DNABrownianTransportation::BuildPhysicsTable(), G4ProductionCutsTable::CheckMaterialInfo(), G4EmCalculator::FindMaterial(), G3MatTable::get(), G4GDMLReadMaterials::GetMaterial(), G4DNATransformElectronModel::Initialise(), G4DNAScreenedRutherfordElasticModel::Initialise(), G4DNASancheSolvatationModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNARuddIonisationExtendedModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAEmfietzoglouExcitationModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNAChampionElasticModel::Initialise(), G4DNABornIonisationModel::Initialise(), G4DNABornExcitationModel::Initialise(), and G4Region::ScanVolumeTree().
00577 { 00578 // search the material by its name 00579 for (size_t J=0 ; J<theMaterialTable.size() ; ++J) 00580 { 00581 if (theMaterialTable[J]->GetName() == materialName) 00582 { return theMaterialTable[J]; } 00583 } 00584 00585 // the material does not exist in the table 00586 if (warning) { 00587 G4cout << "G4Material::GetMaterial() WARNING: The material: " 00588 << materialName << " does not exist in the table. Return NULL pointer." 00589 << G4endl; 00590 } 00591 return 0; 00592 }
G4MaterialPropertiesTable* G4Material::GetMaterialPropertiesTable | ( | ) | const [inline] |
Definition at line 251 of file G4Material.hh.
Referenced by G4Scintillation::BuildThePhysicsTable(), G4Track::CalculateVelocityForOpticalPhoton(), G4Material(), G4OpWLS::GetMeanFreePath(), G4OpRayleigh::GetMeanFreePath(), G4OpMieHG::GetMeanFreePath(), G4OpAbsorption::GetMeanFreePath(), G4GDMLWriteMaterials::MaterialWrite(), G4Scintillation::PostStepDoIt(), G4OpWLS::PostStepDoIt(), G4OpMieHG::PostStepDoIt(), G4OpBoundaryProcess::PostStepDoIt(), G4Cerenkov::PostStepDoIt(), G4Cerenkov::PostStepGetPhysicalInteractionLength(), G4GDMLReadMaterials::PropertyRead(), and G4GDMLWriteMaterials::PropertyWrite().
const G4MaterialTable * G4Material::GetMaterialTable | ( | ) | [static] |
Definition at line 562 of file G4Material.cc.
Referenced by G4VCrossSectionHandler::ActiveElements(), G4AugerData::BuildAugerTransitionTable(), G4AdjointCSManager::BuildCrossSectionMatrices(), G4NeutronHPThermalScatteringData::BuildPhysicsTable(), G4Scintillation::BuildThePhysicsTable(), G4VXTRenergyLoss::ComputeGasPhotoAbsCof(), G4StrawTubeXTRadiator::ComputeMediumPhotoAbsCof(), G4VXTRenergyLoss::ComputePlatePhotoAbsCof(), G4PAIPhotonModel::ComputeSandiaPhotoAbsCof(), G4PAIModel::ComputeSandiaPhotoAbsCof(), G4VRangeToEnergyConverter::Convert(), G4ElectronIonPair::DumpMeanEnergyPerIonPair(), G4NistMaterialBuilder::FindOrBuildMaterial(), G4PAIxSection::G4PAIxSection(), G4SandiaTable::G4SandiaTable(), G4DNAMolecularMaterial::GetDensityTableFor(), G4VXTRenergyLoss::GetGasCompton(), G4NistManager::GetMaterial(), G4DNAMolecularMaterial::GetNumMolPerVolTableFor(), G4VXTRenergyLoss::GetPlateCompton(), G4PAIPhotonModel::Initialise(), G4PAIModel::Initialise(), G4ICRU73QOModel::Initialise(), G4DNAMolecularMaterial::Initialize(), G4DNAMolecularMaterial::InitializeDensity(), G4DNAMolecularMaterial::InitializeNumMolPerVol(), G4NistManager::PrintG4Material(), G4ProductionCutsTable::StoreMaterialInfo(), G4GDMLRead::StripNames(), and G4NistManager::~G4NistManager().
const G4String& G4Material::GetName | ( | ) | const [inline] |
Definition at line 177 of file G4Material.hh.
Referenced by AddMaterial(), G4GMocrenFileSceneHandler::AddSolid(), G4ErrorEnergyLoss::AlongStepDoIt(), G4VRestContinuousProcess::AlongStepGetPhysicalInteractionLength(), G4VRestContinuousDiscreteProcess::AlongStepGetPhysicalInteractionLength(), G4VContinuousProcess::AlongStepGetPhysicalInteractionLength(), G4VContinuousDiscreteProcess::AlongStepGetPhysicalInteractionLength(), G4IVContinuousDiscreteProcess::AlongStepGetPhysicalInteractionLength(), G4RPGXiZeroInelastic::ApplyYourself(), G4RPGXiMinusInelastic::ApplyYourself(), G4RPGSigmaPlusInelastic::ApplyYourself(), G4RPGSigmaMinusInelastic::ApplyYourself(), G4RPGOmegaMinusInelastic::ApplyYourself(), G4RPGLambdaInelastic::ApplyYourself(), G4RPGKZeroInelastic::ApplyYourself(), G4RPGKPlusInelastic::ApplyYourself(), G4RPGKMinusInelastic::ApplyYourself(), G4RPGAntiXiZeroInelastic::ApplyYourself(), G4RPGAntiXiMinusInelastic::ApplyYourself(), G4RPGAntiSigmaPlusInelastic::ApplyYourself(), G4RPGAntiSigmaMinusInelastic::ApplyYourself(), G4RPGAntiProtonInelastic::ApplyYourself(), G4RPGAntiOmegaMinusInelastic::ApplyYourself(), G4RPGAntiNeutronInelastic::ApplyYourself(), G4RPGAntiLambdaInelastic::ApplyYourself(), G4RPGAntiKZeroInelastic::ApplyYourself(), G4LEXiZeroInelastic::ApplyYourself(), G4LEXiMinusInelastic::ApplyYourself(), G4LETritonInelastic::ApplyYourself(), G4LESigmaPlusInelastic::ApplyYourself(), G4LESigmaMinusInelastic::ApplyYourself(), G4LEProtonInelastic::ApplyYourself(), G4LEPionPlusInelastic::ApplyYourself(), G4LEPionMinusInelastic::ApplyYourself(), G4LEOmegaMinusInelastic::ApplyYourself(), G4LENeutronInelastic::ApplyYourself(), G4LELambdaInelastic::ApplyYourself(), G4LEKaonZeroInelastic::ApplyYourself(), G4LEKaonPlusInelastic::ApplyYourself(), G4LEKaonMinusInelastic::ApplyYourself(), G4LEDeuteronInelastic::ApplyYourself(), G4LEAntiXiZeroInelastic::ApplyYourself(), G4LEAntiXiMinusInelastic::ApplyYourself(), G4LEAntiSigmaPlusInelastic::ApplyYourself(), G4LEAntiSigmaMinusInelastic::ApplyYourself(), G4LEAntiProtonInelastic::ApplyYourself(), G4LEAntiOmegaMinusInelastic::ApplyYourself(), G4LEAntiNeutronInelastic::ApplyYourself(), G4LEAntiLambdaInelastic::ApplyYourself(), G4LEAntiKaonZeroInelastic::ApplyYourself(), G4LEAlphaInelastic::ApplyYourself(), G4VRestProcess::AtRestGetPhysicalInteractionLength(), G4VRestDiscreteProcess::AtRestGetPhysicalInteractionLength(), G4VRestContinuousProcess::AtRestGetPhysicalInteractionLength(), G4VRestContinuousDiscreteProcess::AtRestGetPhysicalInteractionLength(), G4VITRestProcess::AtRestGetPhysicalInteractionLength(), G4VITRestDiscreteProcess::AtRestGetPhysicalInteractionLength(), G4ProtonAntiProtonAtRestChips::AtRestGetPhysicalInteractionLength(), G4PionMinusNuclearAtRestChips::AtRestGetPhysicalInteractionLength(), G4PionMinusAbsorptionAtRest::AtRestGetPhysicalInteractionLength(), G4NeutronCaptureAtRest::AtRestGetPhysicalInteractionLength(), G4KaonMinusAbsorption::AtRestGetPhysicalInteractionLength(), G4IVRestDiscreteProcess::AtRestGetPhysicalInteractionLength(), G4AntiProtonAnnihilationAtRest::AtRestGetPhysicalInteractionLength(), G4AntiNeutronAnnihilationAtRest::AtRestGetPhysicalInteractionLength(), G4EmCorrections::BarkasCorrection(), G4eIonisationCrossSectionHandler::BuildCrossSectionsForMaterials(), G4ProductionCutsTable::CheckMaterialCutsCoupleInfo(), G4EmCalculator::ComputeCrossSectionPerVolume(), G4EmCalculator::ComputeDEDX(), G4EmCalculator::ComputeElectronicDEDX(), G4EmCalculator::ComputeMeanFreePath(), G4tgbVolume::ConstructG4LogVol(), G4VRangeToEnergyConverter::Convert(), G4PhysicalVolumeModel::CreateCurrentAttValues(), G4PenelopeIonisationCrossSection::CrossSection(), G4PenelopeIonisationModel::CrossSectionPerVolume(), G4PenelopeComptonModel::CrossSectionPerVolume(), G4PenelopeBremsstrahlungModel::CrossSectionPerVolume(), G4PenelopeOscillatorManager::Dump(), G4EmElementSelector::Dump(), G4ProductionCutsTable::DumpCouples(), G4PenelopeRayleighModel::DumpFormFactorTable(), G4HadronicProcess::DumpState(), G4EmModelManager::FillDEDXVector(), G4EmModelManager::FillLambdaVector(), G4EmCalculator::FindCouple(), G4EmSaturation::FindG4BirksCoefficient(), G4ElectronIonPair::FindG4MeanEnergyPerIonPair(), G4tgbMaterialMgr::FindOrBuildG4Material(), G4StrawTubeXTRadiator::G4StrawTubeXTRadiator(), G4VXTRenergyLoss::G4VXTRenergyLoss(), G4CrossSectionDataStore::GetCrossSection(), G4EmCalculator::GetCrossSectionPerVolume(), G4PenelopeIonisationXSHandler::GetCrossSectionTableForCouple(), G4EmCalculator::GetCSDARange(), G4EmCalculator::GetDEDX(), G4VCrossSectionDataSet::GetElementCrossSection(), G4EnergyRangeManager::GetHadronicInteraction(), G4PSTARStopping::GetIndex(), G4ASTARStopping::GetIndex(), G4VCrossSectionDataSet::GetIsoCrossSection(), G4EmCalculator::GetKinEnergy(), GetMaterial(), G4HadronicInteraction::GetMaxEnergy(), G4OpRayleigh::GetMeanFreePath(), G4EmCalculator::GetMeanFreePath(), G4HadronicInteraction::GetMinEnergy(), G4PenelopeOscillatorManager::GetNumberOfZAtomsPerMolecule(), G4PenelopeOscillatorManager::GetOscillatorCompton(), G4PenelopeOscillatorManager::GetOscillatorIonisation(), G4EmCalculator::GetRange(), G4EmCalculator::GetRangeFromRestricteDEDX(), G4EmCorrections::HighOrderCorrections(), G4EmModelManager::Initialise(), G4PAIySection::Initialize(), G4GDMLWriteMaterials::MaterialWrite(), G4WHadronElasticProcess::PostStepDoIt(), G4VXTRenergyLoss::PostStepDoIt(), G4HadronElasticProcess::PostStepDoIt(), G4DNASecondOrderReaction::PostStepDoIt(), G4VRestDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VRestContinuousDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VITRestDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength(), G4VEmProcess::PostStepGetPhysicalInteractionLength(), G4VDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4VContinuousDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4DNASecondOrderReaction::PostStepGetPhysicalInteractionLength(), G4Decay::PostStepGetPhysicalInteractionLength(), G4hImpactIonisation::PrintInfoDefinition(), GVFlashShowerParameterisation::PrintMaterial(), G4DNAMolecularMaterial::PrintNotAMolecularMaterial(), G4GDMLWriteMaterials::PropertyWrite(), G4ASCIITreeSceneHandler::RequestPrimitives(), G4PenelopeBremsstrahlungAngular::SampleDirection(), G4PenelopeBremsstrahlungFS::SampleGammaEnergy(), G4UrbanMscModel92::SampleScattering(), G4UrbanMscModel90::SampleScattering(), G4PenelopePhotoElectricModel::SampleSecondaries(), G4PenelopeBremsstrahlungModel::SampleSecondaries(), G4LowEPComptonModel::SampleSecondaries(), G4LivermoreComptonModifiedModel::SampleSecondaries(), G4LivermoreComptonModel::SampleSecondaries(), G4HadronicInteraction::SetMaxEnergy(), G4IonisParamMat::SetMeanExcitationEnergy(), G4HadronicInteraction::SetMinEnergy(), G4EnergySplitter::SplitEnergyInVolumes(), G4ProductionCutsTable::StoreMaterialCutsCoupleInfo(), G4tgbMaterialMixtureByVolume::TransformToFractionsByWeight(), and G4GDMLWriteStructure::TraverseVolumeTree().
G4double G4Material::GetNuclearInterLength | ( | ) | const [inline] |
Definition at line 222 of file G4Material.hh.
Referenced by G4MSSteppingAction::UserSteppingAction().
size_t G4Material::GetNumberOfElements | ( | ) | const [inline] |
Definition at line 185 of file G4Material.hh.
Referenced by AddMaterial(), G4AdjointPhotoElectricModel::AdjointCrossSection(), G4VAtomDeexcitation::AlongStepDeexcitation(), G4NeutronHPThermalScattering::ApplyYourself(), G4NeutronHPorLFission::ApplyYourself(), G4NeutronHPorLElastic::ApplyYourself(), G4NeutronHPorLEInelastic::ApplyYourself(), G4NeutronHPorLCapture::ApplyYourself(), G4NeutronHPInelastic::ApplyYourself(), G4NeutronHPFission::ApplyYourself(), G4NeutronHPElastic::ApplyYourself(), G4NeutronHPCapture::ApplyYourself(), G4FissLib::ApplyYourself(), G4QCaptureAtRest::AtRestDoIt(), G4PionMinusAbsorptionAtRest::AtRestDoIt(), G4PiMinusAbsorptionAtRest::AtRestDoIt(), G4NeutronCaptureAtRest::AtRestDoIt(), G4KaonMinusAbsorption::AtRestDoIt(), G4AntiProtonAnnihilationAtRest::AtRestDoIt(), G4AntiNeutronAnnihilationAtRest::AtRestDoIt(), G4RToEConvForGamma::BuildAbsorptionLengthVector(), G4eIonisationCrossSectionHandler::BuildCrossSectionsForMaterials(), G4CrossSectionHandler::BuildCrossSectionsForMaterials(), G4BremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(), G4VRangeToEnergyConverter::BuildRangeVector(), G4Nucleus::ChooseParameters(), G4AdjointCSManager::ComputeAdjointCS(), G4MuPairProductionModel::ComputeDEDXPerVolume(), G4MuBremsstrahlungModel::ComputeDEDXPerVolume(), G4LivermoreIonisationModel::ComputeDEDXPerVolume(), G4LivermoreBremsstrahlungModel::ComputeDEDXPerVolume(), G4ICRU49NuclearStoppingModel::ComputeDEDXPerVolume(), G4eBremsstrahlungRelModel::ComputeDEDXPerVolume(), G4eBremsstrahlungModel::ComputeDEDXPerVolume(), G4eBremParametrizedModel::ComputeDEDXPerVolume(), G4PAIySection::ComputeLowEnergyCof(), G4GammaConversionToMuons::ComputeMeanFreePath(), G4VEmModel::CrossSectionPerVolume(), G4eBremsstrahlungModel::CrossSectionPerVolume(), G4AnnihiToMuPair::CrossSectionPerVolume(), G4AdjointBremsstrahlungModel::DiffCrossSectionPerVolumePrimToSecondApproximated2(), G4tgbGeometryDumper::DumpMaterial(), G4EmElementSelector::G4EmElementSelector(), G4Material(), G4ShellVacancy::GenerateNumberOfIonisations(), G4HadronicProcessStore::GetCaptureCrossSectionPerVolume(), G4HadronicProcessStore::GetChargeExchangeCrossSectionPerVolume(), G4CrossSectionDataStore::GetCrossSection(), GVFlashShowerParameterisation::GetEffA(), GVFlashShowerParameterisation::GetEffZ(), G4HadronicProcessStore::GetElasticCrossSectionPerVolume(), G4StopElementSelector::GetElement(), G4HadronicProcessStore::GetFissionCrossSectionPerVolume(), G4HadronicProcessStore::GetInelasticCrossSectionPerVolume(), G4NeutronIsotopeProduction::GetIsotope(), G4QNGamma::GetMeanFreePath(), G4QLowEnergy::GetMeanFreePath(), G4QIonIonElastic::GetMeanFreePath(), G4QInelastic::GetMeanFreePath(), G4QElastic::GetMeanFreePath(), G4QDiffraction::GetMeanFreePath(), G4QCoherentChargeExchange::GetMeanFreePath(), G4QAtomicElectronScattering::GetMeanFreePath(), G4PiMinusAbsorptionAtRest::GetMeanLifeTime(), G4KaonMinusAbsorptionAtRest::GetMeanLifeTime(), G4hZiegler1985p::HasMaterial(), G4hZiegler1977p::HasMaterial(), G4hZiegler1977He::HasMaterial(), G4hSRIM2000p::HasMaterial(), G4hICRU49p::HasMaterial(), G4hICRU49He::HasMaterial(), G4LivermoreRayleighModel::Initialise(), G4LivermorePhotoElectricModel::Initialise(), G4VAtomDeexcitation::InitialiseAtomicDeexcitation(), G4QAOLowEnergyLoss::IsInCharge(), G4GDMLWriteMaterials::MaterialWrite(), G4QNGamma::PostStepDoIt(), G4QLowEnergy::PostStepDoIt(), G4QIonIonElastic::PostStepDoIt(), G4QInelastic::PostStepDoIt(), G4QElastic::PostStepDoIt(), G4QDiffraction::PostStepDoIt(), G4QCoherentChargeExchange::PostStepDoIt(), G4QAtomicElectronScattering::PostStepDoIt(), G4WentzelVIRelModel::SampleScattering(), G4WentzelVIModel::SampleScattering(), G4GoudsmitSaundersonMscModel::SampleScattering(), G4AdjointPhotoElectricModel::SampleSecondaries(), G4CrossSectionDataStore::SampleZandA(), G4VEmModel::SelectRandomAtom(), G4VCrossSectionHandler::SelectRandomAtom(), G4PixeCrossSectionHandler::SelectRandomAtom(), G4eBremsstrahlungModel::SelectRandomAtom(), G4VCrossSectionHandler::SelectRandomElement(), G4ElementSelector::SelectZandA(), G4hZiegler1985p::StoppingPower(), G4hZiegler1977p::StoppingPower(), G4hZiegler1977He::StoppingPower(), G4hSRIM2000p::StoppingPower(), G4hQAOModel::StoppingPower(), G4hICRU49p::StoppingPower(), G4hICRU49He::StoppingPower(), G4VCrossSectionHandler::ValueForMaterial(), and G4PixeCrossSectionHandler::ValueForMaterial().
size_t G4Material::GetNumberOfMaterials | ( | ) | [static] |
Definition at line 569 of file G4Material.cc.
Referenced by G4VCrossSectionHandler::ActiveElements(), G4AugerData::BuildAugerTransitionTable(), G4NeutronHPThermalScatteringData::BuildPhysicsTable(), G4Scintillation::BuildThePhysicsTable(), G4VEnergyLoss::CopyCutVectors(), G4ElectronIonPair::DumpMeanEnergyPerIonPair(), G4VEnergyLoss::EqualCutVectors(), G4SandiaTable::G4SandiaTable(), G4PAIPhotonModel::Initialise(), and G4PAIModel::Initialise().
G4double G4Material::GetPressure | ( | ) | const [inline] |
Definition at line 182 of file G4Material.hh.
Referenced by G4NistManager::BuildMaterialWithNewDensity(), G4tgbGeometryDumper::DumpMaterial(), and G4GDMLWriteMaterials::MaterialWrite().
G4double G4Material::GetRadlen | ( | ) | const [inline] |
Definition at line 219 of file G4Material.hh.
Referenced by G4WentzelVIRelModel::ComputeTruePathLengthLimit(), G4WentzelVIModel::ComputeTruePathLengthLimit(), G4PhysicalVolumeModel::CreateCurrentAttValues(), GFlashSamplingShowerParameterisation::SetMaterial(), GFlashHomoShowerParameterisation::SetMaterial(), G4PairProductionRelModel::SetupForMaterial(), G4eBremsstrahlungRelModel::SetupForMaterial(), and G4MSSteppingAction::UserSteppingAction().
G4SandiaTable* G4Material::GetSandiaTable | ( | ) | const [inline] |
Definition at line 228 of file G4Material.hh.
Referenced by G4PAIModel::BuildPAIonisationTable(), G4VXTRenergyLoss::ComputeGasPhotoAbsCof(), G4StrawTubeXTRadiator::ComputeMediumPhotoAbsCof(), G4VXTRenergyLoss::ComputePlatePhotoAbsCof(), G4PEEffectModel::CrossSectionPerVolume(), G4PEEffectFluoModel::CrossSectionPerVolume(), and G4PAIySection::Initialize().
G4State G4Material::GetState | ( | ) | const [inline] |
Definition at line 180 of file G4Material.hh.
Referenced by G4NistManager::BuildMaterialWithNewDensity(), G4NistMaterialBuilder::ConstructNewGasMaterial(), G4PhysicalVolumeModel::CreateCurrentAttValues(), G4tgbGeometryDumper::DumpMaterial(), G4ForwardXrayTR::GetEnergyTR(), G4hICRU49p::HasMaterial(), G4hICRU49He::HasMaterial(), G4GDMLWriteMaterials::MaterialWrite(), and G4ForwardXrayTR::PostStepDoIt().
G4double G4Material::GetTemperature | ( | ) | const [inline] |
Definition at line 181 of file G4Material.hh.
Referenced by G4NeutronHPThermalScattering::ApplyYourself(), G4NeutronHPorLFission::ApplyYourself(), G4NeutronHPorLElastic::ApplyYourself(), G4NeutronHPorLEInelastic::ApplyYourself(), G4NeutronHPorLCapture::ApplyYourself(), G4NeutronHPInelastic::ApplyYourself(), G4NeutronHPFissionFS::ApplyYourself(), G4NeutronHPFission::ApplyYourself(), G4NeutronHPElasticFS::ApplyYourself(), G4NeutronHPElastic::ApplyYourself(), G4NeutronHPChannelList::ApplyYourself(), G4NeutronHPCaptureFS::ApplyYourself(), G4NeutronHPCapture::ApplyYourself(), G4LENDModel::ApplyYourself(), G4LENDInelastic::ApplyYourself(), G4LENDFission::ApplyYourself(), G4LENDElastic::ApplyYourself(), G4LENDCapture::ApplyYourself(), G4FissLib::ApplyYourself(), G4FissionLibrary::ApplyYourself(), G4NeutronHPInelasticBaseFS::BaseApply(), G4tgbMaterialMixtureByWeight::BuildG4Material(), G4NistManager::BuildMaterialWithNewDensity(), G4NeutronHPInelasticCompFS::CompositeApply(), G4tgbGeometryDumper::DumpMaterial(), G4Nucleus::G4Nucleus(), G4NeutronHPThermalScatteringData::GetCoherentCrossSection(), G4NeutronHPThermalScatteringData::GetCrossSection(), G4NeutronHPThermalScatteringData::GetIncoherentCrossSection(), G4NeutronHPThermalScatteringData::GetInelasticCrossSection(), G4LENDCrossSection::GetIsoCrossSection(), and G4GDMLWriteMaterials::MaterialWrite().
G4double G4Material::GetTotNbOfAtomsPerVolume | ( | ) | const [inline] |
Definition at line 208 of file G4Material.hh.
Referenced by G4EmCorrections::BarkasCorrection(), G4Nucleus::ChooseParameters(), G4PenelopeIonisationModel::ComputeDEDXPerVolume(), G4PenelopeBremsstrahlungModel::ComputeDEDXPerVolume(), G4MollerBhabhaModel::ComputeDEDXPerVolume(), G4PenelopeIonisationModel::CrossSectionPerVolume(), G4PenelopeComptonModel::CrossSectionPerVolume(), G4PenelopeBremsstrahlungModel::CrossSectionPerVolume(), G4MuElecInelasticModel::CrossSectionPerVolume(), G4MuElecElasticModel::CrossSectionPerVolume(), G4IonFluctuations::Dispersion(), G4EmCorrections::KShellCorrection(), G4EmCorrections::LShellCorrection(), G4EmCorrections::ShellCorrection(), and G4hICRU49He::StoppingPower().
G4double G4Material::GetTotNbOfElectPerVolume | ( | ) | const [inline] |
Definition at line 211 of file G4Material.hh.
Referenced by G4IonParametrisedLossModel::DeltaRayMeanEnergyTransferRate(), and G4hICRU49He::StoppingPower().
const G4double* G4Material::GetVecNbOfAtomsPerVolume | ( | ) | const [inline] |
Definition at line 205 of file G4Material.hh.
Referenced by G4AdjointPhotoElectricModel::AdjointCrossSection(), G4VAtomDeexcitation::AlongStepDeexcitation(), G4NeutronHPorLFission::ApplyYourself(), G4NeutronHPorLElastic::ApplyYourself(), G4NeutronHPorLEInelastic::ApplyYourself(), G4NeutronHPorLCapture::ApplyYourself(), G4NeutronHPInelastic::ApplyYourself(), G4NeutronHPFission::ApplyYourself(), G4NeutronHPElastic::ApplyYourself(), G4NeutronHPCapture::ApplyYourself(), G4FissLib::ApplyYourself(), G4BremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(), G4Nucleus::ChooseParameters(), G4AdjointCSManager::ComputeAdjointCS(), G4GammaConversionToMuons::ComputeMeanFreePath(), G4VEmModel::CrossSectionPerVolume(), G4AnnihiToMuPair::CrossSectionPerVolume(), G4HadronicProcessStore::GetCaptureCrossSectionPerVolume(), G4HadronicProcessStore::GetChargeExchangeCrossSectionPerVolume(), G4CrossSectionDataStore::GetCrossSection(), G4HadronicProcessStore::GetElasticCrossSectionPerVolume(), G4HadronicProcessStore::GetFissionCrossSectionPerVolume(), G4HadronicProcessStore::GetInelasticCrossSectionPerVolume(), G4QNGamma::GetMeanFreePath(), G4QLowEnergy::GetMeanFreePath(), G4QIonIonElastic::GetMeanFreePath(), G4QInelastic::GetMeanFreePath(), G4QElastic::GetMeanFreePath(), G4QDiffraction::GetMeanFreePath(), G4QCoherentChargeExchange::GetMeanFreePath(), G4QAtomicElectronScattering::GetMeanFreePath(), G4EmElementSelector::Initialise(), G4GoudsmitSaundersonMscModel::SampleScattering(), G4VCrossSectionHandler::ValueForMaterial(), and G4PixeCrossSectionHandler::ValueForMaterial().
G4double G4Material::GetZ | ( | ) | const |
Definition at line 604 of file G4Material.cc.
References FatalException, G4cout, G4endl, and G4Exception().
Referenced by G4tgbGeometryDumper::DumpMaterial(), GVFlashShowerParameterisation::GetEffZ(), G4PiMinusAbsorptionAtRest::GetMeanLifeTime(), G4KaonMinusAbsorptionAtRest::GetMeanLifeTime(), G4GDMLWriteMaterials::MaterialWrite(), G4VCrossSectionHandler::SelectRandomAtom(), G4PixeCrossSectionHandler::SelectRandomAtom(), G4hZiegler1985p::StoppingPower(), G4hZiegler1977p::StoppingPower(), G4hZiegler1977He::StoppingPower(), G4hSRIM2000p::StoppingPower(), G4hICRU49p::StoppingPower(), and G4hICRU49He::StoppingPower().
00605 { 00606 if (fNumberOfElements > 1) { 00607 G4cout << "G4Material ERROR in GetZ. The material: " << fName << " is a mixture." 00608 << G4endl; 00609 G4Exception ("G4Material::GetZ()", "mat036", FatalException, 00610 "the Atomic number is not well defined." ); 00611 } 00612 return (*theElementVector)[0]->GetZ(); 00613 }
G4int G4Material::operator!= | ( | const G4Material & | ) | const |
Definition at line 689 of file G4Material.cc.
00690 { 00691 return (this != (G4Material *) &right); 00692 }
G4int G4Material::operator== | ( | const G4Material & | ) | const |
Definition at line 682 of file G4Material.cc.
00683 { 00684 return (this == (G4Material *) &right); 00685 }
void G4Material::SetChemicalFormula | ( | const G4String & | chF | ) | [inline] |
void G4Material::SetMaterialPropertiesTable | ( | G4MaterialPropertiesTable * | anMPT | ) | [inline] |
void G4Material::SetName | ( | const G4String & | name | ) | [inline] |
std::ostream& operator<< | ( | std::ostream & | flux, | |
G4MaterialTable | MaterialTable | |||
) | [friend] |
Definition at line 748 of file G4Material.cc.
00749 { 00750 //Dump info for all known materials 00751 flux << "\n***** Table : Nb of materials = " << MaterialTable.size() 00752 << " *****\n" << G4endl; 00753 00754 for (size_t i=0; i<MaterialTable.size(); ++i) { 00755 flux << MaterialTable[i] << G4endl << G4endl; 00756 } 00757 00758 return flux; 00759 }
std::ostream& operator<< | ( | std::ostream & | flux, | |
G4Material & | material | |||
) | [friend] |
std::ostream& operator<< | ( | std::ostream & | flux, | |
G4Material * | material | |||
) | [friend] |
Definition at line 697 of file G4Material.cc.
00698 { 00699 std::ios::fmtflags mode = flux.flags(); 00700 flux.setf(std::ios::fixed,std::ios::floatfield); 00701 G4long prec = flux.precision(3); 00702 00703 flux 00704 << " Material: " << std::setw(8) << material->fName 00705 << " " << material->fChemicalFormula << " " 00706 << " density: " << std::setw(6) << std::setprecision(3) 00707 << G4BestUnit(material->fDensity,"Volumic Mass") 00708 << " RadL: " << std::setw(7) << std::setprecision(3) 00709 << G4BestUnit(material->fRadlen,"Length") 00710 << " Nucl.Int.Length: " << std::setw(7) << std::setprecision(3) 00711 << G4BestUnit(material->fNuclInterLen,"Length") 00712 << " Imean: " << std::setw(7) << std::setprecision(3) 00713 << G4BestUnit(material->GetIonisation()->GetMeanExcitationEnergy(),"Energy"); 00714 00715 if(material->fState == kStateGas) { 00716 flux 00717 << " temperature: " << std::setw(6) << std::setprecision(2) 00718 << (material->fTemp)/kelvin << " K" 00719 << " pressure: " << std::setw(6) << std::setprecision(2) 00720 << (material->fPressure)/atmosphere << " atm"; 00721 } 00722 for (size_t i=0; i<material->fNumberOfElements; i++) { 00723 flux 00724 << "\n ---> " << (*(material->theElementVector))[i] 00725 << "\n ElmMassFraction: " 00726 << std::setw(6)<< std::setprecision(2) 00727 << (material->fMassFractionVector[i])/perCent << " %" 00728 << " ElmAbundance " << std::setw(6)<< std::setprecision(2) 00729 << 100*(material->VecNbOfAtomsPerVolume[i])/(material->TotNbOfAtomsPerVolume) 00730 << " % \n"; 00731 } 00732 flux.precision(prec); 00733 flux.setf(mode,std::ios::floatfield); 00734 00735 return flux; 00736 }