58 magneticCharge(mCharge)
61 if(magneticCharge == 0.0) { magneticCharge = CLHEP::eplus*0.5/CLHEP::fine_structure_const; }
86 G4double x = 0.5*cut/electron_mass_c2;
88 G4double ratio = electron_mass_c2/mass;
89 G4double gam = x*ratio + std::sqrt((1. + x)*(1. + x*ratio*ratio));
90 return mass*(gam - 1.0);
98 if(isInitialised) {
return; }
119 isInitialised =
true;
126 out <<
"Magnetic monopole ionisation" <<
G4endl;
static G4Electron * Electron()
static G4EmParameters * Instance()
G4double MinKinEnergy() const
G4int NumberOfBinsPerDecade() const
G4double MaxKinEnergy() const
G4double GetPDGMass() const
void SetHighEnergyLimit(G4double)
G4double LowEnergyLimit() const
G4double HighEnergyLimit() const
void SetLowEnergyLimit(G4double)
void AddEmModel(G4int, G4VEmModel *, G4VEmFluctuationModel *fluc=nullptr, const G4Region *region=nullptr)
void SetMaxKinEnergy(G4double e)
void ProcessDescription(std::ostream &outFile) const override
void SetDEDXBinning(G4int nbins)
void SetEmModel(G4VEmModel *, G4int index=0)
void SetSecondaryParticle(const G4ParticleDefinition *p)
void SetMinKinEnergy(G4double e)
void SetVerboseLevel(G4int value)
void SetProcessSubType(G4int)
void SetParticle(const G4ParticleDefinition *p)
G4double MinPrimaryEnergy(const G4ParticleDefinition *p, const G4Material *, G4double cut) final
void ProcessDescription(std::ostream &) const override
G4bool IsApplicable(const G4ParticleDefinition &p) override
virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition *, const G4ParticleDefinition *) override
~G4mplIonisation() override
G4mplIonisation(G4double mCharge=0.0, const G4String &name="mplIoni")