35#ifndef G4VEXTERNALNAVIGATION_HH
36#define G4VEXTERNALNAVIGATION_HH
56 const G4int blockedNum,
59 const G4bool pLocatedOnEdge,
70 const G4double currentProposedStepLength,
78 G4int& blockedReplicaNo ) = 0;
virtual void RelocateWithinVolume(G4VPhysicalVolume *motherPhysical, const G4ThreeVector &localPoint)
G4int GetVerboseLevel() const
virtual G4double ComputeStep(const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double currentProposedStepLength, G4double &newSafety, G4NavigationHistory &history, G4bool &validExitNormal, G4ThreeVector &exitNormal, G4bool &exiting, G4bool &entering, G4VPhysicalVolume **pBlockedPhysical, G4int &blockedReplicaNo)=0
virtual G4double ComputeSafety(const G4ThreeVector &globalpoint, const G4NavigationHistory &history, const G4double pMaxLength=DBL_MAX)=0
virtual EInside Inside(const G4VSolid *solid, const G4ThreeVector &position, const G4ThreeVector &direction)
virtual ~G4VExternalNavigation()
virtual G4bool LevelLocate(G4NavigationHistory &history, const G4VPhysicalVolume *blockedVol, const G4int blockedNum, const G4ThreeVector &globalPoint, const G4ThreeVector *globalDirection, const G4bool pLocatedOnEdge, G4ThreeVector &localPoint)=0
void SetVerboseLevel(G4int level)
virtual G4VExternalNavigation * Clone()=0
void CheckMode(G4bool mode)