9#include <simulation/physicslist/Geant4ePhysics.h>
11#include <G4ParticleTable.hh>
12#include <G4ParticleDefinition.hh>
13#include <G4ProcessManager.hh>
14#include <G4ComptonScattering.hh>
15#include <G4GammaConversion.hh>
16#include <G4PhotoElectricEffect.hh>
17#include <simulation/kernel/ExtStepLengthLimitProcess.h>
18#include <simulation/kernel/ExtMagFieldLimitProcess.h>
19#include <simulation/kernel/ExtEnergyLoss.h>
20#include <simulation/kernel/ExtMessenger.h>
26using namespace Simulation;
201 G4ParticleTable* myParticleTable = G4ParticleTable::GetParticleTable();
203 G4ParticleTable::G4PTblDicIterator* myParticleIterator = myParticleTable->GetIterator();
204 myParticleIterator->reset();
205 while ((*myParticleIterator)()) {
206 G4ParticleDefinition* particle = myParticleIterator->value();
207 G4ProcessManager* pmanager = particle->GetProcessManager();
208 G4String particleName = particle->GetParticleName();
209 if (particleName.compare(0, 4,
"g4e_") == 0) {
210 if (particleName ==
"g4e_gamma") {
211 pmanager->AddDiscreteProcess(
new G4GammaConversion());
212 pmanager->AddDiscreteProcess(
new G4ComptonScattering());
213 pmanager->AddDiscreteProcess(
new G4PhotoElectricEffect());
Define physics process to calculate energy loss without fluctuations.
Defines the physics process that avoids hit invocation in sensitive volumes.
Define the mechanism by which the user can communicate with the geant4e extrapolator using geant4 UI ...
Defines the physics process that avoids hit invocation in sensitive volumes.
ExtStepLengthLimitProcess * m_StepLengthLimitProcess
Process that limits the geant4e step length.
ExtMagFieldLimitProcess * m_MagFieldLimitProcess
Process that limits the geant4e step length in magnetic field.
virtual void ConstructParticle() override
ConstructParticle() defines the geant4e-specific particles.
ExtMessenger * m_Messenger
Pointer to the ExtMessenger that is used to control geant4e.
virtual ~Geant4ePhysics()
The Geant4ePhysics destructor.
Geant4ePhysics()
The Geant4ePhysics constructor.
virtual void ConstructProcess() override
ConstructProcess() defines the geant4e-specific processes.
ExtEnergyLoss * m_ELossProcess
Process that limits the geant4e step length due to energy loss.
Abstract base class for different kinds of events.