///////////////////////////////////////////////////////////////////////// // G4Tutorial: // // PhysicsEMElectronEEDL.cc // // Assembling electromagnetic physics processes for electrons. // // The considered processes are G4MultipleScattering, G4LowEnergyIonisation // and G4LowEnergyBremsstrahlung. // ///////////////////////////////////////////////////////////////////////// #include "PhysicsEMElectronEEDL.hh" #include "G4ProcessManager.hh" #include "G4ParticleDefinition.hh" #include "G4MultipleScattering.hh" #include "G4LowEnergyIonisation.hh" #include "G4LowEnergyBremsstrahlung.hh" #include "G4StepLimiter.hh" void PhysicsEMElectronEEDL::ConstructProcess() { // **************** // *** Electron *** // **************** // The considered physics processes are instantiated: G4MultipleScattering* elecMultipScatProcess = new G4MultipleScattering(); G4LowEnergyIonisation* elecIonisationProcess = new G4LowEnergyIonisation(); G4LowEnergyBremsstrahlung* elecBremsstrProcess = new G4LowEnergyBremsstrahlung(); // The step limiter process is instantiated: G4StepLimiter* elecStepLimiter = new G4StepLimiter(); // Finally, the processes are added to the particles' process manager: G4ParticleDefinition* particle = G4Electron::Electron(); G4ProcessManager* processManager = particle -> GetProcessManager(); processManager -> AddProcess(elecMultipScatProcess, -1, 1, 1); processManager -> AddProcess(elecIonisationProcess, -1, 2, 2); processManager -> AddProcess(elecBremsstrProcess, -1, -1, 3); processManager -> AddProcess(elecStepLimiter, -1, -1, 4); }