73 G4ParticleTable::G4PTblDicIterator*
74 theParticleIterator = theParticleTable-> GetIterator();
78 theParticleIterator->reset();
79 while( (*theParticleIterator)() ){
80 G4ParticleDefinition* particle = theParticleIterator->value();
81 G4ProcessManager* pmanager = particle->GetProcessManager();
82 G4String particleName = particle->GetParticleName();
84 if (particleName ==
"gamma") {
86 pmanager->AddDiscreteProcess(
new G4PhotoElectricEffect);
87 pmanager->AddDiscreteProcess(
new G4ComptonScattering);
88 pmanager->AddDiscreteProcess(
new G4GammaConversion);
90 }
else if (particleName ==
"e-") {
92 pmanager->AddProcess(
new G4eMultipleScattering, -1, 1,1);
93 pmanager->AddProcess(
new G4eIonisation, -1, 2,2);
94 pmanager->AddProcess(
new G4eBremsstrahlung, -1, 3,3);
96 }
else if (particleName ==
"e+") {
98 pmanager->AddProcess(
new G4eMultipleScattering, -1, 1,1);
99 pmanager->AddProcess(
new G4eIonisation, -1, 2,2);
100 pmanager->AddProcess(
new G4eBremsstrahlung, -1, 3,3);
101 pmanager->AddProcess(
new G4eplusAnnihilation, 0,-1,4);
103 }
else if( particleName ==
"mu+" ||
104 particleName ==
"mu-" ) {
106 pmanager->AddProcess(
new G4MuMultipleScattering,-1, 1,1);
107 pmanager->AddProcess(
new G4MuIonisation, -1, 2,2);
108 pmanager->AddProcess(
new G4MuBremsstrahlung, -1, 3,3);
109 pmanager->AddProcess(
new G4MuPairProduction, -1, 4,4);
111 }
else if( particleName ==
"alpha" || particleName ==
"GenericIon" ) {
112 pmanager->AddProcess(
new G4hMultipleScattering,-1, 1,1);
113 pmanager->AddProcess(
new G4ionIonisation, -1, 2,2);
115 }
else if ((!particle->IsShortLived()) &&
116 (particle->GetPDGCharge() != 0.0) &&
117 (particle->GetParticleName() !=
"chargedgeantino")) {
119 pmanager->AddProcess(
new G4hMultipleScattering,-1,1,1);
120 pmanager->AddProcess(
new G4hIonisation, -1,2,2);