43  : fUseParallelGeometries(false),     
 
   46    fLastSafetyPosition(0.0,0.0,0.0),
 
   75                 "Found that existing tracking Navigator has NULL world"); 
 
  106   fLastSafety         = newSafety;
 
  121   G4double moveLengthSq = (position-fLastSafetyPosition).mag2();
 
  122   G4double safeDistance = fRecomputeFactor*fLastSafety; 
 
  123   if(   (moveLengthSq > 0.0 )
 
  124      && (moveLengthSq >= safeDistance*safeDistance))    
 
  128     if( !fUseParallelGeometries )
 
  131       fLastSafety = fpMassNavigator->
ComputeSafety(position, maxLength, 
true);
 
  138     newSafety = fLastSafety;
 
  145     if( moveLengthSq > 0.0 )
 
  147       moveLength= std::sqrt(moveLengthSq); 
 
  149     newSafety = fLastSafety-moveLength;
 
  160     if( moveVec.
mag2() > 
sqr(fLastSafety) )
 
  164       ed << 
" Safety Sphere:  Radius = " << fLastSafety;
 
  165       ed << 
" Center   = " << fLastSafetyPosition << 
G4endl;
 
  166       ed << 
" New Location :  Move   = " << moveVec.
mag2();
 
  167       ed << 
" Position = " << newPosition << 
G4endl;
 
  169                  "Unsafe Move> Asked to relocate beyond 'Safety sphere'.");
 
  174   if( !fUseParallelGeometries )
 
  180     fpPathFinder->
ReLocate( newPosition ); 
 
  187   if( !fUseParallelGeometries)
 
  194     fpPathFinder->
Locate( newPosition, newDirection );