G4Element Class Reference

#include <G4Element.hh>


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
G4double GetN () const
G4double GetAtomicMassAmu () const
G4double GetA () const
G4bool GetNaturalAbandancesFlag ()
void SetNaturalAbandancesFlag (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
G4int GetCountUse () const
void increaseCountUse ()
void decreaseCountUse ()
G4int GetIndexZ () const
G4double GetfCoulomb () const
G4double GetfRadTsai () const
G4IonisParamElmGetIonisation () const
G4int operator== (const G4Element &) const
G4int operator!= (const G4Element &) const
 G4Element (__void__ &)
void SetName (const G4String &name)

Static Public Member Functions

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

Friends

std::ostream & operator<< (std::ostream &, G4Element *)
std::ostream & operator<< (std::ostream &, 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 74 of file G4Element.cc.

References FatalException, G4endl, G4Exception(), G4AtomicShells::GetBindingEnergy(), G4AtomicShells::GetNumberOfElectrons(), G4AtomicShells::GetNumberOfShells(), and JustWarning.

00076   : fName(name), fSymbol(symbol)                     
00077 {
00078   G4int iz = (G4int)zeff;
00079   if (zeff<1.) {
00080     G4ExceptionDescription ed;
00081     ed << "Fail to create G4Element " << name 
00082        << " Z= " << zeff << " < 1 !" << G4endl;
00083     G4Exception ("G4Element::G4Element()", "mat011",  FatalException, ed);
00084   }
00085   if (std::abs(zeff - iz) > perMillion) {
00086     G4ExceptionDescription ed;
00087     ed << "G4Element Warning:  " << name << " Z= " << zeff 
00088        << " A= " << aeff/(g/mole) << G4endl; 
00089     G4Exception("G4Element::G4Element()", "mat017", JustWarning, ed);
00090   }
00091 
00092   InitializePointers();
00093 
00094   fZeff   = zeff;
00095   fNeff   = aeff/(g/mole);
00096   fAeff   = aeff;
00097 
00098   if(fNeff < 1.0) fNeff = 1.0;
00099 
00100   if (fNeff < zeff) {
00101     G4ExceptionDescription ed;
00102     ed << "Fail to create G4Element " << name 
00103        << " with Z= " << zeff << "  N= " << fNeff 
00104        << "   N < Z is not allowed" << G4endl;
00105     G4Exception ("G4Element::G4Element()", "mat012",  FatalException, ed);
00106   }
00107    
00108   fNbOfAtomicShells      = G4AtomicShells::GetNumberOfShells(iz);
00109   fAtomicShells          = new G4double[fNbOfAtomicShells];
00110   fNbOfShellElectrons    = new G4int[fNbOfAtomicShells];
00111 
00112   AddNaturalIsotopes();
00113 
00114   for (G4int i=0;i<fNbOfAtomicShells;i++) 
00115   {
00116     fAtomicShells[i] = G4AtomicShells::GetBindingEnergy(iz, i);
00117     fNbOfShellElectrons[i] = G4AtomicShells::GetNumberOfElectrons(iz, i);
00118   }
00119   ComputeDerivedQuantities();
00120 }

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

Definition at line 127 of file G4Element.cc.

References CLHEP::detail::n.

00129   : fName(name),fSymbol(symbol)
00130 {
00131   InitializePointers();
00132 
00133   size_t n = size_t(nIsotopes);
00134 
00135   if(0 == nIsotopes) {
00136     AddNaturalIsotopes();
00137   } else {
00138     theIsotopeVector         = new G4IsotopeVector(n,0);
00139     fRelativeAbundanceVector = new G4double[nIsotopes];
00140   }
00141 }

G4Element::~G4Element (  )  [virtual]

Definition at line 255 of file G4Element.cc.

00256 {
00257   //  G4cout << "### Destruction of element " << fName << " started" <<G4endl;
00258 
00259   if (theIsotopeVector)         { delete theIsotopeVector; }
00260   if (fRelativeAbundanceVector) { delete [] fRelativeAbundanceVector; }
00261   if (fAtomicShells)            { delete [] fAtomicShells; }
00262   if (fNbOfShellElectrons)      { delete [] fNbOfShellElectrons; }
00263   if (fIonisation)              { delete    fIonisation; }
00264   
00265   //remove this element from theElementTable
00266   theElementTable[fIndexInTable] = 0;
00267 }

G4Element::G4Element ( __void__ &   ) 

Definition at line 247 of file G4Element.cc.

00248   : fZeff(0), fNeff(0), fAeff(0)
00249 {
00250   InitializePointers();
00251 }


Member Function Documentation

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

Definition at line 147 of file G4Element.cc.

References FatalException, G4endl, G4Exception(), GetA(), G4AtomicShells::GetBindingEnergy(), G4AtomicShells::GetNumberOfElectrons(), G4AtomicShells::GetNumberOfShells(), G4Isotope::GetZ(), and G4Isotope::increaseCountUse().

Referenced by G4GDMLReadMaterials::MixtureRead().

00148 {
00149   if (theIsotopeVector == 0) {
00150     G4ExceptionDescription ed;
00151     ed << "Fail to add Isotope to G4Element " << fName 
00152        << " with Z= " << fZeff << "  N= " << fNeff << G4endl;
00153     G4Exception ("G4Element::AddIsotope()", "mat013",  FatalException, ed);
00154     return;
00155   }
00156   G4int iz = isotope->GetZ();
00157 
00158   // filling ...
00159   if ( fNumberOfIsotopes < theIsotopeVector->size() ) {
00160     // check same Z
00161     if (fNumberOfIsotopes==0) { fZeff = G4double(iz); }
00162     else if (G4double(iz) != fZeff) { 
00163       G4ExceptionDescription ed;
00164       ed << "Fail to add Isotope Z= " << iz << " to G4Element " << fName 
00165          << " with different Z= " << fZeff << fNeff 
00166          << G4endl;
00167       G4Exception ("G4Element::AddIsotope()", "mat014",  FatalException, ed);
00168       return;
00169     }
00170     //Z ok   
00171     fRelativeAbundanceVector[fNumberOfIsotopes] = abundance;
00172     (*theIsotopeVector)[fNumberOfIsotopes] = isotope;
00173     ++fNumberOfIsotopes;
00174     isotope->increaseCountUse();
00175   } else {
00176     G4ExceptionDescription ed;
00177     ed << "Fail to add Isotope Z= " << iz << " to G4Element " << fName 
00178        << " - more isotopes than declaired " << G4endl;
00179     G4Exception ("G4Element::AddIsotope()", "mat015",  FatalException, ed);
00180     return;
00181   }
00182 
00183   // filled.
00184   if ( fNumberOfIsotopes == theIsotopeVector->size() ) {
00185     // Compute Neff, Aeff
00186     G4double wtSum=0.0;
00187 
00188     fNeff = fAeff = 0.0;
00189     for (size_t i=0;i<fNumberOfIsotopes;i++) {
00190       fAeff +=  fRelativeAbundanceVector[i]*(*theIsotopeVector)[i]->GetA();
00191       fNeff +=  fRelativeAbundanceVector[i]*(*theIsotopeVector)[i]->GetN();
00192       wtSum +=  fRelativeAbundanceVector[i];
00193     }
00194     fAeff  /= wtSum;
00195     fNeff  /= wtSum;
00196 
00197     if(wtSum != 1.0) {
00198       for(size_t i=0; i<fNumberOfIsotopes; ++i) { 
00199         fRelativeAbundanceVector[i] /= wtSum; 
00200       }
00201     }
00202       
00203     fNbOfAtomicShells = G4AtomicShells::GetNumberOfShells(iz);
00204     fAtomicShells     = new G4double[fNbOfAtomicShells];
00205     fNbOfShellElectrons = new G4int[fNbOfAtomicShells];
00206 
00207     for ( G4int j = 0; j < fNbOfAtomicShells; j++ ) 
00208     {
00209       fAtomicShells[j]       = G4AtomicShells::GetBindingEnergy(iz, j);
00210       fNbOfShellElectrons[j] = G4AtomicShells::GetNumberOfElectrons(iz, j);
00211     }         
00212     ComputeDerivedQuantities();
00213 
00214   }
00215 }

void G4Element::decreaseCountUse (  )  [inline]

Definition at line 193 of file G4Element.hh.

00193 {fCountUse--;}

G4double G4Element::GetA (  )  const [inline]

Definition at line 138 of file G4Element.hh.

Referenced by AddIsotope(), G4tgbGeometryDumper::DumpElement(), G4GDMLWriteMaterials::ElementWrite(), G4GammaConversionToMuons::GetCrossSectionPerAtom(), GVFlashShowerParameterisation::GetEffA(), and G4GammaConversionToMuons::PostStepDoIt().

00138 {return fAeff;}    

G4double G4Element::GetAtomicMassAmu (  )  const [inline]

Definition at line 135 of file G4Element.hh.

00135 {return fNeff;}     

G4double G4Element::GetAtomicShell ( G4int  index  )  const

Definition at line 367 of file G4Element.cc.

References FatalException, G4endl, and G4Exception().

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

00368 {
00369   if (i<0 || i>=fNbOfAtomicShells) {
00370     G4ExceptionDescription ed;
00371     ed << "Invalid argument " << i << " in for G4Element " << fName 
00372        << " with Z= " << fZeff 
00373        << " and Nshells= " << fNbOfAtomicShells  
00374        << G4endl;
00375     G4Exception("G4Element::GetAtomicShell()", "mat016", FatalException, ed);
00376     return 0.0;
00377   }
00378   return fAtomicShells[i];
00379 }

G4int G4Element::GetCountUse (  )  const [inline]

Definition at line 191 of file G4Element.hh.

00191 {return fCountUse;}

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

Definition at line 413 of file G4Element.cc.

References G4cout, G4endl, and GetName().

Referenced by G4GDMLReadMaterials::GetElement().

00414 {  
00415   // search the element by its name 
00416   for (size_t J=0 ; J<theElementTable.size() ; J++)
00417    {
00418      if (theElementTable[J]->GetName() == elementName)
00419        return theElementTable[J];
00420    }
00421    
00422   // the element does not exist in the table
00423   if (warning) {
00424     G4cout << "\n---> warning from G4Element::GetElement(). The element: "
00425            << elementName << " does not exist in the table. Return NULL pointer."
00426            << G4endl;
00427   }   
00428   return 0;   
00429 }

const G4ElementTable * G4Element::GetElementTable (  )  [static]

Definition at line 399 of file G4Element.cc.

Referenced by G4ElectroNuclearReaction::ApplyYourself(), G4AdjointCSManager::BuildCrossSectionMatrices(), G4KokoulinMuonNuclearXS::BuildCrossSectionTable(), G4VRangeToEnergyConverter::BuildLossTable(), G4NeutronInelasticXS::BuildPhysicsTable(), G4NeutronHPThermalScatteringData::BuildPhysicsTable(), G4NeutronHPorLEInelasticData::BuildPhysicsTable(), G4NeutronHPJENDLHEData::BuildPhysicsTable(), G4NeutronHPInelasticData::BuildPhysicsTable(), G4NeutronHPFissionData::BuildPhysicsTable(), G4NeutronHPElasticData::BuildPhysicsTable(), G4NeutronHPCaptureData::BuildPhysicsTable(), G4NeutronElasticXS::BuildPhysicsTable(), G4NeutronCaptureXS::BuildPhysicsTable(), G4LENDModel::create_used_target_map(), G4LENDCrossSection::create_used_target_map(), G4NeutronHPInelasticData::DumpPhysicsTable(), G4NeutronHPFissionData::DumpPhysicsTable(), G4NeutronHPElasticData::DumpPhysicsTable(), G4NeutronHPCaptureData::DumpPhysicsTable(), G4NistElementBuilder::FindOrBuildElement(), G4FissLib::G4FissLib(), G4NeutronHPCapture::G4NeutronHPCapture(), G4NeutronHPData::G4NeutronHPData(), G4NeutronHPElastic::G4NeutronHPElastic(), G4NeutronHPFission::G4NeutronHPFission(), G4NeutronHPInelastic::G4NeutronHPInelastic(), G4NeutronHPorLCapture::G4NeutronHPorLCapture(), G4NeutronHPorLEInelastic::G4NeutronHPorLEInelastic(), G4NeutronHPorLElastic::G4NeutronHPorLElastic(), G4NeutronHPorLFission::G4NeutronHPorLFission(), G4NeutronIsotopeProduction::G4NeutronIsotopeProduction(), G4NistManager::GetElement(), G4SeltzerBergerModel::Initialise(), G4NuclNuclDiffuseElastic::Initialise(), G4DiffuseElastic::Initialise(), G4NistManager::PrintG4Element(), G4GDMLRead::StripNames(), and G4NistManager::~G4NistManager().

00400 {
00401   return &theElementTable;
00402 }

G4double G4Element::GetfCoulomb (  )  const [inline]

Definition at line 201 of file G4Element.hh.

Referenced by G4PairProductionRelModel::SampleSecondaries(), G4LivermorePolarizedGammaConversionModel::SampleSecondaries(), G4LivermoreNuclearGammaConversionModel::SampleSecondaries(), G4LivermoreGammaConversionModelRC::SampleSecondaries(), G4LivermoreGammaConversionModel::SampleSecondaries(), G4BetheHeitlerModel::SampleSecondaries(), G4PairProductionRelModel::SetCurrentElement(), and G4eBremsstrahlungRelModel::SetCurrentElement().

00201 {return fCoulomb;}

G4double G4Element::GetfRadTsai (  )  const [inline]

Definition at line 205 of file G4Element.hh.

00205 {return fRadTsai;}

size_t G4Element::GetIndex (  )  const [inline]

Definition at line 182 of file G4Element.hh.

Referenced by G4NeutronHPorLFission::ApplyYourself(), G4NeutronHPorLElastic::ApplyYourself(), G4NeutronHPorLEInelastic::ApplyYourself(), G4NeutronHPorLCapture::ApplyYourself(), G4NeutronHPInelastic::ApplyYourself(), G4NeutronHPFission::ApplyYourself(), G4NeutronHPElastic::ApplyYourself(), G4NeutronHPCapture::ApplyYourself(), G4FissLib::ApplyYourself(), G4QCaptureAtRest::AtRestDoIt(), G4AdjointCSManager::ComputeAdjointCS(), G4NistElementBuilder::FindOrBuildElement(), G4NeutronHPorLFissionData::GetCrossSection(), G4NeutronHPorLElasticData::GetCrossSection(), G4NeutronHPorLEInelasticData::GetCrossSection(), G4NeutronHPorLCaptureData::GetCrossSection(), G4NeutronHPInelasticData::GetCrossSection(), G4NeutronHPFissionData::GetCrossSection(), G4NeutronHPElasticData::GetCrossSection(), G4NeutronHPCaptureData::GetCrossSection(), G4NeutronIsotopeProduction::GetIsotope(), G4NeutronHPThermalScatteringData::IsApplicable(), G4NeutronHPJENDLHEData::IsApplicable(), G4NeutronHPData::MakePhysicsVector(), and G4VEmAdjointModel::SelectCSMatrix().

00182 {return fIndexInTable;}

G4int G4Element::GetIndexZ (  )  const [inline]

Definition at line 197 of file G4Element.hh.

00197 {return fIndexZ;}

G4IonisParamElm* G4Element::GetIonisation (  )  const [inline]

Definition at line 209 of file G4Element.hh.

Referenced by G4PairProductionRelModel::SampleSecondaries(), G4LivermorePolarizedGammaConversionModel::SampleSecondaries(), G4LivermoreNuclearGammaConversionModel::SampleSecondaries(), G4LivermoreGammaConversionModelRC::SampleSecondaries(), G4LivermoreGammaConversionModel::SampleSecondaries(), G4eBremsstrahlungModel::SampleSecondaries(), and G4BetheHeitlerModel::SampleSecondaries().

00209 {return fIonisation;}

const G4Isotope* G4Element::GetIsotope ( G4int  iso  )  const [inline]

Definition at line 169 of file G4Element.hh.

Referenced by G4QCaptureAtRest::AtRestDoIt(), G4MuonMinusCaptureAtRest::AtRestDoIt(), G4Nucleus::ChooseParameters(), G4GDMLWriteMaterials::ElementWrite(), G4NeutronHPJENDLHEData::GetCrossSection(), G4NeutronHPElementData::Init(), G4ElementIsoCrossSections< IsoIsoCrossSectionType >::Init(), G4QAtomicElectronScattering::PostStepDoIt(), G4NeutronHPChannel::Register(), G4VEmModel::SelectIsotopeNumber(), and G4ElementSelector::SelectZandA().

00170                    {return (*theIsotopeVector)[iso];}

G4IsotopeVector* G4Element::GetIsotopeVector (  )  const [inline]

Definition at line 162 of file G4Element.hh.

Referenced by G4QCaptureAtRest::AtRestDoIt(), G4MuonMinusCaptureAtRest::AtRestDoIt(), G4VCrossSectionDataSet::ComputeCrossSection(), G4tgbGeometryDumper::DumpElement(), G4CrossSectionDataStore::GetCrossSection(), G4QAtomicElectronScattering::PostStepDoIt(), G4CrossSectionDataStore::SampleZandA(), G4VCrossSectionDataSet::SelectIsotope(), G4NeutronCaptureXS::SelectIsotope(), and G4ElementSelector::SelectZandA().

00162 {return theIsotopeVector;}

G4double G4Element::GetN (  )  const [inline]

Definition at line 134 of file G4Element.hh.

Referenced by G4MuonMinusCaptureAtRest::AtRestDoIt(), G4Nucleus::ChooseParameters(), G4VEmModel::ComputeCrossSectionPerAtom(), G4EmCalculator::ComputeCrossSectionPerAtom(), G4NeutronHPorLFissionData::GetCrossSection(), G4NeutronHPorLElasticData::GetCrossSection(), G4NeutronHPorLEInelasticData::GetCrossSection(), G4NeutronHPorLCaptureData::GetCrossSection(), G4NeutronHPInelasticData::GetCrossSection(), G4NeutronHPFissionData::GetCrossSection(), G4NeutronHPElasticData::GetCrossSection(), G4NeutronHPCaptureData::GetCrossSection(), G4VComponentCrossSection::GetElasticElementCrossSection(), G4ChargeExchangeProcess::GetElementCrossSection(), G4GlauberGribovCrossSection::GetHadronNucleonXsc(), G4GGNuclNuclCrossSection::GetHadronNucleonXsc(), G4ComponentGGNuclNuclXsc::GetHadronNucleonXsc(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXsc(), G4GlauberGribovCrossSection::GetHadronNucleonXscNS(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXscNS(), G4GlauberGribovCrossSection::GetHadronNucleonXscPDG(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXscPDG(), G4GlauberGribovCrossSection::GetHNinelasticXsc(), G4ComponentGGHadronNucleusXsc::GetHNinelasticXsc(), G4VComponentCrossSection::GetInelasticElementCrossSection(), G4GlauberGribovCrossSection::GetNucleusRadius(), G4GGNuclNuclCrossSection::GetNucleusRadius(), G4ComponentGGNuclNuclXsc::GetNucleusRadius(), G4ComponentGGHadronNucleusXsc::GetNucleusRadius(), G4NeutronHPThermalBoost::GetThermalEnergy(), G4VComponentCrossSection::GetTotalElementCrossSection(), G4HadronNucleonXsc::IsApplicable(), and G4VEmModel::SelectIsotopeNumber().

00134 {return fNeff;}     

const G4String& G4Element::GetName (  )  const [inline]

Definition at line 127 of file G4Element.hh.

Referenced by G4Material::AddElement(), G4HadronStoppingProcess::AtRestDoIt(), G4tgbMaterialMixtureByNoAtoms::BuildG4Material(), G4GDMLWriteMaterials::ElementWrite(), G4tgbMaterialMgr::FindOrBuildG4Element(), G4CrossSectionDataStore::GetCrossSection(), GetElement(), G4ChargeExchangeProcess::GetElementCrossSection(), G4EnergyRangeManager::GetHadronicInteraction(), G4VCrossSectionDataSet::GetIsoCrossSection(), G4NeutronHPorLFissionData::IsIsoApplicable(), G4NeutronHPorLElasticData::IsIsoApplicable(), G4NeutronHPorLEInelasticData::IsIsoApplicable(), G4NeutronHPorLCaptureData::IsIsoApplicable(), G4GDMLWriteMaterials::MaterialWrite(), G4WHadronElasticProcess::PostStepDoIt(), G4HadronicProcess::PostStepDoIt(), G4HadronElasticProcess::PostStepDoIt(), G4PenelopePhotoElectricModel::SampleSecondaries(), G4CrossSectionDataStore::SampleZandA(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().

00127 {return fName;}

G4bool G4Element::GetNaturalAbandancesFlag (  )  [inline]

Definition at line 276 of file G4Element.hh.

00277 {
00278   return fNaturalAbandances;
00279 }

G4int G4Element::GetNbOfAtomicShells (  )  const [inline]

Definition at line 146 of file G4Element.hh.

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

00146 {return fNbOfAtomicShells;}

G4int G4Element::GetNbOfShellElectrons ( G4int  index  )  const

Definition at line 383 of file G4Element.cc.

References FatalException, G4endl, and G4Exception().

Referenced by G4KleinNishinaModel::SampleSecondaries().

00384 {
00385   if (i<0 || i>=fNbOfAtomicShells) {
00386     G4ExceptionDescription ed;
00387     ed << "Invalid argument " << i << " for G4Element " << fName 
00388        << " with Z= " << fZeff 
00389        << " and Nshells= " << fNbOfAtomicShells  
00390        << G4endl;
00391     G4Exception("G4Element::GetNbOfShellElectrons()", "mat016", FatalException, ed);
00392     return 0;
00393   }
00394   return fNbOfShellElectrons[i];
00395 }

size_t G4Element::GetNumberOfElements (  )  [static]

Definition at line 406 of file G4Element.cc.

Referenced by G4NeutronHPInelastic::ApplyYourself(), G4NeutronHPFission::ApplyYourself(), G4NeutronHPElastic::ApplyYourself(), G4NeutronHPCapture::ApplyYourself(), G4KokoulinMuonNuclearXS::BuildCrossSectionTable(), G4VRangeToEnergyConverter::BuildLossTable(), G4NeutronInelasticXS::BuildPhysicsTable(), G4NeutronHPThermalScatteringData::BuildPhysicsTable(), G4NeutronHPorLEInelasticData::BuildPhysicsTable(), G4NeutronHPJENDLHEData::BuildPhysicsTable(), G4NeutronHPInelasticData::BuildPhysicsTable(), G4NeutronHPFissionData::BuildPhysicsTable(), G4NeutronHPElasticData::BuildPhysicsTable(), G4NeutronHPCaptureData::BuildPhysicsTable(), G4NeutronElasticXS::BuildPhysicsTable(), G4NeutronCaptureXS::BuildPhysicsTable(), G4LENDModel::create_used_target_map(), G4LENDCrossSection::create_used_target_map(), G4NeutronHPInelasticData::DumpPhysicsTable(), G4NeutronHPFissionData::DumpPhysicsTable(), G4NeutronHPElasticData::DumpPhysicsTable(), G4NeutronHPCaptureData::DumpPhysicsTable(), G4FissLib::G4FissLib(), G4NeutronHPCapture::G4NeutronHPCapture(), G4NeutronHPData::G4NeutronHPData(), G4NeutronHPElastic::G4NeutronHPElastic(), G4NeutronHPFission::G4NeutronHPFission(), G4NeutronHPInelastic::G4NeutronHPInelastic(), G4NeutronHPorLCapture::G4NeutronHPorLCapture(), G4NeutronHPorLEInelastic::G4NeutronHPorLEInelastic(), G4NeutronHPorLElastic::G4NeutronHPorLElastic(), G4NeutronHPorLFission::G4NeutronHPorLFission(), G4NeutronIsotopeProduction::G4NeutronIsotopeProduction(), G4SeltzerBergerModel::Initialise(), G4NuclNuclDiffuseElastic::Initialise(), G4DiffuseElastic::Initialise(), and G4VRangeToEnergyConverter::operator=().

00407 {
00408   return theElementTable.size();
00409 }

size_t G4Element::GetNumberOfIsotopes (  )  const [inline]

Definition at line 158 of file G4Element.hh.

Referenced by G4Nucleus::ChooseParameters(), G4VCrossSectionDataSet::ComputeCrossSection(), G4tgbGeometryDumper::DumpElement(), G4GDMLWriteMaterials::ElementWrite(), G4NeutronHPJENDLHEData::GetCrossSection(), G4CrossSectionDataStore::GetCrossSection(), G4NeutronHPElementData::Init(), G4ElementIsoCrossSections< IsoIsoCrossSectionType >::Init(), G4GDMLWriteMaterials::MaterialWrite(), G4NeutronHPChannel::Register(), G4CrossSectionDataStore::SampleZandA(), G4VCrossSectionDataSet::SelectIsotope(), G4NeutronCaptureXS::SelectIsotope(), and G4VEmModel::SelectIsotopeNumber().

00158 {return fNumberOfIsotopes;}

G4double* G4Element::GetRelativeAbundanceVector (  )  const [inline]

Definition at line 166 of file G4Element.hh.

Referenced by G4QCaptureAtRest::AtRestDoIt(), G4MuonMinusCaptureAtRest::AtRestDoIt(), G4Nucleus::ChooseParameters(), G4VCrossSectionDataSet::ComputeCrossSection(), G4tgbGeometryDumper::DumpElement(), G4GDMLWriteMaterials::ElementWrite(), G4NeutronHPJENDLHEData::GetCrossSection(), G4CrossSectionDataStore::GetCrossSection(), G4NeutronHPElementData::Init(), G4ElementIsoCrossSections< IsoIsoCrossSectionType >::Init(), G4QAtomicElectronScattering::PostStepDoIt(), G4NeutronHPChannel::Register(), G4CrossSectionDataStore::SampleZandA(), G4VCrossSectionDataSet::SelectIsotope(), G4NeutronCaptureXS::SelectIsotope(), G4VEmModel::SelectIsotopeNumber(), and G4ElementSelector::SelectZandA().

00167                    {return fRelativeAbundanceVector;}

const G4String& G4Element::GetSymbol (  )  const [inline]

Definition at line 128 of file G4Element.hh.

Referenced by G4tgbGeometryDumper::DumpElement().

00128 {return fSymbol;}

G4double G4Element::GetZ (  )  const [inline]

Definition at line 131 of file G4Element.hh.

Referenced by G4AdjointPhotoElectricModel::AdjointCrossSectionPerAtom(), G4NeutronHPThermalScattering::ApplyYourself(), G4QCaptureAtRest::AtRestDoIt(), G4MuonMinusCaptureAtRest::AtRestDoIt(), G4Nucleus::ChooseParameters(), G4AdjointCSManager::ComputeAdjointCS(), G4VCrossSectionDataSet::ComputeCrossSection(), G4VEmModel::ComputeCrossSectionPerAtom(), G4EmCalculator::ComputeCrossSectionPerAtom(), G4PAIySection::ComputeLowEnergyCof(), G4tgbGeometryDumper::DumpElement(), G4GDMLWriteMaterials::ElementWrite(), G4NeutronHPorLFissionData::GetCrossSection(), G4NeutronHPorLElasticData::GetCrossSection(), G4NeutronHPorLEInelasticData::GetCrossSection(), G4NeutronHPorLCaptureData::GetCrossSection(), G4NeutronHPJENDLHEData::GetCrossSection(), G4NeutronHPInelasticData::GetCrossSection(), G4NeutronHPFissionData::GetCrossSection(), G4NeutronHPElasticData::GetCrossSection(), G4NeutronHPCaptureData::GetCrossSection(), G4CrossSectionDataStore::GetCrossSection(), G4GammaConversionToMuons::GetCrossSectionPerAtom(), GVFlashShowerParameterisation::GetEffZ(), G4VComponentCrossSection::GetElasticElementCrossSection(), G4ChargeExchangeProcess::GetElementCrossSection(), G4GlauberGribovCrossSection::GetHadronNucleonXsc(), G4GGNuclNuclCrossSection::GetHadronNucleonXsc(), G4ComponentGGNuclNuclXsc::GetHadronNucleonXsc(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXsc(), G4GlauberGribovCrossSection::GetHadronNucleonXscNS(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXscNS(), G4GlauberGribovCrossSection::GetHadronNucleonXscPDG(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXscPDG(), G4GlauberGribovCrossSection::GetHNinelasticXsc(), G4ComponentGGHadronNucleusXsc::GetHNinelasticXsc(), G4VComponentCrossSection::GetInelasticElementCrossSection(), G4NeutronIsotopeProduction::GetIsotope(), G4NeutronHPThermalBoost::GetThermalEnergy(), G4VComponentCrossSection::GetTotalElementCrossSection(), G4NeutronHPElementData::Init(), G4ElementIsoCrossSections< IsoIsoCrossSectionType >::Init(), G4HadronNucleonXsc::IsApplicable(), G4QNGamma::PostStepDoIt(), G4QLowEnergy::PostStepDoIt(), G4QIonIonElastic::PostStepDoIt(), G4QInelastic::PostStepDoIt(), G4QElastic::PostStepDoIt(), G4QDiffraction::PostStepDoIt(), G4QCoherentChargeExchange::PostStepDoIt(), G4QAtomicElectronScattering::PostStepDoIt(), G4GammaConversionToMuons::PostStepDoIt(), G4NeutronHPChannel::Register(), G4XrayRayleighModel::SampleSecondaries(), G4PenelopePhotoElectricModel::SampleSecondaries(), G4PEEffectFluoModel::SampleSecondaries(), G4MuPairProductionModel::SampleSecondaries(), G4MuBremsstrahlungModel::SampleSecondaries(), G4LowEPComptonModel::SampleSecondaries(), G4LivermoreRayleighModel::SampleSecondaries(), G4LivermorePolarizedRayleighModel::SampleSecondaries(), G4LivermorePolarizedPhotoElectricModel::SampleSecondaries(), G4LivermorePolarizedComptonModel::SampleSecondaries(), G4LivermorePhotoElectricModel::SampleSecondaries(), G4LivermoreComptonModifiedModel::SampleSecondaries(), G4LivermoreComptonModel::SampleSecondaries(), G4KleinNishinaModel::SampleSecondaries(), G4hCoulombScatteringModel::SampleSecondaries(), G4eCoulombScatteringModel::SampleSecondaries(), G4eBremsstrahlungModel::SampleSecondaries(), G4CrossSectionDataStore::SampleZandA(), G4NeutronCaptureXS::SelectIsotope(), G4ElementSelector::SelectZandA(), and G4hQAOModel::StoppingPower().

00131 {return fZeff;}    

void G4Element::increaseCountUse (  )  [inline]

Definition at line 192 of file G4Element.hh.

Referenced by G4Material::AddElement().

00192 {fCountUse++;}

G4int G4Element::operator!= ( const G4Element  )  const

Definition at line 496 of file G4Element.cc.

00497 {
00498   return (this != (G4Element*) &right);
00499 }

G4int G4Element::operator== ( const G4Element  )  const

Definition at line 489 of file G4Element.cc.

00490 {
00491   return (this == (G4Element*) &right);
00492 }

void G4Element::SetName ( const G4String name  )  [inline]

Definition at line 227 of file G4Element.hh.

00227 {fName=name;}

void G4Element::SetNaturalAbandancesFlag ( G4bool   )  [inline]

Definition at line 281 of file G4Element.hh.

00282 {
00283   fNaturalAbandances = val;
00284 }


Friends And Related Function Documentation

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

Definition at line 537 of file G4Element.cc.

00538 {
00539  //Dump info for all known elements
00540    flux << "\n***** Table : Nb of elements = " << ElementTable.size() 
00541         << " *****\n" << G4endl;
00542         
00543    for (size_t i=0; i<ElementTable.size(); i++) flux << ElementTable[i] 
00544                                                      << G4endl << G4endl;
00545 
00546    return flux;
00547 }

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

Definition at line 529 of file G4Element.cc.

00530 {
00531   flux << &element;        
00532   return flux;
00533 }

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

Definition at line 503 of file G4Element.cc.

00504 {
00505   std::ios::fmtflags mode = flux.flags();
00506   flux.setf(std::ios::fixed,std::ios::floatfield);
00507   G4long prec = flux.precision(3);
00508   
00509   flux
00510     << " Element: " << element->fName   << " (" << element->fSymbol << ")"
00511     << "   Z = " << std::setw(4) << std::setprecision(1) <<  element->fZeff 
00512     << "   N = " << std::setw(5) << std::setprecision(1) <<  element->fNeff
00513     << "   A = " << std::setw(6) << std::setprecision(2)
00514                  << (element->fAeff)/(g/mole) << " g/mole";
00515    
00516   for (size_t i=0; i<element->fNumberOfIsotopes; i++)
00517   flux 
00518     << "\n         ---> " << (*(element->theIsotopeVector))[i] 
00519     << "   abundance: " << std::setw(6) << std::setprecision(2) 
00520     << (element->fRelativeAbundanceVector[i])/perCent << " %";
00521     
00522   flux.precision(prec);        
00523   flux.setf(mode,std::ios::floatfield);         
00524   return flux;
00525 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:51:51 2013 for Geant4 by  doxygen 1.4.7