47 {
48
49 AddTransportation();
50
51 auto theParticleIterator = GetParticleIterator();
52
53 theParticleIterator->reset();
54 while ( ( *theParticleIterator )() )
55 {
56 G4ParticleDefinition* particle = theParticleIterator->value();
57 G4ProcessManager* pmanager = particle->GetProcessManager();
58 G4String particleName = particle->GetParticleName();
59 if ( particleName == "e-" || particleName == "e+" )
60 {
61
62
63 pmanager->AddProcess( new ExteIonisation, -1, 1, 1 );
64
65 }
66 else if ( particleName == "mu-" || particleName == "mu+" )
67 {
68
69
70 pmanager->AddProcess( new ExtMuIonisation, -1, 1, 1 );
71
72 }
73 else if ( ( !particle->IsShortLived() ) && ( particle->GetPDGCharge() != 0.0 ) &&
74 ( particleName != "chargedgeantino" ) )
75 {
76
77
78
79 pmanager->AddProcess( new ExthIonisation, -1, 1, 1 );
80 }
81 }
82}