Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4AtomicShells Class Reference

#include <G4AtomicShells.hh>

Static Public Member Functions

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

Detailed Description

Definition at line 50 of file G4AtomicShells.hh.

Member Function Documentation

◆ GetBindingEnergy()

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

Definition at line 775 of file G4AtomicShells.cc.

776{
777#ifdef G4VERBOSE
778 if (Z < 0 || Z > 104) {
779 Z = PrintErrorZ(Z, "GetBindingEnergy");
780 }
781 if (ShellNb < 0 || ShellNb >= fNumberOfShells[Z]) {
782 ShellNb = PrintErrorShell(Z, ShellNb, "GetBindingEnergy");
783 }
784#endif
785 return fBindingEnergies[fIndexOfShells[Z] + ShellNb] * CLHEP::eV;
786}

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

◆ GetNumberOfElectrons()

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

Definition at line 790 of file G4AtomicShells.cc.

791{
792#ifdef G4VERBOSE
793 if (Z < 0 || Z > 104) {
794 Z = PrintErrorZ(Z, "GetNumberOfElectrons");
795 }
796 if (ShellNb < 0 || ShellNb >= fNumberOfShells[Z]) {
797 ShellNb = PrintErrorShell(Z, ShellNb, "GetNumberOfElectrons");
798 }
799#endif
800 return fNumberOfElectrons[fIndexOfShells[Z] + ShellNb];
801}

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

◆ GetNumberOfFreeElectrons()

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

Definition at line 805 of file G4AtomicShells.cc.

806{
807#ifdef G4VERBOSE
808 if (Z < 0 || Z > 104) {
809 Z = PrintErrorZ(Z, "GetNumberOfFreeElectrons");
810 }
811#endif
812 G4int idx = fIndexOfShells[Z];
813 G4int idxmax = idx + fNumberOfShells[Z];
814 G4int n = 0;
815 for (G4int i = idx; i < idxmax; ++i) {
816 if (fBindingEnergies[i] * CLHEP::eV <= th) {
817 n += fNumberOfElectrons[i];
818 }
819 }
820 return n;
821}
int G4int
Definition G4Types.hh:85

◆ GetNumberOfShells()

◆ GetTotalBindingEnergy()

G4double G4AtomicShells::GetTotalBindingEnergy ( G4int Z)
static

Definition at line 825 of file G4AtomicShells.cc.

826{
827#ifdef G4VERBOSE
828 if (Z < 0 || Z > 104) {
829 Z = PrintErrorZ(Z, "GetTotalBindingEnergy");
830 }
831#endif
832 G4int idx = fIndexOfShells[Z];
833 G4int idxmax = idx + fNumberOfShells[Z];
834 G4double energy = 0.0;
835 for (G4int i = idx; i < idxmax; ++i) {
836 energy += fBindingEnergies[i];
837 }
838 return energy * CLHEP::eV;
839}
double G4double
Definition G4Types.hh:83
G4double energy(const ThreeVector &p, const G4double m)

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