#include <ExteIonisation.h>
Public Member Functions | |
ExteIonisation (const G4String &name="ExteIoni") | |
~ExteIonisation () | |
G4bool | IsApplicable (const G4ParticleDefinition &p) |
virtual void | PrintInfo () |
Protected Member Functions | |
std::vector< G4DynamicParticle * > * | SecondariesPostStep (G4VEmModel *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double &) |
virtual void | InitialiseEnergyLossProcess (const G4ParticleDefinition *, const G4ParticleDefinition *) |
virtual G4double | MinPrimaryEnergy (const G4ParticleDefinition *, const G4Material *, G4double cut) |
Private Member Functions | |
ExteIonisation & | operator= (const ExteIonisation &right) |
ExteIonisation (const ExteIonisation &) | |
Private Attributes | |
const G4ParticleDefinition * | theElectron |
const G4ParticleDefinition * | particle |
G4VEmFluctuationModel * | flucModel |
G4bool | isElectron |
G4bool | isInitialised |
Definition at line 85 of file ExteIonisation.h.
ExteIonisation::ExteIonisation | ( | const G4String & | name = "ExteIoni" |
) |
Definition at line 81 of file ExteIonisation.cxx.
00082 : G4VEnergyLossProcess(name), 00083 theElectron(G4Electron::Electron()), 00084 isElectron(true), 00085 isInitialised(false) 00086 { 00087 SetDEDXBinning(120); 00088 SetLambdaBinning(120); 00089 SetMinKinEnergy(0.1*keV); 00090 SetMaxKinEnergy(100.0*TeV); 00091 SetLossFluctuations(false); 00092 }
ExteIonisation::~ExteIonisation | ( | ) |
ExteIonisation::ExteIonisation | ( | const ExteIonisation & | ) | [private] |
void ExteIonisation::InitialiseEnergyLossProcess | ( | const G4ParticleDefinition * | , | |
const G4ParticleDefinition * | ||||
) | [protected, virtual] |
Definition at line 101 of file ExteIonisation.cxx.
References flucModel, isElectron, isInitialised, and theElectron.
00102 { 00103 if(!isInitialised) { 00104 if(part == G4Positron::Positron()) isElectron = false; 00105 SetSecondaryParticle(theElectron); 00106 00107 flucModel = new G4UniversalFluctuation(); 00108 00109 G4VEmModel* em = new G4MollerBhabhaModel(); 00110 em->SetLowEnergyLimit(0.1*keV); 00111 em->SetHighEnergyLimit(100.0*TeV); 00112 AddEmModel(1, em, flucModel); 00113 isInitialised = true; 00114 } 00115 00116 }
G4bool ExteIonisation::IsApplicable | ( | const G4ParticleDefinition & | p | ) | [inline] |
G4double ExteIonisation::MinPrimaryEnergy | ( | const G4ParticleDefinition * | , | |
const G4Material * | , | |||
G4double | cut | |||
) | [inline, protected, virtual] |
Definition at line 129 of file ExteIonisation.h.
References isElectron, and x.
00132 { 00133 G4double x = cut; 00134 if(isElectron) x += cut; 00135 return x; 00136 }
ExteIonisation& ExteIonisation::operator= | ( | const ExteIonisation & | right | ) | [private] |
void ExteIonisation::PrintInfo | ( | ) | [virtual] |
Definition at line 120 of file ExteIonisation.cxx.
00121 { 00122 G4cout << " Delta cross sections from Moller+Bhabha, " 00123 << "good description from 1 KeV to 100 GeV." 00124 << G4endl; 00125 }
std::vector< G4DynamicParticle * > * ExteIonisation::SecondariesPostStep | ( | G4VEmModel * | , | |
const G4MaterialCutsCouple * | , | |||
const G4DynamicParticle * | , | |||
G4double & | ||||
) | [inline, protected] |
G4VEmFluctuationModel* ExteIonisation::flucModel [private] |
G4bool ExteIonisation::isElectron [private] |
Definition at line 122 of file ExteIonisation.h.
Referenced by InitialiseEnergyLossProcess(), and MinPrimaryEnergy().
G4bool ExteIonisation::isInitialised [private] |
const G4ParticleDefinition* ExteIonisation::particle [private] |
Definition at line 119 of file ExteIonisation.h.
const G4ParticleDefinition* ExteIonisation::theElectron [private] |