Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4VhShellCrossSection Class Referenceabstract

#include <G4VhShellCrossSection.hh>

+ Inheritance diagram for G4VhShellCrossSection:

Public Member Functions

 G4VhShellCrossSection (const G4String &xname="")
 
virtual ~G4VhShellCrossSection ()
 
G4int SelectRandomShell (G4int Z, G4double incidentEnergy, G4double mass, G4double deltaEnergy, const G4Material *mat)
 
virtual std::vector< G4doubleGetCrossSection (G4int Z, G4double incidentEnergy, G4double mass, G4double deltaEnergy, const G4Material *mat)=0
 
virtual G4double CrossSection (G4int Z, G4AtomicShellEnumerator shell, G4double incidentEnergy, G4double mass, const G4Material *mat)=0
 
virtual std::vector< G4doubleProbabilities (G4int Z, G4double incidentEnergy, G4double mass, G4double deltaEnergy, const G4Material *mat)=0
 
virtual void SetTotalCS (G4double)
 
const G4StringGetName () const
 

Detailed Description

Definition at line 64 of file G4VhShellCrossSection.hh.

Constructor & Destructor Documentation

◆ G4VhShellCrossSection()

G4VhShellCrossSection::G4VhShellCrossSection ( const G4String xname = "")

Definition at line 49 of file G4VhShellCrossSection.cc.

49 :name(xname)
50{}

◆ ~G4VhShellCrossSection()

G4VhShellCrossSection::~G4VhShellCrossSection ( )
virtual

Definition at line 52 of file G4VhShellCrossSection.cc.

53{}

Member Function Documentation

◆ CrossSection()

virtual G4double G4VhShellCrossSection::CrossSection ( G4int  Z,
G4AtomicShellEnumerator  shell,
G4double  incidentEnergy,
G4double  mass,
const G4Material mat 
)
pure virtual

◆ GetCrossSection()

virtual std::vector< G4double > G4VhShellCrossSection::GetCrossSection ( G4int  Z,
G4double  incidentEnergy,
G4double  mass,
G4double  deltaEnergy,
const G4Material mat 
)
pure virtual

◆ GetName()

const G4String & G4VhShellCrossSection::GetName ( ) const
inline

Definition at line 115 of file G4VhShellCrossSection.hh.

116{
117 return name;
118}

Referenced by G4UAtomicDeexcitation::InitialiseForNewRun().

◆ Probabilities()

virtual std::vector< G4double > G4VhShellCrossSection::Probabilities ( G4int  Z,
G4double  incidentEnergy,
G4double  mass,
G4double  deltaEnergy,
const G4Material mat 
)
pure virtual

◆ SelectRandomShell()

G4int G4VhShellCrossSection::SelectRandomShell ( G4int  Z,
G4double  incidentEnergy,
G4double  mass,
G4double  deltaEnergy,
const G4Material mat 
)

Definition at line 58 of file G4VhShellCrossSection.cc.

65{
66 std::vector<G4double> p = Probabilities(Z,incidentEnergy,mass,deltaEnergy,mat);
67 G4int shell = -1;
68 size_t nShells = p.size();
70 for (size_t i=0; i<nShells; i++) {
71
72 if (p[i] >= q) {
73 shell = i;
74 break;
75 }
76 q -= p[i];
77 }
78 return shell;
79}
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
#define G4UniformRand()
Definition: Randomize.hh:53
virtual std::vector< G4double > Probabilities(G4int Z, G4double incidentEnergy, G4double mass, G4double deltaEnergy, const G4Material *mat)=0

◆ SetTotalCS()

void G4VhShellCrossSection::SetTotalCS ( G4double  )
virtual

Reimplemented in G4empCrossSection, and G4teoCrossSection.

Definition at line 55 of file G4VhShellCrossSection.cc.

56{}

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