47 #ifndef G4ITPATHFINDER_HH      48 #define G4ITPATHFINDER_HH  1   130         fLastLocatedPosition= Big3Vector;
   131         fSafetyLocation= Big3Vector;
   132         fPreSafetyLocation= Big3Vector;
   133         fPreStepLocation= Big3Vector;
   135         fPreSafetyMinValue=  -1.0;
   136         fMinSafety_PreStepPt= -1.0;
   137         fMinSafety_atSafLocation= -1.0;
   140         fPreStepCenterRenewed= 
false;
   142         fNoGeometriesLimiting= 0;
   144         for( 
G4int num=0; num< G4ITNavigator::fMaxNav; ++num )
   146             fLimitTruth[num] = 
false;
   148             fCurrentStepSize[num] = -1.0;
   149             fLocatedVolume[num] = 0;
   150             fPreSafetyValues[num]= -1.0;
   151             fCurrentPreStepSafety[num] = -1.0;
   152             fNewSafetyComputed[num]= -1.0;
   167             G4double  pCurrentProposedStepLength,
   182             G4bool  relativeSearch=
true);
   203     inline G4bool   IsParticleLooping() 
const;
   205     inline G4double GetCurrentSafety() 
const;
   207     inline G4double GetMinimumStep() 
const;
   210     inline unsigned int  GetNumberGeometriesLimitingStep() 
const;
   221     void EnableParallelNavigation( 
G4bool enableChoice=
true );
   232     inline G4int   GetMaxLoopCount() 
const;
   233     inline void    SetMaxLoopCount( 
G4int new_max );
   239     inline void MovePoint();
   251     void PushPostSafetyToPreSafety();
   287     inline G4ITNavigator* GetNavigator(
G4int n) 
const;
   301     G4ITNavigator*  fpNavigator[G4ITNavigator::fMaxNav];
   321     if( (navId < G4ITNavigator::fMaxNav) && (navId >=0) ) { vol= fpTrackState->fLocatedVolume[navId]; }
   327     G4int old= fVerboseLevel;  fVerboseLevel= newLevel; 
return old;
   332     return fpTrackState->fMinStep;
   337     unsigned int noGeometries=fpTrackState->fNoGeometriesLimiting;
   343     return fpTrackState->fMinSafety_PreStepPt;
   348     fpTrackState->fRelocatedPoint= 
true;
   353     if( (n>fNoActiveNavigators)||(n<0)) { n=0; }
   354     return fpNavigator[
n];
   359     globalCenterPoint= fpTrackState->fSafetyLocation;
   361     return  fpTrackState->fNewSafetyComputed[ navId ];
   368     globalCenterPoint= fpTrackState->fPreSafetyLocation;
   369     minSafety=         fpTrackState->fPreSafetyMinValue;
   371     return  fpTrackState->fPreSafetyValues[ navId ];
 G4ITMultiNavigator * fpMultiNavigator
 
#define fCurrentPreStepSafety
 
G4double ObtainSafety(G4int navId, G4ThreeVector &globalCenterPoint)
 
G4double fMinSafety_PreStepPt
 
G4double LastPreSafety(G4int navId, G4ThreeVector &globalCenterPoint, G4double &minSafety)
 
static const G4double kInfinity
 
CLHEP::Hep3Vector G4ThreeVector
 
G4bool fPreStepCenterRenewed
 
G4ThreeVector fSafetyLocation
 
G4double GetCurrentSafety() const
 
G4ThreeVector fLastLocatedPosition
 
#define fFieldExertedForce
 
static G4ThreadLocal G4ITPathFinder * fpPathFinder
 
unsigned int GetNumberGeometriesLimitingStep() const
 
G4int fNoGeometriesLimiting
 
static const G4double minSafety
 
G4bool fFieldExertedForce
 
G4double fMinSafety_atSafLocation
 
G4ITNavigator * GetNavigator(G4int n) const
 
G4int fNoActiveNavigators
 
G4double GetMinimumStep() const
 
std::map< G4String, G4AttDef > * GetInstance(const G4String &storeKey, G4bool &isNew)
 
G4ThreeVector fPreStepLocation
 
G4int SetVerboseLevel(G4int lev=-1)
 
G4ThreeVector fPreSafetyLocation
 
G4double fPreSafetyMinValue
 
G4ITTransportationManager * fpTransportManager
 
G4VPhysicalVolume * GetLocatedVolume(G4int navId) const
 
#define fNewSafetyComputed