11 #include <simulation/physicslist/Geant4ePhysics.h>
13 #include <G4ParticleTable.hh>
14 #include <G4ParticleDefinition.hh>
15 #include <G4ProcessManager.hh>
16 #include <G4ComptonScattering.hh>
17 #include <G4GammaConversion.hh>
18 #include <G4PhotoElectricEffect.hh>
19 #include <simulation/kernel/ExtStepLengthLimitProcess.h>
20 #include <simulation/kernel/ExtMagFieldLimitProcess.h>
21 #include <simulation/kernel/ExtEnergyLoss.h>
22 #include <simulation/kernel/ExtMessenger.h>
28 using namespace Simulation;
30 Geant4ePhysics::Geant4ePhysics() :
32 m_StepLengthLimitProcess(NULL), m_MagFieldLimitProcess(NULL),
33 m_ELossProcess(NULL), m_Messenger(NULL)
209 G4ParticleTable* myParticleTable = G4ParticleTable::GetParticleTable();
211 G4ParticleTable::G4PTblDicIterator* myParticleIterator = myParticleTable->GetIterator();
212 myParticleIterator->reset();
213 while ((*myParticleIterator)()) {
214 G4ParticleDefinition* particle = myParticleIterator->value();
215 G4ProcessManager* pmanager = particle->GetProcessManager();
216 G4String particleName = particle->GetParticleName();
217 if (particleName.compare(0, 4,
"g4e_") == 0) {
218 if (particleName ==
"g4e_gamma") {
219 pmanager->AddDiscreteProcess(
new G4GammaConversion());
220 pmanager->AddDiscreteProcess(
new G4ComptonScattering());
221 pmanager->AddDiscreteProcess(
new G4PhotoElectricEffect());