Geant4  10.03
G4Element Class Reference

#include <G4Element.hh>

+ Collaboration diagram for G4Element:

Public Member Functions

 G4Element (const G4String &name, const G4String &symbol, G4double Zeff, G4double Aeff)
 
 G4Element (const G4String &name, const G4String &symbol, G4int nbIsotopes)
 
void AddIsotope (G4Isotope *isotope, G4double RelativeAbundance)
 
virtual ~G4Element ()
 
const G4StringGetName () const
 
const G4StringGetSymbol () const
 
G4double GetZ () const
 
G4int GetZasInt () const
 
G4double GetN () const
 
G4double GetAtomicMassAmu () const
 
G4double GetA () const
 
G4bool GetNaturalAbundanceFlag () const
 
void SetNaturalAbundanceFlag (G4bool)
 
G4int GetNbOfAtomicShells () const
 
G4double GetAtomicShell (G4int index) const
 
G4int GetNbOfShellElectrons (G4int index) const
 
size_t GetNumberOfIsotopes () const
 
G4IsotopeVectorGetIsotopeVector () const
 
G4doubleGetRelativeAbundanceVector () const
 
const G4IsotopeGetIsotope (G4int iso) const
 
size_t GetIndex () const
 
G4double GetfCoulomb () const
 
G4double GetfRadTsai () const
 
G4IonisParamElmGetIonisation () const
 
 G4Element (__void__ &)
 
void SetName (const G4String &name)
 

Static Public Member Functions

static G4ElementTableGetElementTable ()
 
static size_t GetNumberOfElements ()
 
static G4ElementGetElement (G4String name, G4bool warning=true)
 

Private Member Functions

void InitializePointers ()
 
void ComputeDerivedQuantities ()
 
void ComputeCoulombFactor ()
 
void ComputeLradTsaiFactor ()
 
void AddNaturalIsotopes ()
 
 G4Element (G4Element &)=delete
 
const G4Elementoperator= (const G4Element &)=delete
 
G4int operator== (const G4Element &) const =delete
 
G4int operator!= (const G4Element &) const =delete
 

Private Attributes

G4String fName
 
G4String fSymbol
 
G4double fZeff
 
G4double fNeff
 
G4double fAeff
 
G4int fZ
 
G4int fNbOfAtomicShells
 
G4doublefAtomicShells
 
G4intfNbOfShellElectrons
 
G4int fNumberOfIsotopes
 
G4IsotopeVectortheIsotopeVector
 
G4doublefRelativeAbundanceVector
 
size_t fIndexInTable
 
G4bool fNaturalAbundance
 
G4double fCoulomb
 
G4double fRadTsai
 
G4IonisParamElmfIonisation
 

Static Private Attributes

static G4ElementTable theElementTable
 

Friends

std::ostream & operator<< (std::ostream &, const G4Element *)
 
std::ostream & operator<< (std::ostream &, const G4Element &)
 
std::ostream & operator<< (std::ostream &, G4ElementTable)
 

Detailed Description

Definition at line 97 of file G4Element.hh.

Constructor & Destructor Documentation

G4Element::G4Element ( const G4String name,
const G4String symbol,
G4double  Zeff,
G4double  Aeff 
)

Definition at line 75 of file G4Element.cc.

References AddNaturalIsotopes(), ComputeDerivedQuantities(), fAeff, FatalException, fAtomicShells, fNbOfAtomicShells, fNbOfShellElectrons, fNeff, fZeff, g, G4endl, G4Exception(), G4lrint(), G4AtomicShells::GetBindingEnergy(), G4AtomicShells::GetNumberOfElectrons(), G4AtomicShells::GetNumberOfShells(), InitializePointers(), JustWarning, mole, and perMillion.

+ Here is the call graph for this function:

G4Element::G4Element ( const G4String name,
const G4String symbol,
G4int  nbIsotopes 
)

Definition at line 128 of file G4Element.cc.

References FatalException, fRelativeAbundanceVector, G4Exception(), InitializePointers(), n, and theIsotopeVector.

