76#ifndef ExthIonisation_h
77#define ExthIonisation_h 1
79#include "G4VEnergyLossProcess.hh"
80#include "G4Electron.hh"
81#include "G4Positron.hh"
83#include "G4VEmModel.hh"
86class G4VEmFluctuationModel;
100 const G4Material*, G4double
cut);
108 const G4MaterialCutsCouple*,
109 const G4DynamicParticle*,
113 const G4ParticleDefinition*);
124 const G4ParticleDefinition* theParticle;
125 const G4ParticleDefinition* theBaseParticle;
126 G4VEmFluctuationModel* flucModel;
128 G4bool isInitialised;
138 return (p.GetPDGCharge() != 0.0 &&
139 p.GetPDGMass() > 10.0*MeV &&
149 G4double
x = 0.5*
cut/electron_mass_c2;
150 G4double y = electron_mass_c2/mass;
151 G4double g =
x*y + sqrt((1. + x)*(1. + x*y*y));
152 return mass*(g - 1.0);
158 const G4MaterialCutsCouple* couple,
159 const G4DynamicParticle* dp,
G4bool IsApplicable(const G4ParticleDefinition &p)
ExthIonisation(const G4String &name="ExthIoni")
virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition *, const G4ParticleDefinition *)
G4double MinPrimaryEnergy(const G4ParticleDefinition *p, const G4Material *, G4double cut)
std::vector< G4DynamicParticle * > * SecondariesPostStep(G4VEmModel *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double &)