70 G4GammaConversionToMuons* gammaToMuPair =
new G4GammaConversionToMuons();
71 G4AutoDelete::Register(gammaToMuPair);
74 G4AnnihiToMuPair* ePlusToMuPair =
new G4AnnihiToMuPair();
75 G4AutoDelete::Register(ePlusToMuPair);
76 G4eeToHadrons* eeToHadrons =
new G4eeToHadrons();
77 G4AutoDelete::Register(eeToHadrons);
80 G4MuMultipleScattering* mumsc =
nullptr;
81 G4MuIonisation* muion =
nullptr;
82 G4MuBremsstrahlung* mubrm =
nullptr;
85 mumsc =
new G4MuMultipleScattering();
86 G4AutoDelete::Register(mumsc);
87 muion =
new G4MuIonisation();
88 G4AutoDelete::Register(muion);
89 mubrm =
new G4MuBremsstrahlung();
90 G4AutoDelete::Register(mubrm);
92 G4MuPairProduction* mupar =
new G4MuPairProduction();
93 G4AutoDelete::Register(mupar);
95 G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper();
97#if G4VERSION_NUMBER > 1029
98 auto aParticleIterator = GetParticleIterator();
100 aParticleIterator->reset();
102 while( (*aParticleIterator)() )
104 G4ParticleDefinition* particle = aParticleIterator->value();
105 G4String particleName = particle->GetParticleName();
107 if(particleName ==
"gamma")
109 ph->RegisterProcess(gammaToMuPair, particle);
112 if(particleName ==
"e+")
114 ph->RegisterProcess(ePlusToMuPair, particle);
115 ph->RegisterProcess(eeToHadrons, particle);
118 if(particleName ==
"mu+" || particleName ==
"mu-")
122 ph->RegisterProcess(mumsc, particle);
123 ph->RegisterProcess(muion, particle);
124 ph->RegisterProcess(mubrm, particle);
125 ph->RegisterProcess(mupar, particle);