Geant4-11
Static Public Member Functions | Private Member Functions | Static Private Attributes
G4AtomicShells Class Reference

#include <G4AtomicShells.hh>

Static Public Member Functions

static G4double GetBindingEnergy (G4int Z, G4int SubshellNb)
 
static G4int GetNumberOfElectrons (G4int Z, G4int SubshellNb)
 
static G4int GetNumberOfFreeElectrons (G4int Z, G4double th)
 
static G4int GetNumberOfShells (G4int Z)
 
static G4double GetTotalBindingEnergy (G4int Z)
 

Private Member Functions

 G4AtomicShells (const G4AtomicShells &)=delete
 
const G4AtomicShellsoperator= (const G4AtomicShells &)=delete
 

Static Private Attributes

static const G4double fBindingEnergies [1540]
 
static const G4int fIndexOfShells [101]
 
static const G4int fNumberOfElectrons [1540]
 
static const G4int fNumberOfShells [101]
 

Detailed Description

Definition at line 56 of file G4AtomicShells.hh.

Constructor & Destructor Documentation

◆ G4AtomicShells()

G4AtomicShells::G4AtomicShells ( const G4AtomicShells )
privatedelete

Member Function Documentation

◆ GetBindingEnergy()

G4double G4AtomicShells::GetBindingEnergy ( G4int  Z,
G4int  SubshellNb 
)
static

Definition at line 755 of file G4AtomicShells.cc.

756{
757#ifdef G4VERBOSE
758 if(Z<0 || Z>100) { Z = PrintErrorZ(Z, "GetBindingEnergy"); }
759 if(ShellNb < 0 || ShellNb>=fNumberOfShells[Z]) {
760 ShellNb = PrintErrorShell(Z, ShellNb, "GetBindingEnergy");
761 }
762#endif
763 return fBindingEnergies[fIndexOfShells[Z] + ShellNb]*CLHEP::eV;
764}
const G4int Z[17]
static const G4double fBindingEnergies[1540]
static const G4int fIndexOfShells[101]
static const G4int fNumberOfShells[101]
static constexpr double eV

References CLHEP::eV, fBindingEnergies, fIndexOfShells, fNumberOfShells, and Z.

Referenced by G4Element::AddIsotope(), export_G4AtomicShells(), G4DensityEffectCalculator::G4DensityEffectCalculator(), G4Element::G4Element(), G4ICRU73QOModel::GetOscillatorEnergy(), G4DeltaAngle::SampleDirection(), and G4GammaTransition::SampleTransition().

◆ GetNumberOfElectrons()

G4int G4AtomicShells::GetNumberOfElectrons ( G4int  Z,
G4int  SubshellNb 
)
static

Definition at line 769 of file G4AtomicShells.cc.

770{
771#ifdef G4VERBOSE
772 if(Z<0 || Z>100) { Z = PrintErrorZ(Z, "GetNumberOfElectrons"); }
773 if(ShellNb < 0 || ShellNb>=fNumberOfShells[Z]) {
774 ShellNb = PrintErrorShell(Z, ShellNb, "GetNumberOfElectrons");
775 }
776#endif
777 return fNumberOfElectrons[fIndexOfShells[Z] + ShellNb];
778}
static const G4int fNumberOfElectrons[1540]

References fIndexOfShells, fNumberOfElectrons, fNumberOfShells, and Z.

Referenced by G4Element::AddIsotope(), export_G4AtomicShells(), G4DensityEffectCalculator::G4DensityEffectCalculator(), G4Element::G4Element(), G4ICRU73QOModel::GetOscillatorEnergy(), G4ICRU73QOModel::GetShellStrength(), G4EmCorrections::LShellCorrection(), G4DeltaAngle::SampleDirection(), and G4EmCorrections::ShellCorrection().

◆ GetNumberOfFreeElectrons()

G4int G4AtomicShells::GetNumberOfFreeElectrons ( G4int  Z,
G4double  th 
)
static

Definition at line 783 of file G4AtomicShells.cc.

784{
785#ifdef G4VERBOSE
786 if(Z<0 || Z>100) { Z = PrintErrorZ(Z, "GetNumberOfFreeElectrons"); }
787#endif
788 G4int idx = fIndexOfShells[Z];
789 G4int idxmax = idx + fNumberOfShells[Z];
790 G4int n = 0;
791 for (G4int i=idx; i<idxmax; ++i) {
792 if(fBindingEnergies[i]*CLHEP::eV <= th) { n += fNumberOfElectrons[i]; }
793 }
794 return n;
795}
int G4int
Definition: G4Types.hh:85