+ Here is the call graph for this function:

G4Element::~G4Element ( )
virtual
G4Element::G4Element ( __void__ &  )

Definition at line 245 of file G4Element.cc.

References InitializePointers().

+ Here is the call graph for this function:

G4Element::G4Element ( G4Element )
privatedelete

Member Function Documentation

void G4Element::AddIsotope ( G4Isotope isotope,
G4double  RelativeAbundance 
)
void G4Element::AddNaturalIsotopes ( )
private

Definition at line 325 of file G4Element.cc.

References fName, fNaturalAbundance, fNumberOfIsotopes, fRelativeAbundanceVector, fSymbol, fZeff, G4lrint(), G4NistManager::GetIsotopeAbundance(), G4NistManager::GetNistElementNames(), G4NistManager::GetNistFirstIsotopeN(), G4NistManager::GetNumberOfNistIsotopes(), G4NistManager::Instance(), n, and theIsotopeVector.

Referenced by G4Element().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Element::ComputeCoulombFactor ( )
private

Definition at line 287 of file G4Element.cc.

References fCoulomb, and fZeff.

Referenced by ComputeDerivedQuantities().

+ Here is the caller graph for this function:

void G4Element::ComputeDerivedQuantities ( )
private

Definition at line 267 of file G4Element.cc.

References ComputeCoulombFactor(), ComputeLradTsaiFactor(), fIndexInTable, fIonisation, fZ, fZeff, G4lrint(), and theElementTable.

Referenced by AddIsotope(), and G4Element().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Element::ComputeLradTsaiFactor ( )
private

Definition at line 302 of file G4Element.cc.

References fCoulomb, fRadTsai, fZeff, G4Log(), and G4lrint().

Referenced by ComputeDerivedQuantities().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Element::GetAtomicMassAmu ( ) const
inline

Definition at line 136 of file G4Element.hh.

References fNeff.

G4double G4Element::GetAtomicShell ( G4int  index) const

Definition at line 367 of file G4Element.cc.

References FatalException, fAtomicShells, fName, fNbOfAtomicShells, fZeff, and G4Exception().

Referenced by G4AdjointPhotoElectricModel::AdjointCrossSectionPerAtom(), export_G4Element(), G4QAOLowEnergyLoss::GetOscillatorEnergy(), G4KleinNishinaModel::SampleSecondaries(), and G4PEEffectFluoModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Element * G4Element::GetElement ( G4String  name,
G4bool  warning = true 
)
static

Definition at line 412 of file G4Element.cc.

References G4cout, G4endl, GetName(), and theElementTable.

Referenced by RE06DetectorConstruction::AddMaterial(), export_G4Element(), and G4GDMLReadMaterials::GetElement().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ElementTable * G4Element::GetElementTable ( )
static

Definition at line 398 of file G4Element.cc.

References theElementTable.

