G4VhShellCrossSection Class Reference

#include <G4VhShellCrossSection.hh>

Inheritance diagram for G4VhShellCrossSection:

G4empCrossSection G4LivermoreIonisationCrossSection G4PenelopeIonisationCrossSection G4teoCrossSection

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 ( const G4String xname = ""  ) 

Definition at line 49 of file G4VhShellCrossSection.cc.

00049                                                                  :name(xname)
00050 {}

G4VhShellCrossSection::~G4VhShellCrossSection (  )  [virtual]

Definition at line 52 of file G4VhShellCrossSection.cc.

00053 {}


Member Function Documentation

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

Implemented in G4empCrossSection, G4LivermoreIonisationCrossSection, G4PenelopeIonisationCrossSection, and G4teoCrossSection.

Referenced by G4UAtomicDeexcitation::GetShellIonisationCrossSectionPerAtom().

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

Implemented in G4empCrossSection, G4LivermoreIonisationCrossSection, G4PenelopeIonisationCrossSection, and G4teoCrossSection.

const G4String & G4VhShellCrossSection::GetName (  )  const [inline]

Definition at line 115 of file G4VhShellCrossSection.hh.

Referenced by G4UAtomicDeexcitation::InitialiseForNewRun().

00116 {
00117   return name;
00118 } 

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

Implemented in G4empCrossSection, G4LivermoreIonisationCrossSection, G4PenelopeIonisationCrossSection, and G4teoCrossSection.

Referenced by SelectRandomShell().

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

Definition at line 58 of file G4VhShellCrossSection.cc.

References G4UniformRand, and Probabilities().

00065 {
00066   std::vector<G4double> p = Probabilities(Z,incidentEnergy,mass,deltaEnergy,mat);
00067   G4int shell = -1;
00068   size_t nShells = p.size();
00069   G4double q = G4UniformRand();
00070   for (size_t i=0; i<nShells; i++) {
00071     
00072     if (p[i] >= q) {
00073       shell = i;
00074       break;
00075     }
00076     q -= p[i];
00077   }
00078   return shell;
00079 }

void G4VhShellCrossSection::SetTotalCS ( G4double   )  [virtual]

Reimplemented in G4empCrossSection, and G4teoCrossSection.

Definition at line 55 of file G4VhShellCrossSection.cc.

00056 {}


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:43 2013 for Geant4 by  doxygen 1.4.7