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   if(   (moveLengthSq > 0.0 ) )
 
  124     if( !fUseParallelGeometries )
 
  127       newSafety = fpMassNavigator->
ComputeSafety(position, maxLength, 
true);
 
  136     if( newSafety < maxLength )
 
  138        fLastSafety= newSafety;
 
  148     newSafety = fLastSafety; 
 
  159     if( moveVec.
mag2() > 
sqr(fLastSafety) )
 
  163       ed << 
" Safety Sphere:  Radius = " << fLastSafety;
 
  164       ed << 
" Center   = " << fLastSafetyPosition << 
G4endl;
 
  165       ed << 
" New Location :  Move   = " << moveVec.
mag2();
 
  166       ed << 
" Position = " << newPosition << 
G4endl;
 
  168                  "Unsafe Move> Asked to relocate beyond 'Safety sphere'.");
 
  173   if( !fUseParallelGeometries )
 
  179     fpPathFinder->
ReLocate( newPosition ); 
 
  186   if( !fUseParallelGeometries)
 
  193     fpPathFinder->
Locate( newPosition, newDirection ); 
 
  205   if( !fUseParallelGeometries)
 
static G4PathFinder * GetInstance()
 
void Locate(const G4ThreeVector &position, const G4ThreeVector &direction, G4bool relativeSearch=true)
 
void ReLocateWithinVolume(const G4ThreeVector &pGlobalPoint)
 
std::ostringstream G4ExceptionDescription
 
CLHEP::Hep3Vector G4ThreeVector
 
void ReLocate(const G4ThreeVector &position)
 
G4Navigator * GetNavigatorForTracking() const 
 
void Locate(const G4ThreeVector &pGlobalPoint, const G4ThreeVector &direction)
 
G4double CheckNextStep(const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double &pNewSafety)
 
virtual G4bool RecheckDistanceToCurrentBoundary(const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double CurrentProposedStepLength, G4double *prDistance, G4double *prNewSafety=0) const 
 
G4double ComputeSafety(const G4ThreeVector &globalPoint)
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
G4double ComputeSafety(const G4ThreeVector &pGlobalPoint, G4double maxRadius=DBL_MAX)
 
static G4TransportationManager * GetTransportationManager()
 
G4bool RecheckDistanceToCurrentBoundary(const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double *prDistance, G4double *prNewSafety=0) const 
 
G4int ActivateNavigator(G4Navigator *aNavigator)
 
G4double CheckNextStep(const G4ThreeVector &position, const G4ThreeVector &direction, const G4double currentMaxStep, G4double &newSafety)
 
virtual G4VPhysicalVolume * LocateGlobalPointAndSetup(const G4ThreeVector &point, const G4ThreeVector *direction=0, const G4bool pRelativeSearch=true, const G4bool ignoreDirection=true)
 
virtual G4double ComputeSafety(const G4ThreeVector &globalpoint, const G4double pProposedMaxLength=DBL_MAX, const G4bool keepState=true)
 
G4bool RecheckDistanceToCurrentBoundary(const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double *prDistance, G4double *prNewSafety=0) const 
 
void InitialiseNavigator()
 
G4VPhysicalVolume * GetWorldVolume() const 
 
virtual void LocateGlobalPointWithinVolume(const G4ThreeVector &position)