Referenced by G4ParticleHPData::addPhysicsVector(), G4ParticleHPElastic::ApplyYourself(), G4ParticleHPCapture::ApplyYourself(), G4ParticleHPFission::ApplyYourself(), G4ParticleHPInelastic::ApplyYourself(), G4FissLib::ApplyYourself(), G4AdjointCSManager::BuildCrossSectionMatrices(), G4KokoulinMuonNuclearXS::BuildCrossSectionTable(), G4VRangeToEnergyConverter::BuildLossTable(), G4ParticleHPCapture::BuildPhysicsTable(), G4ParticleHPJENDLHEData::BuildPhysicsTable(), G4ParticleHPFission::BuildPhysicsTable(), G4ParticleHPElastic::BuildPhysicsTable(), G4ParticleHPFissionData::BuildPhysicsTable(), G4ParticleHPCaptureData::BuildPhysicsTable(), G4ParticleHPElasticData::BuildPhysicsTable(), G4NeutronElasticXS::BuildPhysicsTable(), G4ParticleHPInelasticData::BuildPhysicsTable(), G4ParticleHPThermalScatteringData::BuildPhysicsTable(), G4NeutronCaptureXS::BuildPhysicsTable(), G4NeutronInelasticXS::BuildPhysicsTable(), G4ParticleHPInelastic::BuildPhysicsTable(), G4ParticleHPThermalScattering::buildPhysicsTable(), ExP02DetectorConstruction::Construct(), G4HadronHElasticPhysics::ConstructProcess(), G4LENDModel::create_used_target_map(), G4LENDCrossSection::create_used_target_map(), G4ParticleHPFissionData::DumpPhysicsTable(), G4ParticleHPCaptureData::DumpPhysicsTable(), G4ParticleHPElasticData::DumpPhysicsTable(), G4ParticleHPInelasticData::DumpPhysicsTable(), ExP02GeoTree::ExP02GeoTree(), export_G4Element(), CCalMaterialFactory::findElement(), G4NistElementBuilder::FindElement(), G4NistElementBuilder::FindOrBuildElement(), G4FissLib::G4FissLib(), G4ParticleHPData::G4ParticleHPData(), G4NistManager::GetElement(), G4LivermoreBremsstrahlungModel::Initialise(), G4SeltzerBergerModel::Initialise(), G4NuclNuclDiffuseElastic::Initialise(), G4DiffuseElastic::Initialise(), G4VAtomDeexcitation::InitialiseAtomicDeexcitation(), G03DetectorConstruction::ListOfMaterials(), G02DetectorConstruction::ListOfMaterials(), G4NistManager::PrintG4Element(), CCalMaterialFactory::readElements(), G4GDMLRead::StripNames(), and G4NistManager::~G4NistManager().

G4double G4Element::GetfRadTsai ( ) const
inline

Definition at line 195 of file G4Element.hh.

References fRadTsai.

Referenced by export_G4Element().

+ Here is the caller graph for this function:

G4double G4Element::GetN ( ) const
inline

Definition at line 135 of file G4Element.hh.

References fNeff.

