37#ifndef G4RegularNavigation_HH
38#define G4RegularNavigation_HH
60 const G4int blockedNum,
63 const G4bool pLocatedOnEdge,
70 const G4double currentProposedStepLength,
78 G4int& blockedReplicaNo )
final;
87 const G4double currentProposedStepLength,
95 G4int& blockedReplicaNo,
113 { fnormalNav = fnormnav; }
121 G4bool fLastStepWasZero =
false;
123 G4int fNumberZeroSteps = 0;
125 G4int fActionThreshold_NoZeroSteps = 2;
127 G4int fAbandonThreshold_NoZeroSteps = 25;
129 G4int fNoStepsAllowed = 10000;
G4double ComputeStep(const G4ThreeVector &globalPoint, const G4ThreeVector &globalDirection, const G4double currentProposedStepLength, G4double &newSafety, G4NavigationHistory &history, G4bool &validExitNormal, G4ThreeVector &exitNormal, G4bool &exiting, G4bool &entering, G4VPhysicalVolume *(*pBlockedPhysical), G4int &blockedReplicaNo) final
G4bool LevelLocate(G4NavigationHistory &history, const G4VPhysicalVolume *blockedVol, const G4int blockedNum, const G4ThreeVector &globalPoint, const G4ThreeVector *globalDirection, const G4bool pLocatedOnEdge, G4ThreeVector &localPoint) final
void SetNormalNavigation(G4NormalNavigation *fnormnav)
G4double ComputeSafety(const G4ThreeVector &localPoint, const G4NavigationHistory &history, const G4double pProposedMaxLength=DBL_MAX) final
G4double ComputeStepSkippingEqualMaterials(G4ThreeVector &localPoint, const G4ThreeVector &globalDirection, const G4double currentProposedStepLength, G4double &newSafety, G4NavigationHistory &history, G4bool &validExitNormal, G4ThreeVector &exitNormal, G4bool &exiting, G4bool &entering, G4VPhysicalVolume *(*pBlockedPhysical), G4int &blockedReplicaNo, G4VPhysicalVolume *pCurrentPhysical)
G4VNavigation class holds the common navigation interface for all geometry navigator types.