37#ifndef G4RegularNavigation_HH
38#define G4RegularNavigation_HH
59 const G4int blockedNum,
62 const G4bool pLocatedOnEdge,
69 const G4double currentProposedStepLength,
77 G4int& blockedReplicaNo );
86 const G4double currentProposedStepLength,
94 G4int& blockedReplicaNo,
116 { fnormalNav = fnormnav; }
120 G4int fverbose =
false;
127 G4bool fLastStepWasZero =
false;
129 G4int fNumberZeroSteps = 0;
131 G4int fActionThreshold_NoZeroSteps = 2;
133 G4int fAbandonThreshold_NoZeroSteps = 25;
135 G4int fNoStepsAllowed = 10000;
void SetVerboseLevel(G4int level)
void CheckMode(G4bool mode)
void SetNormalNavigation(G4NormalNavigation *fnormnav)
G4bool LevelLocate(G4NavigationHistory &history, const G4VPhysicalVolume *blockedVol, const G4int blockedNum, const G4ThreeVector &globalPoint, const G4ThreeVector *globalDirection, const G4bool pLocatedOnEdge, G4ThreeVector &localPoint)
G4double ComputeSafety(const G4ThreeVector &localPoint, const G4NavigationHistory &history, const G4double pProposedMaxLength=DBL_MAX)
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)
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)