Referenced by G4AdjointCSManager::BuildCrossSectionMatrices(), G4Nucleus::ChooseParameters(), G4EmCalculator::ComputeCrossSectionPerAtom(), G4VEmModel::ComputeCrossSectionPerAtom(), G4ICRU49NuclearStoppingModel::ComputeDEDXPerVolume(), G4IonisParamMat::ComputeIonParameters(), export_G4Element(), G4ParticleHPFissionData::GetCrossSection(), G4ParticleHPCaptureData::GetCrossSection(), G4ParticleHPElasticData::GetCrossSection(), G4ParticleHPInelasticData::GetCrossSection(), G4GammaConversionToMuons::GetCrossSectionPerAtom(), G4VComponentCrossSection::GetElasticElementCrossSection(), G4ChargeExchangeProcess::GetElementCrossSection(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXsc(), G4ComponentGGNuclNuclXsc::GetHadronNucleonXsc(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXscNS(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXscPDG(), G4ComponentGGHadronNucleusXsc::GetHNinelasticXsc(), G4VComponentCrossSection::GetInelasticElementCrossSection(), G4ComponentGGHadronNucleusXsc::GetNucleusRadius(), G4ComponentGGNuclNuclXsc::GetNucleusRadius(), G4QAOLowEnergyLoss::GetOscillatorEnergy(), G4ParticleHPThermalBoost::GetThermalEnergy(), G4VComponentCrossSection::GetTotalElementCrossSection(), G4HadronNucleonXsc::IsApplicable(), G4EmCorrections::NuclearDEDX(), G4VEmModel::SelectIsotopeNumber(), and G4ScreenedCoulombCrossSection::SelectRandomUnweightedTarget().

+ Here is the caller graph for this function:

G4bool G4Element::GetNaturalAbundanceFlag ( ) const
inline

Definition at line 262 of file G4Element.hh.

References fNaturalAbundance.

Referenced by G4CrossSectionDataStore::GetCrossSection().

+ Here is the caller graph for this function:

G4int G4Element::GetNbOfAtomicShells ( ) const
inline

Definition at line 147 of file G4Element.hh.

References fNbOfAtomicShells.

Referenced by G4AdjointPhotoElectricModel::AdjointCrossSectionPerAtom(), export_G4Element(), G4KleinNishinaModel::SampleSecondaries(), and G4PEEffectFluoModel::SampleSecondaries().

+ Here is the caller graph for this function:

G4int G4Element::GetNbOfShellElectrons ( G4int  index) const

Definition at line 382 of file G4Element.cc.

References FatalException, fName, fNbOfAtomicShells, fNbOfShellElectrons, fZeff, and G4Exception().

Referenced by G4KleinNishinaModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

size_t G4Element::GetNumberOfElements ( )
static

Definition at line 405 of file G4Element.cc.

References theElementTable.

Referenced by G4ParticleHPData::addPhysicsVector(), G4KokoulinMuonNuclearXS::BuildCrossSectionTable(), G4VRangeToEnergyConverter::BuildLossTable(), G4ParticleHPCapture::BuildPhysicsTable(), G4ParticleHPJENDLHEData::BuildPhysicsTable(), G4ParticleHPFission::BuildPhysicsTable(), G4ParticleHPElastic::BuildPhysicsTable(), G4ParticleHPFissionData::BuildPhysicsTable(), G4ParticleHPCaptureData::BuildPhysicsTable(), G4NeutronElasticXS::BuildPhysicsTable(), G4ParticleHPElasticData::BuildPhysicsTable(), G4ParticleHPInelasticData::BuildPhysicsTable(), G4ParticleHPThermalScatteringData::BuildPhysicsTable(), G4NeutronCaptureXS::BuildPhysicsTable(), G4NeutronInelasticXS::BuildPhysicsTable(), G4ParticleHPInelastic::BuildPhysicsTable(), G4ParticleHPThermalScattering::buildPhysicsTable(), G4LENDModel::create_used_target_map(), G4LENDCrossSection::create_used_target_map(), G4ParticleHPFissionData::DumpPhysicsTable(), G4ParticleHPCaptureData::DumpPhysicsTable(), G4ParticleHPElasticData::DumpPhysicsTable(), G4ParticleHPInelasticData::DumpPhysicsTable(), export_G4Element(), G4FissLib::G4FissLib(), G4ParticleHPData::G4ParticleHPData(), G4LivermoreBremsstrahlungModel::Initialise(), G4SeltzerBergerModel::Initialise(), G4NuclNuclDiffuseElastic::Initialise(), G4DiffuseElastic::Initialise(), G4VAtomDeexcitation::InitialiseAtomicDeexcitation(), and G4VRangeToEnergyConverter::operator=().

+ Here is the caller graph for this function:

const G4String& G4Element::GetSymbol ( ) const
inline

Definition at line 128 of file G4Element.hh.

References fSymbol.

Referenced by G4tgbGeometryDumper::DumpElement(), and export_G4Element().

+ Here is the caller graph for this function:

G4double G4Element::GetZ ( ) const
inline

Definition at line 131 of file G4Element.hh.

References fZeff.

Referenced by G4RDVCrossSectionHandler::ActiveElements(), G4VCrossSectionHandler::ActiveElements(), G4PixeCrossSectionHandler::ActiveElements(), G4AdjointPhotoElectricModel::AdjointCrossSectionPerAtom(), G4ParticleHPThermalScattering::ApplyYourself(), G4AugerData::BuildAugerTransitionTable(), G4RDAugerData::BuildAugerTransitionTable(), G4AdjointCSManager::BuildCrossSectionMatrices(), G4ScreenedCoulombCrossSection::BuildMFPTables(), G4ParticleHPJENDLHEData::BuildPhysicsTable(), G4ErrorFreeTrajState::CalculateEffectiveZandA(), G4Nucleus::ChooseParameters(), G4AdjointCSManager::ComputeAdjointCS(), XUnitCell::ComputeAtomVolumeDensity(), G4VCrossSectionDataSet::ComputeCrossSection(), G4EmCalculator::ComputeCrossSectionPerAtom(), G4VEmModel::ComputeCrossSectionPerAtom(), G4ICRU49NuclearStoppingModel::ComputeDEDXPerVolume(), G4IonisParamMat::ComputeIonParameters(), G4PAIySection::ComputeLowEnergyCof(), G4PAIxSection::ComputeLowEnergyCof(), G4IonisParamMat::ComputeMeanParameters(), XVCrystalCharacteristic::ComputeTFScreeningRadius(), G4HadronHElasticPhysics::ConstructProcess(), MuCrossSections::CR_PerAtom(), G4LENDModel::create_used_target_map(), G4LENDCrossSection::create_used_target_map(), G4ICRU73QOModel::DEDX(), G4BraggModel::DEDX(), G4BraggIonModel::DEDX(), G4tgbGeometryDumper::DumpElement(), G4GDMLWriteMaterials::ElementWrite(), export_G4Element(), G4ParticleHPJENDLHEData::GetCrossSection(), G4ParticleHPFissionData::GetCrossSection(), G4CrossSectionDataStore::GetCrossSection(), G4ParticleHPCaptureData::GetCrossSection(), G4ParticleHPElasticData::GetCrossSection(), G4ParticleHPInelasticData::GetCrossSection(), G4GammaConversionToMuons::GetCrossSectionPerAtom(), GVFlashShowerParameterisation::GetEffZ(), G4VComponentCrossSection::GetElasticElementCrossSection(), G4ChargeExchangeProcess::GetElementCrossSection(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXsc(), G4ComponentGGNuclNuclXsc::GetHadronNucleonXsc(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXscNS(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXscPDG(), G4ComponentGGHadronNucleusXsc::GetHNinelasticXsc(), G4VComponentCrossSection::GetInelasticElementCrossSection(), G4QAOLowEnergyLoss::GetOscillatorEnergy(), G4ParticleHPThermalBoost::GetThermalEnergy(), G4VComponentCrossSection::GetTotalElementCrossSection(), G4ParticleHPElementData::Init(), G4EmSaturation::InitialiseBirksCoefficient(), G4hIonEffChargeSquare::IonEffChargeSquare(), G4HadronNucleonXsc::IsApplicable(), G4BremsstrahlungParameters::LoadData(), G4eIonisationParameters::LoadData(), G4RDeIonisationParameters::LoadData(), G4RDBremsstrahlungParameters::LoadData(), G4NativeScreenedCoulombCrossSection::LoadData(), G4EmCorrections::NuclearDEDX(), G4LindhardRobinsonPartition::PartitionNIEL(), G4GammaConversionToMuons::PostStepDoIt(), G4ParticleHPChannel::Register(), G4XrayRayleighModel::SampleSecondaries(), G4LivermorePolarizedPhotoElectricGDModel::SampleSecondaries(), G4LivermoreRayleighModel::SampleSecondaries(), G4LivermoreComptonModifiedModel::SampleSecondaries(), G4LivermoreComptonModel::SampleSecondaries(), G4LivermorePhotoElectricModel::SampleSecondaries(), G4LivermorePolarizedPhotoElectricModel::SampleSecondaries(), G4LivermorePolarizedRayleighModel::SampleSecondaries(), G4LivermorePolarizedComptonModel::SampleSecondaries(), G4PenelopePhotoElectricModel::SampleSecondaries(), G4KleinNishinaModel::SampleSecondaries(), G4PEEffectFluoModel::SampleSecondaries(), G4PAIPhotModel::SampleSecondaries(), G4PAIModel::SampleSecondaries(), G4MuPairProductionModel::SampleSecondaries(), G4MuBremsstrahlungModel::SampleSecondaries(), G4LowEPComptonModel::SampleSecondaries(), G4LowEPPolarizedComptonModel::SampleSecondaries(), G4CrossSectionDataStore::SampleZandA(), HistoManager::ScoreNewTrack(), G4NeutronCaptureXS::SelectIsotope(), G4NeutronInelasticXS::SelectIsotope(), G4ScreenedCoulombCrossSection::SelectRandomUnweightedTarget(), G4ElementSelector::SelectZandA(), G4hParametrisedLossModel::StoppingPower(), and G4hNuclearStoppingModel::StoppingPower().

G4int G4Element::GetZasInt ( ) const
inline

Definition at line 132 of file G4Element.hh.

References fZ.

Referenced by G4EmCalculator::CheckMaterial(), G4EmCalculator::ComputeCrossSectionPerShell(), G4ICRU73QOModel::DEDX(), G4HadronicProcess::GetElementCrossSection(), G4AdjointBremsstrahlungModel::RapidSampleSecondaries(), G4hCoulombScatteringModel::SampleSecondaries(), and G4eCoulombScatteringModel::SampleSecondaries().

+ Here is the caller graph for this function:

void G4Element::InitializePointers ( )
private

Definition at line 219 of file G4Element.cc.

References fAeff, fAtomicShells, fCoulomb, fIndexInTable, fIonisation, fNaturalAbundance, fNbOfAtomicShells, fNbOfShellElectrons, fNeff, fNumberOfIsotopes, fRadTsai, fRelativeAbundanceVector, fZ, fZeff, and theIsotopeVector.

Referenced by G4Element().

+ Here is the caller graph for this function:

G4int G4Element::operator!= ( const G4Element ) const
privatedelete
const G4Element& G4Element::operator= ( const G4Element )
privatedelete
G4int G4Element::operator== ( const G4Element ) const
privatedelete
void G4Element::SetName ( const G4String name)
inline

Definition at line 214 of file G4Element.hh.

References fName, and G4InuclParticleNames::name().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Element::SetNaturalAbundanceFlag ( G4bool  val)
inline

Definition at line 267 of file G4Element.hh.

References fNaturalAbundance.

Referenced by G4NistElementBuilder::BuildElement().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  flux,
const G4Element element 
)
friend

Definition at line 432 of file G4Element.cc.

std::ostream& operator<< ( std::ostream &  flux,
const G4Element element 
)
friend

Definition at line 459 of file G4Element.cc.

std::ostream& operator<< ( std::ostream &  flux,
G4ElementTable  ElementTable 
)
friend

Definition at line 467 of file G4Element.cc.

Member Data Documentation

G4double G4Element::fAeff
private

Definition at line 236 of file G4Element.hh.

Referenced by AddIsotope(), G4Element(), GetA(), InitializePointers(), and operator<<().

G4double* G4Element::fAtomicShells
private

Definition at line 240 of file G4Element.hh.

Referenced by AddIsotope(), G4Element(), GetAtomicShell(), InitializePointers(), and ~G4Element().

G4double G4Element::fCoulomb
private
size_t G4Element::fIndexInTable
private

Definition at line 251 of file G4Element.hh.

Referenced by ComputeDerivedQuantities(), GetIndex(), InitializePointers(), and ~G4Element().

G4IonisParamElm* G4Element::fIonisation
private
G4String G4Element::fName
private
G4bool G4Element::fNaturalAbundance
private
G4int G4Element::fNbOfAtomicShells
private
G4int* G4Element::fNbOfShellElectrons
private
G4double G4Element::fNeff
private
G4int G4Element::fNumberOfIsotopes
private
G4double G4Element::fRadTsai
private

Definition at line 258 of file G4Element.hh.

Referenced by ComputeLradTsaiFactor(), GetfRadTsai(), and InitializePointers().

G4double* G4Element::fRelativeAbundanceVector
private
G4String G4Element::fSymbol
private

Definition at line 233 of file G4Element.hh.

Referenced by AddNaturalIsotopes(), GetSymbol(), and operator<<().

G4int G4Element::fZ
private

Definition at line 237 of file G4Element.hh.

Referenced by ComputeDerivedQuantities(), GetZasInt(), and InitializePointers().

G4ElementTable G4Element::theElementTable
staticprivate
G4IsotopeVector* G4Element::theIsotopeVector
private

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