Geant4 10.7.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 62 of file G4VhShellCrossSection.hh.

Constructor & Destructor Documentation

◆ G4VhShellCrossSection()

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

Definition at line 47 of file G4VhShellCrossSection.cc.

47 :name(xname)
48{}

◆ ~G4VhShellCrossSection()

G4VhShellCrossSection::~G4VhShellCrossSection ( )
virtual

Definition at line 50 of file G4VhShellCrossSection.cc.

51{}

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 113 of file G4VhShellCrossSection.hh.

114{
115 return name;
116}

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 56 of file G4VhShellCrossSection.cc.

63{
64 std::vector<G4double> p = Probabilities(Z,incidentEnergy,mass,deltaEnergy,mat);
65 G4int shell = -1;
66 size_t nShells = p.size();
68 for (size_t i=0; i<nShells; i++) {
69
70 if (p[i] >= q) {
71 shell = i;
72 break;
73 }
74 q -= p[i];
75 }
76 return shell;
77}
double G4double
Definition: G4Types.hh:83
int G4int
Definition: G4Types.hh:85
#define G4UniformRand()
Definition: Randomize.hh:52
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 53 of file G4VhShellCrossSection.cc.

54{}

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