76#ifndef ExthIonisation_h
77#define ExthIonisation_h 1
79#include "G4Electron.hh"
80#include "G4PhysicalConstants.hh"
81#include "G4Positron.hh"
82#include "G4SystemOfUnits.hh"
83#include "G4VEmModel.hh"
84#include "G4VEnergyLossProcess.hh"
88class G4VEmFluctuationModel;
99 G4double
MinPrimaryEnergy(
const G4ParticleDefinition* p,
const G4Material*, G4double
cut );
106 const G4MaterialCutsCouple*,
107 const G4DynamicParticle*, G4double& );
110 const G4ParticleDefinition* );
120 const G4ParticleDefinition* theParticle;
121 const G4ParticleDefinition* theBaseParticle;
122 G4VEmFluctuationModel* flucModel;
124 G4bool isInitialised;
133 return ( p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0 * MeV && !p.IsShortLived() );
139 const G4Material*, G4double
cut ) {
140 G4double x = 0.5 *
cut / electron_mass_c2;
141 G4double y = electron_mass_c2 / mass;
142 G4double g = x * y + sqrt( ( 1. + x ) * ( 1. + x * y * y ) );
143 return mass * ( g - 1.0 );
146inline std::vector<G4DynamicParticle*>*
148 const G4DynamicParticle* dp, G4double& tcut ) {
*********Class see also m_nmax DOUBLE PRECISION m_MasPhot DOUBLE PRECISION m_phsu DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_r2 DOUBLE PRECISION m_WtMass INTEGER m_nmax INTEGER m_Nevgen INTEGER m_IsFSR INTEGER m_MarTot *COMMON c_KarFin $ !Output file $ !Event serial number $ !alpha QED at Thomson limit $ !minimum energy at CMS for remooval $ !infrared cut
virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition *, const G4ParticleDefinition *)
G4bool IsApplicable(const G4ParticleDefinition &p)
ExthIonisation(const G4String &name="ExthIoni")
G4double MinPrimaryEnergy(const G4ParticleDefinition *p, const G4Material *, G4double cut)
std::vector< G4DynamicParticle * > * SecondariesPostStep(G4VEmModel *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double &)