85 delete theElementaryParticleCollider;
86 delete theIntraNucleiCascader;
87 delete theDeexcitation;
107 delete theDeexcitation;
113 delete theDeexcitation;
125 const G4int itry_max = 100;
130 G4cout <<
" InuclCollider -> particle on particle collision" <<
G4endl;
132 theElementaryParticleCollider->
collide(bullet, target, globalOutput);
143 G4cerr <<
" InuclCollider -> no collision possible " <<
G4endl;
152 G4cerr <<
" InuclCollider -> ERROR target is not a nucleus " <<
G4endl;
167 G4cerr <<
" InuclCollider -> ERROR bullet is not a hadron " <<
G4endl;
173 G4cerr <<
" InuclCollider -> ERROR can not collide with "
179 btype = pbullet->
type();
184 G4cerr <<
" InuclCollider -> ERROR bullet is not a nucleus " <<
G4endl;
189 ab = nbullet->
getA();
190 zb = nbullet->
getZ();
200 G4cout <<
" InuclCollider -> inelastic interaction is impossible\n"
201 <<
" due to the coulomb barirer " <<
G4endl;
210 G4cout <<
" degenerated? " << convertToTargetRestFrame.
trivial()
225 while (itry < itry_max) {
230 globalOutput.
reset();
233 theIntraNucleiCascader->
collide(zbullet, target, output);
241 G4cout <<
" itry " << itry <<
" finished, moving to lab frame" <<
G4endl;
246 globalOutput.
add(output);
253 G4cout <<
" InuclCollider output after trials " << itry <<
G4endl;
258 G4cerr <<
" InuclCollider setOnShell failed." <<
G4endl;
263 G4cout <<
" InuclCollider -> can not generate acceptable inter. after "
264 << itry_max <<
" attempts " <<
G4endl;
285 globalOutput.
reset();
288 theIntraNucleiCascader->
rescatter(bullet, theSecondaries, theNucleus,
296 globalOutput.
add(output);
299 G4cout <<
" InuclCollider output after trials " << itry <<
G4endl;
307 if (fragment.
GetA() <= 1)
return;
313 const G4int itry_max = 10;
319 theDeexcitation->
collide(0, &frag, DEXoutput);
320 }
while (!
validateOutput(0, &frag, DEXoutput) && (++itry < itry_max));
323 globalOutput.
add(DEXoutput);