77#include "G4Electron.hh"
78#include "G4MuonPlus.hh"
79#include "G4MuonMinus.hh"
80#include "G4BraggModel.hh"
81#include "G4BetheBlochModel.hh"
82#include "G4MuBetheBlochModel.hh"
83#include "G4UniversalFluctuation.hh"
84#include "G4BohrFluctuations.hh"
85#include "G4UnitsTable.hh"
92 : G4VEnergyLossProcess(name),
98 SetLambdaBinning(120);
99 SetMinKinEnergy(0.1*keV);
100 SetMaxKinEnergy(100.0*TeV);
101 SetLossFluctuations(
false);
112 const G4ParticleDefinition* bpart)
117 theBaseParticle = bpart;
119 mass = theParticle->GetPDGMass();
120 SetSecondaryParticle(G4Electron::Electron());
122 flucModel =
new G4UniversalFluctuation();
124 G4VEmModel* em =
new G4BraggModel();
125 em->SetLowEnergyLimit(0.1*keV);
126 em->SetHighEnergyLimit(0.2*MeV);
127 AddEmModel(1, em, flucModel);
128 G4VEmModel* em1 =
new G4BetheBlochModel();
129 em1->SetLowEnergyLimit(0.2*MeV);
130 em1->SetHighEnergyLimit(1.0*GeV);
131 AddEmModel(2, em1, flucModel);
132 G4VEmModel* em2 =
new G4MuBetheBlochModel();
133 em2->SetLowEnergyLimit(1.0*GeV);
134 em2->SetHighEnergyLimit(100.0*TeV);
135 AddEmModel(3, em2, flucModel);
136 SetStepFunction(0.2, 1.0*mm);
137 ratio = electron_mass_c2/mass;
138 isInitialised =
true;
146 G4cout <<
" Bether-Bloch model for E > 0.2 MeV, "
147 <<
"parametrisation of Bragg peak below, "
149 G4cout <<
" radiative corrections for E > 1 GeV" << G4endl;
virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition *, const G4ParticleDefinition *)
virtual ~ExtMuIonisation()
ExtMuIonisation(const G4String &name="ExtmuIoni")