31 G4double
ComputeStep(
const G4ThreeVector& globalPoint,
const G4ThreeVector& direction,
32 const G4double proposedStepLength, G4double& newSafety)
override;
35 const G4TouchableHistory& history)
override;
38 const G4bool relativeSearch =
true,
39 const G4bool ignoreDirection =
true)
override;
43 G4double
ComputeSafety(
const G4ThreeVector& globalPoint,
const G4double proposedMaxLength = DBL_MAX,
44 const G4bool keepState =
true)
override;
50 vecgeom::NavigationState mCurState;
51 vecgeom::NavigationState mNextState;
52 vecgeom::NavigationState mPrevState;
53 vecgeom::NavigationState mEmptyState;
55 bool mZeroSafety =
false;
56 bool mHaveNextState =
false;
58 G4ThreeVector mNextPoint{-1e8, -1e8, -1e8};
59 G4ThreeVector mLastDirection{0, 0, 1};
61 bool mWouldEnter =
false;
62 bool mWouldExit =
false;
63 bool mOnBoundary =
false;
64 bool mForceReInit =
false;
65 bool mCrossed =
false;
66 bool mExitBlockPending =
false;
67 G4ThreeVector mLocatedPoint{-1e8, -1e8, -1e8};
70 long mNudgedSteps = 0;
71 long mGlobalRelocates = 0;