86   #ifdef debugFTFparticipant 
   92   if ( betta_z < 1.0e-10 ) betta_z = 1.0e-10;
 
  103     G4double impactX( 0.0 ), impactY( 0.0 );
 
  107     #ifdef debugFTFparticipant 
  108     G4cout << 
"Hadron-nucleus or anti-baryon-nucleus interactions" << 
G4endl;
 
  114     const G4int maxNumberOfLoops = 1000;
 
  115     G4int loopCounter = 0;                                          
 
  118       std::pair< G4double, G4double > theImpactParameter;
 
  120       impactX = theImpactParameter.first; 
 
  121       impactY = theImpactParameter.second;
 
  123       #ifdef debugFTFparticipant 
  124       G4cout << 
"New interaction list," << 
" b= "  
  134       #ifdef debugFTFparticipant 
  149             nucleon->
Hit( targetSplitable );
 
  152             #ifdef debugFTFparticipant 
  153             G4cout << 
"Participated nucleons #, " << TrN << 
" " << 
"Splitable Pr* Tr* " 
  154                    << primarySplitable << 
" " << targetSplitable << 
G4endl;
 
  161           aInteraction->
SetTarget( targetSplitable );
 
  169         #ifdef debugFTFparticipant 
  176               ++loopCounter < maxNumberOfLoops );  
 
  177     if ( loopCounter >= maxNumberOfLoops ) {
 
  178       #ifdef debugFTFparticipant 
  179       G4cout << 
"BAD situation: forced exit from the while loop!" << 
G4endl;
 
  184     #ifdef debugFTFparticipant 
  186            << 
"\t By " << impactY/
fermi << 
"\t B "  
  198   #ifdef debugFTFparticipant 
  208   G4double impactX( 0.0 ), impactY( 0.0 );
 
  210   const G4int maxNumberOfLoops = 1000;
 
  211   G4int loopCounter = 0;
 
  214     std::pair< G4double, G4double > theImpactParameter;
 
  216     impactX = theImpactParameter.first; 
 
  217     impactY = theImpactParameter.second;
 
  219     #ifdef debugFTFparticipant 
  220     G4cout << 
"New interaction list, " << 
"b " 
  229     #ifdef debugFTFparticipant 
  239       #ifdef debugFTFparticipant 
  253           #ifdef debugFTFparticipant 
  254           G4cout << G4endl << 
"An Interaction has happend" << G4endl << 
"Proj N mom " << PrNuclN
 
  255                  << 
" " << ProjectileNucleon->
Get4Momentum() << 
"-------------" << G4endl
 
  256                  << 
"Targ N mom " << TrNuclN << 
" " << TargetNucleon->
Get4Momentum() << G4endl
 
  263           if ( ! ProjectileNucleon->
AreYouHit() ) { 
 
  266             ProjectileNucleon->
Hit( ProjectileSplitable );
 
  274             TargetNucleon->
Hit( TargetSplitable );
 
  275             TargetSplitable->SetStatus( 1 );   
 
  281           anInteraction->
SetTarget( TargetSplitable );
 
  288           #ifdef debugFTFparticipant 
  289           G4cout << 
"Part anInteraction->GetInteractionTime() "  
  291                  << 
"Splitable Pr* Tr* " << ProjectileSplitable << 
" "  
  292                  << TargetSplitable << 
G4endl;
 
  299         #ifdef debugFTFparticipant 
  305       #ifdef debugFTFparticipant 
  314             ++loopCounter < maxNumberOfLoops );  
 
  315   if ( loopCounter >= maxNumberOfLoops ) {
 
  316     #ifdef debugFTFparticipant 
  317     G4cout << 
"BAD situation: forced exit from the while loop!" << 
G4endl;
 
  325   #ifdef debugFTFparticipant 
  327          << 
"\t Bx " << impactX/
fermi << 
"\t By " << impactY/
fermi 
  328          << 
"\t B " << std::sqrt( 
sqr( impactX ) + 
sqr( impactY ) )/
fermi << G4endl
 
  329          << 
"FTF participant End. #######################" << G4endl << 
G4endl;
 
std::vector< G4InteractionContent * > theInteractions
 
virtual G4bool StartLoop()=0
 
void SetInteractionTime(G4double aValue)
 
void ShiftInteractionTime()
 
virtual const G4LorentzVector & Get4Momentum() const 
 
virtual const G4ThreeVector & GetPosition() const 
 
void SetStatus(const G4int aStatus)
 
G4VSplitableHadron * GetSplitableHadron() const 
 
virtual G4double GetOuterRadius()=0
 
void SetProjectileNucleon(G4Nucleon *aNucleon)
 
G4GLOB_DLL std::ostream G4cout
 
G4bool nucleon(G4int ityp)
 
G4V3DNucleus * theProjectileNucleus
 
G4V3DNucleus * theNucleus
 
std::pair< G4double, G4double > ChooseImpactXandY(G4double maxImpact)
 
G4double GetTotalEnergy() const 
 
void SetStatus(G4int aValue)
 
void SetPosition(const G4ThreeVector &aPosition)
 
G4ThreeVector GetMomentum() const 
 
const G4ThreeVector & GetPosition() const 
 
G4double GetProbabilityOfInteraction(const G4double impactsquare)
 
virtual G4Nucleon * GetNextNucleon()=0
 
void Hit(G4VSplitableHadron *aHit)
 
static constexpr double fermi
 
void SortInteractionsIncT()
 
G4double GetInteractionTime() const 
 
virtual void DoTranslation(const G4ThreeVector &theShift)=0
 
void SetTargetNucleon(G4Nucleon *aNucleon)
 
void SetTarget(G4VSplitableHadron *aTarget)