References CLHEP::eV, fBindingEnergies, fIndexOfShells, fNumberOfElectrons, fNumberOfShells, CLHEP::detail::n, and Z.

Referenced by G4Material::ComputeDerivedQuantities().

◆ GetNumberOfShells()

G4int G4AtomicShells::GetNumberOfShells ( G4int  Z)
static

◆ GetTotalBindingEnergy()

G4double G4AtomicShells::GetTotalBindingEnergy ( G4int  Z)
static

Definition at line 799 of file G4AtomicShells.cc.

800{
801#ifdef G4VERBOSE
802 if(Z<0 || Z>100) { Z = PrintErrorZ(Z, "GetTotalBindingEnergy"); }
803#endif
804 G4int idx = fIndexOfShells[Z];
805 G4int idxmax = idx + fNumberOfShells[Z];
806 G4double energy = 0.0;
807 for (G4int i=idx; i<idxmax; ++i) {energy += fBindingEnergies[i];}
808 return energy*CLHEP::eV;
809}
double G4double
Definition: G4Types.hh:83
G4double energy(const ThreeVector &p, const G4double m)

References G4INCL::KinematicsUtils::energy(), CLHEP::eV, fBindingEnergies, fIndexOfShells, fNumberOfShells, and Z.

Referenced by export_G4AtomicShells().

◆ operator=()

const G4AtomicShells & G4AtomicShells::operator= ( const G4AtomicShells )
privatedelete

Field Documentation

◆ fBindingEnergies

const G4double G4AtomicShells::fBindingEnergies
staticprivate

◆ fIndexOfShells

const G4int G4AtomicShells::fIndexOfShells
staticprivate
Initial value:
=
{ 0,
1, 2, 3, 5, 7, 10, 13, 17, 21, 24,
28, 33, 38, 44, 50, 56, 62, 68, 75, 83,
91, 100, 109, 118, 127, 136, 145, 154, 164, 174,
184, 195, 206, 217, 228, 239, 251, 264, 277, 291,
305, 319, 333, 347, 361, 375, 390, 405, 420, 436,
452, 468, 484, 500, 517, 535, 553, 572, 591, 610,
629, 648, 667, 686, 706, 725, 744, 763, 782, 801,
821, 842, 863, 884, 905, 926, 947, 968, 989, 1011,
1033, 1056, 1079, 1102, 1125, 1149, 1173, 1198, 1223, 1249,
1275, 1302, 1329, 1356, 1382, 1408, 1435, 1462, 1488, 1514
}

Definition at line 77 of file G4AtomicShells.hh.

Referenced by GetBindingEnergy(), GetNumberOfElectrons(), GetNumberOfFreeElectrons(), and GetTotalBindingEnergy().

◆ fNumberOfElectrons

const G4int G4AtomicShells::fNumberOfElectrons
staticprivate

Definition at line 78 of file G4AtomicShells.hh.

Referenced by GetNumberOfElectrons(), and GetNumberOfFreeElectrons().

◆ fNumberOfShells

const G4int G4AtomicShells::fNumberOfShells
staticprivate
Initial value:
=
{
0 ,
1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 3 , 4 ,
5 , 5 , 6 , 6 , 6 , 6 , 6 , 7 , 8 , 8 ,
9 , 9 , 9 , 9 , 9 , 9 , 9 , 10 , 10 , 10 ,
11 , 11 , 11 , 11 , 11 , 12 , 13 , 13 , 14 , 14 ,
14 , 14 , 14 , 14 , 14 , 15 , 15 , 15 , 16 , 16 ,
16 , 16 , 16 , 17 , 18 , 18 , 19 , 19 , 19 , 19 ,
19 , 19 , 19 , 20 , 19 , 19 , 19 , 19 , 19 , 20 ,
21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 22 , 22 ,
23 , 23 , 23 , 23 , 24 , 24 , 25 , 25 , 26 , 26 ,
27 , 27 , 27 , 26 , 26 , 27 , 27 , 26 , 26 , 26
}

Definition at line 76 of file G4AtomicShells.hh.

Referenced by GetBindingEnergy(), GetNumberOfElectrons(), GetNumberOfFreeElectrons(), GetNumberOfShells(), and GetTotalBindingEnergy().


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