47 #ifndef G4NAVIGATOR_HH
48 #define G4NAVIGATOR_HH
87 const G4double pCurrentProposedStepLength,
104 const G4double pCurrentProposedStepLength,
125 const G4bool pRelativeSearch=
true,
126 const G4bool ignoreDirection=
true);
157 const G4bool RelativeSearch =
true);
166 const G4bool RelativeSearch =
true);
174 const G4bool RelativeSearch =
true);
183 const G4bool keepState =
true);
196 const G4double CurrentProposedStepLength,
G4GRSVolume * CreateGRSVolume() const
G4ReplicaNavigation freplicaNav
G4ParameterisedNavigation fparamNav
friend std::ostream & operator<<(std::ostream &os, const G4Navigator &n)
G4ThreeVector sExitNormal
G4VoxelNavigation fvoxelNav
G4VPhysicalVolume * fBlockedPhysicalVolume
G4RotationMatrix NetRotation() const
virtual void ResetState()
G4bool fLastTriedStepComputation
G4VPhysicalVolume * fTopPhysical
G4VoxelSafety * fpVoxelSafety
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepRotation G4RotationMatrix
G4ThreeVector GetCurrentLocalCoordinate() const
G4ThreeVector fLastStepEndPointLocal
G4bool IsCheckModeActive() const
G4int GetVerboseLevel() const
G4ThreeVector fGrandMotherExitNormal
G4ThreeVector ComputeLocalAxis(const G4ThreeVector &pVec) const
virtual G4TouchableHistoryHandle CreateTouchableHistoryHandle() const
void ResetStackAndState()
G4VPhysicalVolume * spBlockedPhysicalVolume
virtual G4double ComputeStep(const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double &pNewSafety)
G4int fAbandonThreshold_NoZeroSteps
const G4AffineTransform GetLocalToGlobalTransform() const
virtual G4VPhysicalVolume * ResetHierarchyAndLocate(const G4ThreeVector &point, const G4ThreeVector &direction, const G4TouchableHistory &h)
G4ThreeVector fExitNormalGlobalFrame
virtual G4ThreeVector GetLocalExitNormalAndCheck(const G4ThreeVector &point, G4bool *valid)
void LocateGlobalPointAndUpdateTouchableHandle(const G4ThreeVector &position, const G4ThreeVector &direction, G4TouchableHandle &oldTouchableToUpdate, const G4bool RelativeSearch=true)
void SetVerboseLevel(G4int level)
G4bool fWasLimitedByGeometry
G4bool sWasLimitedByGeometry
void SetGeometricallyLimitedStep()
G4NormalNavigation fnormalNav
G4Navigator & operator=(const G4Navigator &)
virtual G4ThreeVector GetLocalExitNormal(G4bool *valid)
void LocateGlobalPointAndUpdateTouchable(const G4ThreeVector &position, const G4ThreeVector &direction, G4VTouchable *touchableToUpdate, const G4bool RelativeSearch=true)
G4ThreeVector fPreviousSftOrigin
G4double CheckNextStep(const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double &pNewSafety)
G4NavigationHistory fHistory
G4ThreeVector sLastLocatedPointLocal
void Activate(G4bool flag)
virtual G4bool RecheckDistanceToCurrentBoundary(const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double CurrentProposedStepLength, G4double *prDistance, G4double *prNewSafety=0) const
G4bool EnteredDaughterVolume() const
EVolume CharacteriseDaughters(const G4LogicalVolume *pLog) const
G4ThreeVector fLastLocatedPointLocal
G4bool fLocatedOutsideWorld
G4ThreeVector ComputeLocalPoint(const G4ThreeVector &rGlobPoint) const
G4TouchableHistory * CreateTouchableHistory() const
G4AffineTransform GetMotherToDaughterTransform(G4VPhysicalVolume *dVolume, G4int dReplicaNo, EVolume dVolumeType)
virtual G4ThreeVector GetGlobalExitNormal(const G4ThreeVector &point, G4bool *valid)
G4int GetDaughtersRegularStructureId(const G4LogicalVolume *pLog) const
void SetWorldVolume(G4VPhysicalVolume *pWorld)
G4GRSSolid * CreateGRSSolid() const
const G4AffineTransform & GetGlobalToLocalTransform() const
virtual G4VPhysicalVolume * LocateGlobalPointAndSetup(const G4ThreeVector &point, const G4ThreeVector *direction=0, const G4bool pRelativeSearch=true, const G4bool ignoreDirection=true)
struct G4Navigator::G4SaveNavigatorState fSaveState
void EnableBestSafety(G4bool value=false)
void SetPushVerbosity(G4bool mode)
G4bool ExitedMotherVolume() const
G4bool fCalculatedExitNormal
G4ThreeVector fStepEndPoint
void CheckMode(G4bool mode)
G4ThreeVector fExitNormal
G4int SeverityOfZeroStepping(G4int *noZeroSteps) const
G4int fActionThreshold_NoZeroSteps
G4bool fChangedGrandMotherRefFrame
G4ThreeVector NetTranslation() const
virtual G4double ComputeSafety(const G4ThreeVector &globalpoint, const G4double pProposedMaxLength=DBL_MAX, const G4bool keepState=true)
G4RegularNavigation fregularNav
virtual void SetupHierarchy()
G4VPhysicalVolume * GetWorldVolume() const
G4ThreeVector sPreviousSftOrigin
EVolume VolumeType(const G4VPhysicalVolume *pVol) const
virtual void LocateGlobalPointWithinVolume(const G4ThreeVector &position)
void ComputeStepLog(const G4ThreeVector &pGlobalpoint, G4double moveLenSq) const
G4bool sLocatedOutsideWorld