76#ifndef ExtMuIonisation_h
77#define ExtMuIonisation_h 1
79#include "G4VEnergyLossProcess.hh"
80#include "G4Electron.hh"
81#include "G4Positron.hh"
83#include "G4VEmModel.hh"
86class G4VEmFluctuationModel;
87class G4ParticleChangeForLoss;
99 {
return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);};
102 const G4Material*, G4double
cut);
113 const G4MaterialCutsCouple*,
114 const G4DynamicParticle*,
123 const G4ParticleDefinition*);
136 const G4ParticleDefinition* theParticle;
137 const G4ParticleDefinition* theBaseParticle;
138 G4VEmFluctuationModel* flucModel;
140 G4ParticleChangeForLoss* fParticleChange;
142 G4bool isInitialised;
152 G4double
x = 0.5*
cut/electron_mass_c2;
153 G4double g =
x*ratio + sqrt((1. +
x)*(1. +
x*ratio*ratio));
154 return mass*(g - 1.0);
197 const G4MaterialCutsCouple* couple,
198 const G4DynamicParticle* dp,
*********Class see also m_nmax DOUBLE PRECISION m_MasPhot DOUBLE PRECISION m_phsu DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_r2 DOUBLE PRECISION m_WtMass INTEGER m_nmax INTEGER m_Nevgen INTEGER m_IsFSR INTEGER m_MarTot *COMMON c_KarFin $ !Output file $ !Event serial number $ !alpha QED at Thomson limit $ !minimum energy at CMS for remooval $ !infrared cut
virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition *, const G4ParticleDefinition *)
G4double MinPrimaryEnergy(const G4ParticleDefinition *p, const G4Material *, G4double cut)
virtual ~ExtMuIonisation()
std::vector< G4DynamicParticle * > * SecondariesPostStep(G4VEmModel *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double &tcut)
G4bool IsApplicable(const G4ParticleDefinition &p)