47 #include "CMSG4mplIonisation.hh"
48 #include "G4Electron.hh"
49 #include "G4mplIonisationModel.hh"
50 #include "G4BohrFluctuations.hh"
51 #include "G4SystemOfUnits.hh"
52 #include "G4PhysicalConstants.hh"
58 CMSG4mplIonisation::CMSG4mplIonisation(G4double mCharge,
const G4String&
name)
59 : G4VEnergyLossProcess(name),
60 magneticCharge(mCharge),
64 if(magneticCharge == 0.0) magneticCharge = eplus*0.5/fine_structure_const;
67 SetProcessSubType(fIonisation);
68 SetStepFunction(0.2, 1*mm);
73 CMSG4mplIonisation::~CMSG4mplIonisation()
78 G4bool CMSG4mplIonisation::IsApplicable(
const G4ParticleDefinition&)
85 void CMSG4mplIonisation::InitialiseEnergyLossProcess(
const G4ParticleDefinition*,
86 const G4ParticleDefinition*)
88 if(isInitialised)
return;
91 SetSecondaryParticle(G4Electron::Electron());
93 G4mplIonisationModel* ion =
new G4mplIonisationModel(magneticCharge,
"PAI");
94 ion->SetLowEnergyLimit(MinKinEnergy());
95 ion->SetHighEnergyLimit(MaxKinEnergy());
96 AddEmModel(0,ion,ion);
103 void CMSG4mplIonisation::PrintInfo()
105 G4cout <<
" No delta-electron production, only dE/dx"
volatile std::atomic< bool > shutdown_flag false