72 G4ParticleTable::G4PTblDicIterator*
73 theParticleIterator = theParticleTable-> GetIterator();
77 theParticleIterator->reset();
78 while( (*theParticleIterator)() ){
79 G4ParticleDefinition* particle = theParticleIterator->value();
80 G4ProcessManager* pmanager = particle->GetProcessManager();
81 G4String particleName = particle->GetParticleName();
83 if (particleName ==
"gamma") {
85 pmanager->AddDiscreteProcess(
new G4PhotoElectricEffect);
86 pmanager->AddDiscreteProcess(
new G4ComptonScattering);
87 pmanager->AddDiscreteProcess(
new G4GammaConversion);
89 }
else if (particleName ==
"e-") {
91 pmanager->AddProcess(
new G4eMultipleScattering, -1, 1,1);
92 pmanager->AddProcess(
new G4eIonisation, -1, 2,2);
93 pmanager->AddProcess(
new G4eBremsstrahlung, -1, 3,3);
95 }
else if (particleName ==
"e+") {
97 pmanager->AddProcess(
new G4eMultipleScattering, -1, 1,1);
98 pmanager->AddProcess(
new G4eIonisation, -1, 2,2);
99 pmanager->AddProcess(
new G4eBremsstrahlung, -1, 3,3);
100 pmanager->AddProcess(
new G4eplusAnnihilation, 0,-1,4);
102 }
else if( particleName ==
"mu+" ||
103 particleName ==
"mu-" ) {
105 pmanager->AddProcess(
new G4MuMultipleScattering,-1, 1,1);
106 pmanager->AddProcess(
new G4MuIonisation, -1, 2,2);
107 pmanager->AddProcess(
new G4MuBremsstrahlung, -1, 3,3);
108 pmanager->AddProcess(
new G4MuPairProduction, -1, 4,4);
110 }
else if( particleName ==
"alpha" || particleName ==
"GenericIon" ) {
111 pmanager->AddProcess(
new G4hMultipleScattering,-1, 1,1);
112 pmanager->AddProcess(
new G4ionIonisation, -1, 2,2);
114 }
else if ((!particle->IsShortLived()) &&
115 (particle->GetPDGCharge() != 0.0) &&
116 (particle->GetParticleName() !=
"chargedgeantino")) {
118 pmanager->AddProcess(
new G4hMultipleScattering,-1,1,1);
119 pmanager->AddProcess(
new G4hIonisation, -1,2,2);