89{
90
91 theParticleIterator->reset();
92 while( (*theParticleIterator)() ){
93 G4ParticleDefinition* particle = theParticleIterator->value();
94 G4ProcessManager* pmanager = particle->GetProcessManager();
95 G4String particleName = particle->GetParticleName();
96
97 if (particleName == "gamma") {
98 pmanager ->AddDiscreteProcess(new G4StepLimiter());
99 } else if (particleName == "e-") {
100 pmanager ->AddDiscreteProcess(new G4StepLimiter());
101 } else if (particleName == "e+") {
102 pmanager ->AddDiscreteProcess(new G4StepLimiter());
103 } else if (particleName == "mu+" ||
104 particleName == "mu-" ) {
105 pmanager ->AddDiscreteProcess(new G4StepLimiter());
106 } else if (particleName == "alpha" ||
107 particleName == "He3") {
108 pmanager ->AddDiscreteProcess(new G4StepLimiter());
109 } else if (particleName == "GenericIon") {
110 pmanager ->AddDiscreteProcess(new G4StepLimiter());
111 } else if (particleName == "pi+" ||
112 particleName == "pi-" ||
113 particleName == "kaon+" ||
114 particleName == "kaon-" ||
115 particleName == "proton" ||
116 particleName == "anti_proton" ) {
117 pmanager ->AddDiscreteProcess(new G4StepLimiter());
118 }
119
120 }
121
122}