Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 63 of file G4VhShellCrossSection.hh.

Constructor & Destructor Documentation

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

Definition at line 48 of file G4VhShellCrossSection.cc.

48  :name(xname)
49 {}
const XML_Char * name
Definition: expat.h:151
G4VhShellCrossSection::~G4VhShellCrossSection ( )
virtual

Definition at line 51 of file G4VhShellCrossSection.cc.

52 {}

Member Function Documentation

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

Implemented in G4PenelopeIonisationCrossSection, G4teoCrossSection, G4empCrossSection, and G4LivermoreIonisationCrossSection.

Here is the caller graph for this function:

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

Definition at line 114 of file G4VhShellCrossSection.hh.

115 {
116  return name;
117 }
const XML_Char * name
Definition: expat.h:151

Here is the caller graph for this function:

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

Implemented in G4PenelopeIonisationCrossSection, G4LivermoreIonisationCrossSection, G4teoCrossSection, and G4empCrossSection.

Here is the caller graph for this function:

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

Definition at line 57 of file G4VhShellCrossSection.cc.

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

Here is the call graph for this function:

void G4VhShellCrossSection::SetTotalCS ( G4double  )
virtual

Reimplemented in G4teoCrossSection, and G4empCrossSection.

Definition at line 54 of file G4VhShellCrossSection.cc.

55 {}

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