21 #include "G4PhysicalConstants.hh"
22 #include "G4SystemOfUnits.hh"
23 #include "G4Electron.hh"
24 #include "G4EmParameters.hh"
31 : G4VEnergyLossProcess(
name), magneticCharge(mCharge), isInitialised(
false) {
38 SetProcessSubType(fIonisation);
39 SetStepFunction(0.2, 1 * mm);
54 G4double
x = 0.5 *
cut / electron_mass_c2;
55 G4double
mass = mpl->GetPDGMass();
58 return mass * (gam - 1.0);
68 SetBaseParticle(
nullptr);
75 G4EmParameters* param = G4EmParameters::Instance();
76 G4double emin =
std::min(param->MinKinEnergy(), ion->LowEnergyLimit());
77 G4double emax =
std::max(param->MaxKinEnergy(), ion->HighEnergyLimit());
78 G4int
bin = G4lrint(param->NumberOfBinsPerDecade() * std::log10(emax / emin));
79 ion->SetLowEnergyLimit(emin);
80 ion->SetHighEnergyLimit(emax);
81 SetMinKinEnergy(emin);
82 SetMaxKinEnergy(emax);
86 AddEmModel(1, ion, ion);
98 out <<
"No description available." << G4endl;
99 G4VEnergyLossProcess::ProcessDescription(
out);