69 G4Exception(
"G4FTFParticipants::G4FTFParticipants()",
"HAD_FTF_001",
84 #ifdef debugFTFparticipant
90 if ( betta_z < 1.0
e-10 ) betta_z = 1.0e-10;
101 G4double impactX( 0.0 ), impactY( 0.0 );
105 #ifdef debugFTFparticipant
106 G4cout <<
"Hadron-nucleus or anti-baryon-nucleus interactions" <<
G4endl;
112 const G4int maxNumberOfLoops = 1000;
113 G4int loopCounter = 0;
116 std::pair< G4double, G4double > theImpactParameter;
118 impactX = theImpactParameter.first;
119 impactY = theImpactParameter.second;
121 #ifdef debugFTFparticipant
122 G4cout <<
"New interaction list," <<
" b= "
132 #ifdef debugFTFparticipant
147 nucleon->
Hit( targetSplitable );
150 #ifdef debugFTFparticipant
151 G4cout <<
"Participated nucleons #, " << TrN <<
" " <<
"Splitable Pr* Tr* "
152 << primarySplitable <<
" " << targetSplitable <<
G4endl;
159 aInteraction->
SetTarget( targetSplitable );
167 #ifdef debugFTFparticipant
174 ++loopCounter < maxNumberOfLoops );
175 if ( loopCounter >= maxNumberOfLoops ) {
176 #ifdef debugFTFparticipant
177 G4cout <<
"BAD situation: forced exit from the while loop!" <<
G4endl;
182 #ifdef debugFTFparticipant
184 <<
"\t By " << impactY/
fermi <<
"\t B "
196 #ifdef debugFTFparticipant
206 G4double impactX( 0.0 ), impactY( 0.0 );
208 const G4int maxNumberOfLoops = 1000;
209 G4int loopCounter = 0;
212 std::pair< G4double, G4double > theImpactParameter;
214 impactX = theImpactParameter.first;
215 impactY = theImpactParameter.second;
217 #ifdef debugFTFparticipant
218 G4cout <<
"New interaction list, " <<
"b "
227 #ifdef debugFTFparticipant
237 #ifdef debugFTFparticipant
251 #ifdef debugFTFparticipant
252 G4cout << G4endl <<
"An Interaction has happend" << G4endl <<
"Proj N mom " << PrNuclN
253 <<
" " << ProjectileNucleon->
Get4Momentum() <<
"-------------" << G4endl
254 <<
"Targ N mom " << TrNuclN <<
" " << TargetNucleon->
Get4Momentum() << G4endl
261 if ( ! ProjectileNucleon->
AreYouHit() ) {
264 ProjectileNucleon->
Hit( ProjectileSplitable );
272 TargetNucleon->
Hit( TargetSplitable );
273 TargetSplitable->SetStatus( 1 );
279 anInteraction->
SetTarget( TargetSplitable );
286 #ifdef debugFTFparticipant
287 G4cout <<
"Part anInteraction->GetInteractionTime() "
289 <<
"Splitable Pr* Tr* " << ProjectileSplitable <<
" "
290 << TargetSplitable <<
G4endl;
297 #ifdef debugFTFparticipant
303 #ifdef debugFTFparticipant
312 ++loopCounter < maxNumberOfLoops );
313 if ( loopCounter >= maxNumberOfLoops ) {
314 #ifdef debugFTFparticipant
315 G4cout <<
"BAD situation: forced exit from the while loop!" <<
G4endl;
323 #ifdef debugFTFparticipant
325 <<
"\t Bx " << impactX/
fermi <<
"\t By " << impactY/
fermi
326 <<
"\t B " << std::sqrt(
sqr( impactX ) +
sqr( impactY ) )/
fermi << G4endl
327 <<
"FTF participant End. #######################" << G4endl <<
G4endl;