100 G4double gam = x*y + std::sqrt((1. + x)*(1. + x*y*y));
101 return mass*(gam - 1.0);
110 if(isInitialised) {
return; }
114 G4cout <<
"G4hhIonisation::InitialiseEnergyLossProcess WARNING: no "
115 <<
"base particle should be defined for the process "
148 isInitialised =
true;
155 G4cout <<
" Delta-ray will not be produced; "
virtual ~G4hhIonisation()
G4int NumberOfBinsPerDecade() const
G4double MaxKinEnergy() const
static constexpr double mm
static constexpr double proton_mass_c2
virtual void PrintInfo() override
virtual G4double MinPrimaryEnergy(const G4ParticleDefinition *p, const G4Material *, G4double cut) override
void SetStepFunction(G4double v1, G4double v2, G4bool lock=true)
static constexpr double electron_mass_c2
void SetHighEnergyLimit(G4double)
void AddEmModel(G4int, G4VEmModel *, G4VEmFluctuationModel *fluc=0, const G4Region *region=nullptr)
G4GLOB_DLL std::ostream G4cout
virtual G4bool IsApplicable(const G4ParticleDefinition &p) override
void SetProcessSubType(G4int)
void SetMaxKinEnergy(G4double e)
G4double MinKinEnergy() const
const G4String & GetProcessName() const
void SetSecondaryParticle(const G4ParticleDefinition *p)
static const G4double emax
G4bool IsShortLived() const
G4double GetPDGMass() const
T max(const T t1, const T t2)
brief Return the largest of the two arguments
static G4EmParameters * Instance()
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
G4hhIonisation(const G4String &name="hhIoni")
static G4Electron * Electron()
static constexpr double MeV
virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition *, const G4ParticleDefinition *) override
void SetLowEnergyLimit(G4double)
G4double GetPDGCharge() const
void SetBaseParticle(const G4ParticleDefinition *p)
void SetVerboseLevel(G4int value)
void SetDEDXBinning(G4int nbins)
void SetMinKinEnergy(G4double e)