#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< G4double > | GetCrossSection (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< G4double > | Probabilities (G4int Z, G4double incidentEnergy, G4double mass, G4double deltaEnergy, const G4Material *mat)=0 |
virtual void | SetTotalCS (G4double) |
const G4String & | GetName () const |
Definition at line 64 of file G4VhShellCrossSection.hh.
G4VhShellCrossSection::G4VhShellCrossSection | ( | const G4String & | xname = "" |
) |
G4VhShellCrossSection::~G4VhShellCrossSection | ( | ) | [virtual] |
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().
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.