77 pMap->
Add(fCoulombScattering, kPCoulombScattering,
kMULS);
79 pMap->
Add(fBremsstrahlung, kPBrem,
kBREM );
80 pMap->
Add(fPairProdByCharged, kPPair,
kPAIR);
81 pMap->
Add(fAnnihilation, kPAnnihilation,
kANNI);
82 pMap->
Add(fAnnihilationToMuMu, kPAnnihilation,
kANNI);
84 pMap->
Add(fAnnihilationToHadrons, kPAnnihilation,
kANNI);
86 pMap->
Add(fNuclearStopping, kPCoulombScattering,
kMULS);
90 pMap->
Add(fMultipleScattering, kPMultipleScattering,
kMULS);
92 pMap->
Add(fRayleigh, kPRayleigh,
kRAYL);
93 pMap->
Add(fPhotoElectricEffect, kPPhotoelectric,
kPHOT);
94 pMap->
Add(fComptonScattering, kPCompton,
kCOMP);
95 pMap->
Add(fGammaConversion, kPPair,
kPAIR);
96 pMap->
Add(fGammaConversionToMuMu, kPPair,
kPAIR);
100 pMap->
Add(fAnnihilationToTauTau, kPAnnihilation,
kANNI);
103 pMap->
Add(fCerenkov, kPCerenkov,
kCKOV);
105 pMap->
Add(fSynchrotronRadiation, kPSynchrotron,
kSYNC);
113 pMap->
Add(fOpAbsorption, kPLightAbsorption,
kLABS);
114 pMap->
Add(fOpBoundary, kPLightScattering,
kLABS);
115 pMap->
Add(fOpRayleigh, kPRayleigh,
kRAYL);
127 pMap->
Add(fHadronElastic, kPHElastic,
kHADR);
129 pMap->
Add(fHadronInelastic, kPHInhelastic,
kHADR);
130 pMap->
Add(fCapture, kPNCapture,
kHADR);
131 pMap->
Add(fMuAtomicCapture, kPHadronic,
kHADR);
134 pMap->
Add(fFission, kPNuclearFission,
kHADR);
135 pMap->
Add(fHadronAtRest, kPHadronic,
kHADR);
138 pMap->
Add(fLeptonAtRest, kPHadronic,
kHADR);
140 pMap->
Add(fChargeExchange, kPHadronic,
kHADR);
141 pMap->
Add(fNuOscillation, kPHadronic,
kHADR);
142 pMap->
Add(fNuElectron, kPHadronic,
kHADR);
143 pMap->
Add(fNuNucleus, kPHadronic,
kHADR);
144 pMap->
Add(fRadioactiveDecay, kPDecay,
kDCAY);
145 pMap->
Add(fEMDissociation, kPHadronic,
kHADR);
156 pMap->
Add(DECAY_WithSpin, kPDecay,
kDCAY);
157 pMap->
Add(DECAY_PionMakeSpin, kPDecay,
kDCAY);
159 pMap->
Add(DECAY_Unknown, kPDecay,
kDCAY);
160 pMap->
Add(DECAY_MuAtom, kPDecay,
kDCAY);
161 pMap->
Add(DECAY_External, kPDecay,
kDCAY);
251 G4cout <<
"TG4ProcessMapPhysics::ConstructProcess: " << G4endl;
255 G4bool success =
true;
257 auto aParticleIterator = GetParticleIterator();
258 aParticleIterator->reset();
259 while ((*aParticleIterator)()) {
261 if (!aParticleIterator->value()->GetProcessManager())
continue;
264 aParticleIterator->value()->GetProcessManager()->GetProcessList();
266 for (
size_t i = 0; i < processVector->length(); i++) {
270 if ((*processVector)[i]->GetProcessSubType() == fHadronInelastic) {
274 auto newCodes = pMap->GetCodes((*processVector)[i]);
275 if (newCodes.first == kPNoProcess) {
276 G4String text =
"Unknown process codes for ";
277 text += (*processVector)[i]->GetProcessName();
278 text +=
" process type: ";
279 text += std::to_string((*processVector)[i]->GetProcessType());
280 text +=
" process sub type: ";
281 text += std::to_string((*processVector)[i]->GetProcessSubType());
290 G4cout <<
"### Processes mapped to VMC codes ok" << G4endl;
292 G4cout <<
"### Processes mapped to VMC codes: some proceesses unknown."