57 #ifndef G4ITNAVIGATOR_HH 58 #define G4ITNAVIGATOR_HH 121 void NewNavigatorState();
123 void ResetNavigatorState();
126 void CheckNavigatorState()
const;
128 inline std::shared_ptr<G4ITNavigatorState_Lock2> GetSnapshotOfState();
129 inline void ResetFromSnapshot(std::shared_ptr<G4ITNavigatorState_Lock2>);
134 const G4double pCurrentProposedStepLength,
151 const G4double pCurrentProposedStepLength,
171 const G4bool pRelativeSearch=
true,
172 const G4bool ignoreDirection=
true);
192 void GetRandomInCurrentVolume(
G4ThreeVector& rndmPoint)
const;
205 inline void LocateGlobalPointAndUpdateTouchableHandle(
209 const G4bool RelativeSearch =
true);
214 inline void LocateGlobalPointAndUpdateTouchable(
218 const G4bool RelativeSearch =
true);
223 inline void LocateGlobalPointAndUpdateTouchable(
226 const G4bool RelativeSearch =
true);
229 inline void SetGeometricallyLimitedStep();
235 const G4bool keepState =
true);
245 virtual G4bool RecheckDistanceToCurrentBoundary(
248 const G4double CurrentProposedStepLength,
293 inline G4int GetVerboseLevel()
const;
294 inline void SetVerboseLevel(
G4int level);
298 inline G4bool IsActive()
const;
300 inline void Activate(
G4bool flag);
303 inline G4bool EnteredDaughterVolume()
const;
312 inline G4bool ExitedMotherVolume()
const;
315 inline void CheckMode(
G4bool mode);
319 inline G4bool IsCheckModeActive()
const;
320 inline void SetPushVerbosity(
G4bool mode);
323 void PrintState()
const;
337 inline void ResetStackAndState();
342 inline G4int SeverityOfZeroStepping(
G4int* noZeroSteps )
const;
365 inline void EnableBestSafety(
G4bool value=
false );
379 virtual void ResetState();
391 virtual void SetupHierarchy();
444 void ResetStackAndState();
604 #define CheckNavigatorStateIsValid() \ 605 if(fpNavigatorState == 0) \ 607 G4ExceptionDescription exceptionDescription; \ 608 exceptionDescription << "The navigator state is NULL. "; \ 609 exceptionDescription << "Either NewNavigatorStateAndLocate was not called "; \ 610 exceptionDescription << "or the provided navigator state was already NULL."; \ 611 G4Exception((G4String("G4Navigator")+G4String(__FUNCTION__)).c_str(),\ 612 "NavigatorStateNotValid",FatalException,exceptionDescription); \ 615 #include "G4ITNavigator2.icc" G4bool sLocatedOutsideWorld
G4bool fChangedGrandMotherRefFrame
G4ThreeVector fGrandMotherExitNormal
G4VPhysicalVolume * spBlockedPhysicalVolume
G4ThreeVector fExitNormal
G4bool fCalculatedExitNormal
G4VoxelSafety * fpVoxelSafety
G4ThreeVector fLastLocatedPointLocal
G4VPhysicalVolume * fTopPhysical
virtual ~G4NavigatorState()
G4NavigatorState * fpNavigatorState
G4int fAbandonThreshold_NoZeroSteps
G4ThreeVector fExitNormalGlobalFrame
virtual ~G4SaveNavigatorState()
G4bool fLocatedOutsideWorld
G4ThreeVector fLastStepEndPointLocal
G4ITNavigatorState_Lock2(const G4ITNavigatorState_Lock2 &)
G4ThreeVector fPreviousSftOrigin
G4RegularNavigation fregularNav
G4NormalNavigation fnormalNav
G4ReplicaNavigation freplicaNav
G4ThreeVector sPreviousSftOrigin
std::ostream & operator<<(std::ostream &ostr, const G4String &astr)
G4ParameterisedNavigation fparamNav
G4bool fLastTriedStepComputation
G4int fActionThreshold_NoZeroSteps
G4VoxelNavigation fvoxelNav
G4ThreeVector sExitNormal
G4NavigationHistory fHistory
G4ITNavigatorState_Lock2()
G4ThreeVector sLastLocatedPointLocal
G4ThreeVector fStepEndPoint
G4bool sWasLimitedByGeometry
virtual ~G4ITNavigatorState_Lock2()
G4VPhysicalVolume * fBlockedPhysicalVolume
G4bool fWasLimitedByGeometry
RegisterTrackState(G4ITSafetyHelper, State) inline void G4ITSafetyHelper