#include <ExteIonisation.h>
Public Member Functions | |
ExteIonisation (const G4String &name="ExteIoni") | |
ExteIonisation (const G4String &name="ExteIoni") | |
G4bool | IsApplicable (const G4ParticleDefinition &p) |
G4bool | IsApplicable (const G4ParticleDefinition &p) |
virtual void | PrintInfo () |
virtual void | PrintInfo () |
~ExteIonisation () | |
~ExteIonisation () | |
Protected Member Functions | |
virtual void | InitialiseEnergyLossProcess (const G4ParticleDefinition *, const G4ParticleDefinition *) |
virtual void | InitialiseEnergyLossProcess (const G4ParticleDefinition *, const G4ParticleDefinition *) |
virtual G4double | MinPrimaryEnergy (const G4ParticleDefinition *, const G4Material *, G4double cut) |
virtual G4double | MinPrimaryEnergy (const G4ParticleDefinition *, const G4Material *, G4double cut) |
std::vector< G4DynamicParticle * > * | SecondariesPostStep (G4VEmModel *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double &) |
std::vector< G4DynamicParticle * > * | SecondariesPostStep (G4VEmModel *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double &) |
Private Member Functions | |
ExteIonisation (const ExteIonisation &) | |
ExteIonisation (const ExteIonisation &) | |
ExteIonisation & | operator= (const ExteIonisation &right) |
ExteIonisation & | operator= (const ExteIonisation &right) |
Private Attributes | |
G4VEmFluctuationModel * | flucModel |
G4VEmFluctuationModel * | flucModel |
G4bool | isElectron |
G4bool | isInitialised |
const G4ParticleDefinition * | particle |
const G4ParticleDefinition * | particle |
const G4ParticleDefinition * | theElectron |
const G4ParticleDefinition * | theElectron |
|
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 }
|
|
00097 {}
|
|
|
|
|
|
|
|
|
|
|
|
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 }
|
|
|
|
00141 {
00142 return (&p == G4Electron::Electron() || &p == G4Positron::Positron());
00143 }
|
|
|
|
00132 { 00133 G4double x = cut; 00134 if(isElectron) x += cut; 00135 return x; 00136 }
|
|
|
|
|
|
|
|
00121 { 00122 G4cout << " Delta cross sections from Moller+Bhabha, " 00123 << "good description from 1 KeV to 100 GeV." 00124 << G4endl; 00125 }
|
|
|
|
00152 { 00153 //return model->SampleSecondaries(couple,dp,tcut); 00154 return NULL; 00155 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|