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"
86#include "G4PhysicalConstants.hh"
93 : G4VEnergyLossProcess(name),
100 SetMinKinEnergy(0.1*keV);
101 SetMaxKinEnergy(100.0*TeV);
102 SetLossFluctuations(
false);
113 const G4ParticleDefinition* bpart)
118 theBaseParticle = bpart;
120 mass = theParticle->GetPDGMass();
121 SetSecondaryParticle(G4Electron::Electron());
123 flucModel =
new G4UniversalFluctuation();
125 G4VEmModel* em =
new G4BraggModel();
126 em->SetLowEnergyLimit(0.1*keV);
127 em->SetHighEnergyLimit(0.2*MeV);
128 AddEmModel(1, em, flucModel);
129 G4VEmModel* em1 =
new G4BetheBlochModel();
130 em1->SetLowEnergyLimit(0.2*MeV);
131 em1->SetHighEnergyLimit(1.0*GeV);
132 AddEmModel(2, em1, flucModel);
133 G4VEmModel* em2 =
new G4MuBetheBlochModel();
134 em2->SetLowEnergyLimit(1.0*GeV);
135 em2->SetHighEnergyLimit(100.0*TeV);
136 AddEmModel(3, em2, flucModel);
137 SetStepFunction(0.2, 1.0*mm);
138 ratio = electron_mass_c2/mass;
139 isInitialised =
true;
147 G4cout <<
" Bether-Bloch model for E > 0.2 MeV, "
148 <<
"parametrisation of Bragg peak below, "
150 G4cout <<
" radiative corrections for E > 1 GeV" << G4endl;
virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition *, const G4ParticleDefinition *)
virtual ~ExtMuIonisation()
ExtMuIonisation(const G4String &name="ExtmuIoni")