47 #include "CMSG4mplIonisation.hh"
48 #include "G4Electron.hh"
49 #include "G4mplIonisationModel.hh"
50 #include "G4BohrFluctuations.hh"
56 CMSG4mplIonisation::CMSG4mplIonisation(G4double mCharge,
const G4String&
name)
57 : G4VEnergyLossProcess(name),
58 magneticCharge(mCharge),
62 if(magneticCharge == 0.0) magneticCharge = eplus*0.5/fine_structure_const;
65 SetProcessSubType(fIonisation);
66 SetStepFunction(0.2, 1*mm);
71 CMSG4mplIonisation::~CMSG4mplIonisation()
76 G4bool CMSG4mplIonisation::IsApplicable(
const G4ParticleDefinition&)
83 void CMSG4mplIonisation::InitialiseEnergyLossProcess(
const G4ParticleDefinition*,
84 const G4ParticleDefinition*)
86 if(isInitialised)
return;
89 SetSecondaryParticle(G4Electron::Electron());
91 G4mplIonisationModel* ion =
new G4mplIonisationModel(magneticCharge,
"PAI");
92 ion->SetLowEnergyLimit(MinKinEnergy());
93 ion->SetHighEnergyLimit(MaxKinEnergy());
94 AddEmModel(0,ion,ion);
101 void CMSG4mplIonisation::PrintInfo()
103 G4cout <<
" No delta-electron production, only dE/dx"
volatile std::atomic< bool > shutdown_flag false