ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4Navigator Class Reference

#include <geant4/tree/geant4-10.6-release/source/geometry/navigation/include/G4Navigator.hh>

+ Inheritance diagram for G4Navigator:
+ Collaboration diagram for G4Navigator:

Classes

struct  G4SaveNavigatorState
 

Public Member Functions

 G4Navigator ()
 
 G4Navigator (const G4Navigator &)=delete
 
G4Navigatoroperator= (const G4Navigator &)=delete
 
virtual ~G4Navigator ()
 
virtual G4double ComputeStep (const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double &pNewSafety)
 
G4double CheckNextStep (const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double &pNewSafety)
 
virtual G4VPhysicalVolumeResetHierarchyAndLocate (const G4ThreeVector &point, const G4ThreeVector &direction, const G4TouchableHistory &h)
 
virtual G4VPhysicalVolumeLocateGlobalPointAndSetup (const G4ThreeVector &point, const G4ThreeVector *direction=nullptr, const G4bool pRelativeSearch=true, const G4bool ignoreDirection=true)
 
virtual void LocateGlobalPointWithinVolume (const G4ThreeVector &position)
 
void LocateGlobalPointAndUpdateTouchableHandle (const G4ThreeVector &position, const G4ThreeVector &direction, G4TouchableHandle &oldTouchableToUpdate, const G4bool RelativeSearch=true)
 
void LocateGlobalPointAndUpdateTouchable (const G4ThreeVector &position, const G4ThreeVector &direction, G4VTouchable *touchableToUpdate, const G4bool RelativeSearch=true)
 
void LocateGlobalPointAndUpdateTouchable (const G4ThreeVector &position, G4VTouchable *touchableToUpdate, const G4bool RelativeSearch=true)
 
void SetGeometricallyLimitedStep ()
 
virtual G4double ComputeSafety (const G4ThreeVector &globalpoint, const G4double pProposedMaxLength=DBL_MAX, const G4bool keepState=true)
 
virtual G4bool RecheckDistanceToCurrentBoundary (const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double CurrentProposedStepLength, G4double *prDistance, G4double *prNewSafety=nullptr) const
 
G4VPhysicalVolumeGetWorldVolume () const
 
void SetWorldVolume (G4VPhysicalVolume *pWorld)
 
G4GRSVolumeCreateGRSVolume () const
 
G4GRSSolidCreateGRSSolid () const
 
G4TouchableHistoryCreateTouchableHistory () const
 
G4TouchableHistoryCreateTouchableHistory (const G4NavigationHistory *) const
 
virtual G4TouchableHistoryHandle CreateTouchableHistoryHandle () const
 
virtual G4ThreeVector GetLocalExitNormal (G4bool *valid)
 
virtual G4ThreeVector GetLocalExitNormalAndCheck (const G4ThreeVector &point, G4bool *valid)
 
virtual G4ThreeVector GetGlobalExitNormal (const G4ThreeVector &point, G4bool *valid)
 
G4int GetVerboseLevel () const
 
void SetVerboseLevel (G4int level)
 
G4bool IsActive () const
 
void Activate (G4bool flag)
 
G4bool EnteredDaughterVolume () const
 
G4bool ExitedMotherVolume () const
 
void CheckMode (G4bool mode)
 
G4bool IsCheckModeActive () const
 
void SetPushVerbosity (G4bool mode)
 
void PrintState () const
 
const G4AffineTransformGetGlobalToLocalTransform () const
 
const G4AffineTransform GetLocalToGlobalTransform () const
 
G4AffineTransform GetMotherToDaughterTransform (G4VPhysicalVolume *dVolume, G4int dReplicaNo, EVolume dVolumeType)
 
void ResetStackAndState ()
 
G4int SeverityOfZeroStepping (G4int *noZeroSteps) const
 
G4ThreeVector GetCurrentLocalCoordinate () const
 
G4ThreeVector NetTranslation () const
 
G4RotationMatrix NetRotation () const
 
void EnableBestSafety (G4bool value=false)
 
G4VExternalNavigationGetExternalNavigation () const
 
void SetExternalNavigation (G4VExternalNavigation *externalNav)
 
G4NavigatorClone () const
 

Protected Member Functions

void SetSavedState ()
 
void RestoreSavedState ()
 
virtual void ResetState ()
 
G4ThreeVector ComputeLocalPoint (const G4ThreeVector &rGlobPoint) const
 
G4ThreeVector ComputeLocalAxis (const G4ThreeVector &pVec) const
 
EVolume VolumeType (const G4VPhysicalVolume *pVol) const
 
EVolume CharacteriseDaughters (const G4LogicalVolume *pLog) const
 
G4int GetDaughtersRegularStructureId (const G4LogicalVolume *pLv) const
 
virtual void SetupHierarchy ()
 
G4bool CheckOverlapsIterative (G4VPhysicalVolume *vol)
 

Protected Attributes

G4double kCarTolerance
 
G4double fMinStep
 
G4double fSqTol
 
G4NavigationHistory fHistory
 
G4bool fEnteredDaughter
 
G4bool fExitedMother
 
G4bool fWasLimitedByGeometry = false
 
G4ThreeVector fStepEndPoint
 
G4ThreeVector fLastStepEndPointLocal
 
G4int fVerbose = 0
 

Private Member Functions

void ComputeStepLog (const G4ThreeVector &pGlobalpoint, G4double moveLenSq) const
 

Private Attributes

G4bool fActive = false
 
G4bool fLastTriedStepComputation = false
 
G4bool fEntering
 
G4bool fExiting
 
G4VPhysicalVolumefBlockedPhysicalVolume
 
G4int fBlockedReplicaNo
 
G4ThreeVector fLastLocatedPointLocal
 
G4bool fLocatedOutsideWorld
 
G4bool fValidExitNormal
 
G4ThreeVector fExitNormal
 
G4ThreeVector fGrandMotherExitNormal
 
G4bool fChangedGrandMotherRefFrame
 
G4ThreeVector fExitNormalGlobalFrame
 
G4bool fCalculatedExitNormal
 
G4bool fLastStepWasZero
 
G4bool fLocatedOnEdge
 
G4int fNumberZeroSteps
 
G4int fActionThreshold_NoZeroSteps = 10
 
G4int fAbandonThreshold_NoZeroSteps = 25
 
G4ThreeVector fPreviousSftOrigin
 
G4double fPreviousSafety
 
G4VPhysicalVolumefLastMotherPhys = nullptr
 
struct
G4Navigator::G4SaveNavigatorState 
fSaveState
 
G4VPhysicalVolumefTopPhysical = nullptr
 
G4bool fCheck = false
 
G4bool fPushed = false
 
G4bool fWarnPush = true
 
G4NormalNavigation fnormalNav
 
G4VoxelNavigation fvoxelNav
 
G4ParameterisedNavigation fparamNav
 
G4ReplicaNavigation freplicaNav
 
G4RegularNavigation fregularNav
 
G4VExternalNavigationfpExternalNav = nullptr
 
G4VoxelSafetyfpVoxelSafety
 

Friends

std::ostream & operator<< (std::ostream &os, const G4Navigator &n)
 

Detailed Description

Definition at line 69 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 69 of file G4Navigator.hh

Constructor & Destructor Documentation

G4Navigator::G4Navigator ( )

Definition at line 53 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 53 of file G4Navigator.cc

References fAbandonThreshold_NoZeroSteps, fActionThreshold_NoZeroSteps, fLastStepEndPointLocal, fMinStep, fnormalNav, fpVoxelSafety, fregularNav, fSqTol, fStepEndPoint, fVerbose, G4cout, G4endl, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), kCarTolerance, kInfinity, ResetStackAndState(), G4RegularNavigation::SetNormalNavigation(), and sqr().

+ Here is the call graph for this function:

G4Navigator::G4Navigator ( const G4Navigator )
delete
G4Navigator::~G4Navigator ( )
virtual

Definition at line 85 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 85 of file G4Navigator.cc

References fpExternalNav, and fpVoxelSafety.

Member Function Documentation

void G4Navigator::Activate ( G4bool  flag)
inline

Referenced by G4TransportationManager::ActivateNavigator(), and G4TransportationManager::G4TransportationManager().

+ Here is the caller graph for this function:

EVolume G4Navigator::CharacteriseDaughters ( const G4LogicalVolume pLog) const
inlineprotected

Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), and LocateGlobalPointWithinVolume().

+ Here is the caller graph for this function:

void G4Navigator::CheckMode ( G4bool  mode)
inline

Referenced by G4VIntersectionLocator::LocateGlobalPointWithinVolumeAndCheck(), and G4GeometryMessenger::SetCheckMode().

+ Here is the caller graph for this function:

G4double G4Navigator::CheckNextStep ( const G4ThreeVector pGlobalPoint,
const G4ThreeVector pDirection,
const G4double  pCurrentProposedStepLength,
G4double pNewSafety 
)

Definition at line 1249 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 1249 of file G4Navigator.cc

References ComputeStep(), RestoreSavedState(), SetSavedState(), and Acts::Test::step().

Referenced by G4SafetyHelper::CheckNextStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4Navigator::CheckOverlapsIterative ( G4VPhysicalVolume vol)
protected

Definition at line 2313 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 2313 of file G4Navigator.cc

References CLHEP::centimeter, G4VPhysicalVolume::CheckOverlaps(), e, fVerbose, G4cout, G4endl, and G4VPhysicalVolume::GetName().

Referenced by ComputeStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Navigator* G4Navigator::Clone ( ) const
inline

Referenced by G4TransportationManager::G4TransportationManager(), and G4VIntersectionLocator::G4VIntersectionLocator().

+ Here is the caller graph for this function:

G4ThreeVector G4Navigator::ComputeLocalAxis ( const G4ThreeVector pVec) const
inlineprotected

Referenced by ComputeStep(), and RecheckDistanceToCurrentBoundary().

+ Here is the caller graph for this function:

G4ThreeVector G4Navigator::ComputeLocalPoint ( const G4ThreeVector rGlobPoint) const
inlineprotected

Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointWithinVolume(), and RecheckDistanceToCurrentBoundary().

+ Here is the caller graph for this function:

G4double G4Navigator::ComputeSafety ( const G4ThreeVector globalpoint,
const G4double  pProposedMaxLength = DBL_MAX,
const G4bool  keepState = true 
)
virtual

Reimplemented in G4MultiNavigator, and G4ErrorPropagationNavigator.

Definition at line 1810 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 1810 of file G4Navigator.cc

References CharacteriseDaughters(), ComputeLocalPoint(), G4VoxelSafety::ComputeSafety(), G4ParameterisedNavigation::ComputeSafety(), G4NormalNavigation::ComputeSafety(), G4VExternalNavigation::ComputeSafety(), G4VoxelNavigation::ComputeSafety(), G4RegularNavigation::ComputeSafety(), G4ReplicaNavigation::ComputeSafety(), FatalException, fEnteredDaughter, fExitedMother, fHistory, fnormalNav, fparamNav, fpExternalNav, fPreviousSafety, fPreviousSftOrigin, fpVoxelSafety, fregularNav, freplicaNav, fStepEndPoint, fVerbose, fvoxelNav, G4cout, G4endl, G4Exception(), GetDaughtersRegularStructureId(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4NavigationHistory::GetTopVolume(), G4NavigationHistory::GetTopVolumeType(), G4LogicalVolume::GetVoxelHeader(), kCarTolerance, kExternal, kNormal, kParameterised, kReplica, LocateGlobalPointWithinVolume(), PrintState(), RestoreSavedState(), SetSavedState(), and sqr().

Referenced by G4Transportation::AlongStepGetPhysicalInteractionLength(), G4MonopoleTransportation::AlongStepGetPhysicalInteractionLength(), G4ParallelWorldProcess::AlongStepGetPhysicalInteractionLength(), G4WeightCutOffProcess::AlongStepGetPhysicalInteractionLength(), G4ImportanceProcess::AlongStepGetPhysicalInteractionLength(), G4ParallelWorldScoringProcess::AlongStepGetPhysicalInteractionLength(), G4WeightWindowProcess::AlongStepGetPhysicalInteractionLength(), G4FastSimulationManagerProcess::AlongStepGetPhysicalInteractionLength(), G4ErrorPropagationNavigator::ComputeSafety(), G4SafetyHelper::ComputeSafety(), and G4PathFinder::DoNextCurvedStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Navigator::ComputeStep ( const G4ThreeVector pGlobalPoint,
const G4ThreeVector pDirection,
const G4double  pCurrentProposedStepLength,
G4double pNewSafety 
)
virtual

Reimplemented in G4MultiNavigator, and G4ErrorPropagationNavigator.

Definition at line 764 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 764 of file G4Navigator.cc

References CharacteriseDaughters(), CheckOverlapsIterative(), ComputeLocalAxis(), ComputeLocalPoint(), G4RegularNavigation::ComputeStep(), G4VExternalNavigation::ComputeStep(), G4ParameterisedNavigation::ComputeStep(), G4NormalNavigation::ComputeStep(), G4VoxelNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), ComputeStepLog(), incremental_prev_tag::desc, EventMustBeAborted, fAbandonThreshold_NoZeroSteps, fActionThreshold_NoZeroSteps, FatalException, fBlockedPhysicalVolume, fBlockedReplicaNo, fCalculatedExitNormal, fChangedGrandMotherRefFrame, fEnteredDaughter, fEntering, fExitedMother, fExiting, fExitNormal, fExitNormalGlobalFrame, fGrandMotherExitNormal, fHistory, fLastLocatedPointLocal, fLastMotherPhys, fLastStepEndPointLocal, fLastStepWasZero, fLastTriedStepComputation, fLocatedOnEdge, fMinStep, fnormalNav, fNumberZeroSteps, fparamNav, fpExternalNav, fPreviousSafety, fPreviousSftOrigin, fPushed, fregularNav, freplicaNav, fSqTol, fStepEndPoint, fValidExitNormal, fVerbose, fvoxelNav, fWarnPush, G4cout, G4endl, G4Exception(), G4ThreadLocal, G4VPhysicalVolume::GetCopyNo(), GetDaughtersRegularStructureId(), G4NavigationHistory::GetDepth(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4VPhysicalVolume::GetRegularStructureId(), G4VPhysicalVolume::GetRotation(), G4LogicalVolume::GetSolid(), G4NavigationHistory::GetTopVolume(), G4NavigationHistory::GetTopVolumeType(), G4NavigationHistory::GetTransform(), G4LogicalVolume::GetVoxelHeader(), G4AffineTransform::InverseTransformAxis(), JustWarning, kCarTolerance, kExternal, kInfinity, kNormal, kParameterised, kReplica, LocateGlobalPointAndSetup(), LocateGlobalPointWithinVolume(), message(), min, PrintState(), and G4VSolid::SurfaceNormal().

Referenced by G4Transportation::AlongStepGetPhysicalInteractionLength(), G4MonopoleTransportation::AlongStepGetPhysicalInteractionLength(), CheckNextStep(), G4AdjointPrimaryGenerator::ComputeAccumulatedDepthVectorAlongBackRay(), and G4ErrorPropagationNavigator::ComputeStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Navigator::ComputeStepLog ( const G4ThreeVector pGlobalpoint,
G4double  moveLenSq 
) const
private

Definition at line 2210 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 2210 of file G4Navigator.cc

References fHistory, fLastLocatedPointLocal, fPreviousSafety, fPreviousSftOrigin, G4cerr, G4cout, G4endl, G4Exception(), G4ThreadLocal, G4NavigationHistory::GetTopTransform(), JustWarning, kCarTolerance, message(), mm, and sqr().

Referenced by ComputeStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4GRSSolid* G4Navigator::CreateGRSSolid ( ) const
inline
G4GRSVolume* G4Navigator::CreateGRSVolume ( ) const
inline
G4TouchableHistory* G4Navigator::CreateTouchableHistory ( ) const
inline

Referenced by G4PathFinder::CreateTouchableHandle(), G4MultiNavigator::CreateTouchableHistoryHandle(), CreateTouchableHistoryHandle(), G4VIntersectionLocator::GetLocalSurfaceNormal(), and G4SteppingManager::SetInitialStep().

+ Here is the caller graph for this function:

G4TouchableHistory* G4Navigator::CreateTouchableHistory ( const G4NavigationHistory ) const
inline
G4TouchableHistoryHandle G4Navigator::CreateTouchableHistoryHandle ( ) const
virtual

Reimplemented in G4MultiNavigator.

Definition at line 2138 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 2138 of file G4Navigator.cc

References CreateTouchableHistory().

Referenced by G4FastTrack::FRecordsAffineTransformation(), and G4VIntersectionLocator::LocateGlobalPointWithinVolumeAndCheck().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Navigator::EnableBestSafety ( G4bool  value = false)
inline
G4bool G4Navigator::EnteredDaughterVolume ( ) const
inline

Referenced by GetLocalExitNormal(), and G4Transportation::PostStepDoIt().

+ Here is the caller graph for this function:

G4bool G4Navigator::ExitedMotherVolume ( ) const
inline

Referenced by G4Transportation::PostStepDoIt().

+ Here is the caller graph for this function:

G4ThreeVector G4Navigator::GetCurrentLocalCoordinate ( ) const
inline
G4int G4Navigator::GetDaughtersRegularStructureId ( const G4LogicalVolume pLv) const
inlineprotected

Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), and LocateGlobalPointWithinVolume().

+ Here is the caller graph for this function:

G4VExternalNavigation* G4Navigator::GetExternalNavigation ( ) const
inline

Referenced by G4TransportationManager::G4TransportationManager(), and G4VIntersectionLocator::G4VIntersectionLocator().

+ Here is the caller graph for this function:

G4ThreeVector G4Navigator::GetGlobalExitNormal ( const G4ThreeVector point,
G4bool valid 
)
virtual
const G4AffineTransform& G4Navigator::GetGlobalToLocalTransform ( ) const
inline

Referenced by GetLocalExitNormalAndCheck(), and G4VIntersectionLocator::LocateGlobalPointWithinVolumeAndCheck().

+ Here is the caller graph for this function:

G4ThreeVector G4Navigator::GetLocalExitNormal ( G4bool valid)
virtual
G4ThreeVector G4Navigator::GetLocalExitNormalAndCheck ( const G4ThreeVector point,
G4bool valid 
)
virtual

Reimplemented in G4MultiNavigator.

Definition at line 1600 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 1600 of file G4Navigator.cc

References fLastTriedStepComputation, GetGlobalToLocalTransform(), GetLocalExitNormal(), and G4AffineTransform::TransformPoint().

Referenced by GetGlobalExitNormal().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4AffineTransform G4Navigator::GetLocalToGlobalTransform ( ) const
inline

Referenced by G4RayTrajectory::AppendStep(), and G4VIntersectionLocator::GetGlobalSurfaceNormal().

+ Here is the caller graph for this function:

G4AffineTransform G4Navigator::GetMotherToDaughterTransform ( G4VPhysicalVolume dVolume,
G4int  dReplicaNo,
EVolume  dVolumeType 
)

Definition at line 1549 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 1549 of file G4Navigator.cc

References G4VSolid::ComputeDimensions(), G4VPVParameterisation::ComputeSolid(), G4VPVParameterisation::ComputeTransformation(), FatalException, G4Exception(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetParameterisation(), G4VPhysicalVolume::GetRegularStructureId(), G4VPhysicalVolume::GetRotation(), G4VPhysicalVolume::GetTranslation(), kExternal, kNormal, kParameterised, kReplica, and G4LogicalVolume::SetSolid().

Referenced by GetLocalExitNormal().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4Navigator::GetVerboseLevel ( ) const
inline

Referenced by export_G4Navigator(), GetGlobalExitNormal(), and G4ErrorPropagatorManager::StartNavigator().

+ Here is the caller graph for this function:

G4bool G4Navigator::IsActive ( ) const
inline

Referenced by export_G4Navigator().

+ Here is the caller graph for this function:

G4bool G4Navigator::IsCheckModeActive ( ) const
inline

Referenced by G4VIntersectionLocator::LocateGlobalPointWithinVolumeAndCheck().

+ Here is the caller graph for this function:

G4VPhysicalVolume * G4Navigator::LocateGlobalPointAndSetup ( const G4ThreeVector point,
const G4ThreeVector direction = nullptr,
const G4bool  pRelativeSearch = true,
const G4bool  ignoreDirection = true 
)
virtual

Reimplemented in G4MultiNavigator.

Definition at line 126 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 126 of file G4Navigator.cc

References G4NavigationHistory::BackLevel(), G4ReplicaNavigation::BackLocate(), CharacteriseDaughters(), G4VSolid::ComputeDimensions(), G4VPVParameterisation::ComputeSolid(), G4VPVParameterisation::ComputeTransformation(), G4ReplicaNavigation::ComputeTransformation(), CLHEP::Hep3Vector::dot(), FatalException, fBlockedPhysicalVolume, fBlockedReplicaNo, fChangedGrandMotherRefFrame, fCheck, fEnteredDaughter, fEntering, fExitedMother, fExiting, fGrandMotherExitNormal, fHistory, fLastLocatedPointLocal, fLastTriedStepComputation, fLocatedOnEdge, fLocatedOutsideWorld, fnormalNav, fparamNav, fpExternalNav, fregularNav, freplicaNav, fValidExitNormal, fVerbose, fvoxelNav, fWasLimitedByGeometry, G4cout, G4endl, G4Exception(), G4VPhysicalVolume::GetCopyNo(), GetDaughtersRegularStructureId(), G4NavigationHistory::GetDepth(), G4VPhysicalVolume::GetLogicalVolume(), G4VSolid::GetName(), G4VPhysicalVolume::GetName(), G4VPhysicalVolume::GetParameterisation(), G4VPhysicalVolume::GetRegularStructureId(), G4VPhysicalVolume::GetRotation(), G4LogicalVolume::GetSolid(), G4NavigationHistory::GetTopReplicaNo(), G4NavigationHistory::GetTopTransform(), G4NavigationHistory::GetTopVolume(), G4NavigationHistory::GetTopVolumeType(), G4LogicalVolume::GetVoxelHeader(), G4VExternalNavigation::Inside(), G4VSolid::Inside(), kExternal, kNormal, kOutside, kParameterised, kReplica, kSurface, G4VExternalNavigation::LevelLocate(), G4RegularNavigation::LevelLocate(), G4NormalNavigation::LevelLocate(), G4ParameterisedNavigation::LevelLocate(), G4VoxelNavigation::LevelLocate(), G4ReplicaNavigation::LevelLocate(), G4NavigationHistory::NewLevel(), CLHEP::normal(), PrintState(), ResetStackAndState(), G4VPhysicalVolume::SetCopyNo(), G4LogicalVolume::SetSolid(), G4VSolid::SurfaceNormal(), G4AffineTransform::TransformAxis(), G4AffineTransform::TransformPoint(), G4LogicalVolume::UpdateMaterial(), and VolumeType().

Referenced by XrayFluoAnalysisManager::analyseStepping(), G4AdjointPrimaryGenerator::ComputeAccumulatedDepthVectorAlongBackRay(), ComputeStep(), F04ElementField::Construct(), G4TheRayTracer::CreateBitMap(), G4VFieldModel::DescribeYourselfTo(), G4EventManager::DoProcessing(), G4MaterialScanner::DoScan(), G4TrajectoryDrawByOriginVolume::Draw(), G4TrajectoryOriginVolumeFilter::Evaluate(), F04PrimaryGeneratorAction::GeneratePrimaries(), G4VIntersectionLocator::GetLocalSurfaceNormal(), DMXParticleSource::IsSourceConfined(), G4SPSPosDistribution::IsSourceConfined(), G4SafetyHelper::Locate(), G4VIntersectionLocator::LocateGlobalPointWithinVolumeAndCheck(), ResetHierarchyAndLocate(), G4GeometryMessenger::ResetNavigator(), and G4SteppingManager::SetInitialStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Navigator::LocateGlobalPointAndUpdateTouchable ( const G4ThreeVector position,
const G4ThreeVector direction,
G4VTouchable touchableToUpdate,
const G4bool  RelativeSearch = true 
)
inline

Referenced by G4VReadOutGeometry::FindROTouchable().

+ Here is the caller graph for this function:

void G4Navigator::LocateGlobalPointAndUpdateTouchable ( const G4ThreeVector position,
G4VTouchable touchableToUpdate,
const G4bool  RelativeSearch = true 
)
inline
void G4Navigator::LocateGlobalPointAndUpdateTouchableHandle ( const G4ThreeVector position,
const G4ThreeVector direction,
G4TouchableHandle oldTouchableToUpdate,
const G4bool  RelativeSearch = true 
)
inline
void G4Navigator::LocateGlobalPointWithinVolume ( const G4ThreeVector position)
virtual

Reimplemented in G4MultiNavigator.

Definition at line 608 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 608 of file G4Navigator.cc

References CharacteriseDaughters(), ComputeLocalPoint(), fBlockedPhysicalVolume, fBlockedReplicaNo, fChangedGrandMotherRefFrame, fEnteredDaughter, fEntering, fExitedMother, fExiting, fHistory, fLastLocatedPointLocal, fLastTriedStepComputation, fparamNav, fpExternalNav, fvoxelNav, fWasLimitedByGeometry, GetDaughtersRegularStructureId(), G4VPhysicalVolume::GetLogicalVolume(), G4NavigationHistory::GetTopVolume(), G4LogicalVolume::GetVoxelHeader(), kExternal, kNormal, kParameterised, kReplica, G4ParameterisedNavigation::ParamVoxelLocate(), G4VExternalNavigation::RelocateWithinVolume(), and G4VoxelNavigation::VoxelLocate().

Referenced by G4VIntersectionLocator::AdjustmentOfFoundIntersection(), ComputeSafety(), G4PropagatorInField::ComputeStep(), ComputeStep(), G4SimpleLocator::EstimateIntersectionPoint(), G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), G4VIntersectionLocator::LocateGlobalPointWithinVolumeAndCheck(), G4Transportation::PostStepDoIt(), G4MonopoleTransportation::PostStepDoIt(), and G4SafetyHelper::ReLocateWithinVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4RotationMatrix G4Navigator::NetRotation ( ) const
inline
G4ThreeVector G4Navigator::NetTranslation ( ) const
inline
G4Navigator& G4Navigator::operator= ( const G4Navigator )
delete
void G4Navigator::PrintState ( ) const

Definition at line 2147 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 2147 of file G4Navigator.cc

References fBlockedPhysicalVolume, fBlockedReplicaNo, fEntering, fExiting, fExitNormal, fLastLocatedPointLocal, fLastStepWasZero, fPreviousSafety, fPreviousSftOrigin, fValidExitNormal, fVerbose, G4cout, G4endl, G4VPhysicalVolume::GetName(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

Referenced by ComputeSafety(), ComputeStep(), export_G4Navigator(), and LocateGlobalPointAndSetup().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4Navigator::RecheckDistanceToCurrentBoundary ( const G4ThreeVector pGlobalPoint,
const G4ThreeVector pDirection,
const G4double  CurrentProposedStepLength,
G4double prDistance,
G4double prNewSafety = nullptr 
) const
virtual

Definition at line 1973 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 1973 of file G4Navigator.cc

References G4LogicalVolume::CharacteriseDaughters(), ComputeLocalAxis(), ComputeLocalPoint(), DBL_MAX, G4VSolid::DistanceToIn(), G4VSolid::DistanceToOut(), FatalException, fBlockedPhysicalVolume, fEnteredDaughter, fHistory, fLastTriedStepComputation, G4Exception(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetRotation(), G4LogicalVolume::GetSolid(), G4NavigationHistory::GetTopVolume(), G4NavigationHistory::GetTopVolumeType(), G4VPhysicalVolume::GetTranslation(), G4VSolid::Inside(), kInside, kOutside, kReplica, and min.

Referenced by G4SafetyHelper::RecheckDistanceToCurrentBoundary(), and G4PathFinder::RecheckDistanceToCurrentBoundary().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VPhysicalVolume * G4Navigator::ResetHierarchyAndLocate ( const G4ThreeVector point,
const G4ThreeVector direction,
const G4TouchableHistory h 
)
virtual

Reimplemented in G4MultiNavigator.

Definition at line 96 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 96 of file G4Navigator.cc

References fHistory, fLastTriedStepComputation, G4TouchableHistory::GetHistory(), LocateGlobalPointAndSetup(), ResetState(), and SetupHierarchy().

Referenced by G4MultiNavigator::ResetHierarchyAndLocate(), and G4SteppingManager::SetInitialStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Navigator::ResetStackAndState ( )
inline

Referenced by G4Navigator(), and LocateGlobalPointAndSetup().

+ Here is the caller graph for this function:

void G4Navigator::ResetState ( )
protectedvirtual

Reimplemented in G4MultiNavigator.

Definition at line 1282 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 1282 of file G4Navigator.cc

References fBlockedPhysicalVolume, fBlockedReplicaNo, fCalculatedExitNormal, fChangedGrandMotherRefFrame, fEnteredDaughter, fEntering, fExitedMother, fExiting, fExitNormal, fExitNormalGlobalFrame, fGrandMotherExitNormal, fLastLocatedPointLocal, fLastMotherPhys, fLastStepWasZero, fLocatedOnEdge, fLocatedOutsideWorld, fNumberZeroSteps, fPreviousSafety, fPreviousSftOrigin, fPushed, fValidExitNormal, fWasLimitedByGeometry, and kInfinity.

Referenced by ResetHierarchyAndLocate().

+ Here is the caller graph for this function:

void G4Navigator::SetExternalNavigation ( G4VExternalNavigation externalNav)
inline
void G4Navigator::SetGeometricallyLimitedStep ( )
inline

Referenced by G4Transportation::PostStepDoIt(), and G4MonopoleTransportation::PostStepDoIt().

+ Here is the caller graph for this function:

void G4Navigator::SetPushVerbosity ( G4bool  mode)
inline

Referenced by G4ParallelWorldProcess::G4ParallelWorldProcess(), G4ParallelWorldProcess::SetParallelWorld(), and G4GeometryMessenger::SetPushFlag().

+ Here is the caller graph for this function:

void G4Navigator::SetupHierarchy ( )
protectedvirtual

Reimplemented in G4MultiNavigator.

Definition at line 1323 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 1323 of file G4Navigator.cc

References G4VSolid::ComputeDimensions(), G4VPVParameterisation::ComputeSolid(), G4VPVParameterisation::ComputeTransformation(), G4ReplicaNavigation::ComputeTransformation(), fHistory, freplicaNav, G4NavigationHistory::GetDepth(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetParameterisation(), G4NavigationHistory::GetReplicaNo(), G4NavigationHistory::GetVolume(), G4NavigationHistory::GetVolumeType(), G4VPVParameterisation::IsNested(), kExternal, kNormal, kParameterised, kReplica, G4TouchableHistory::MoveUpHistory(), G4LogicalVolume::SetSolid(), and G4LogicalVolume::UpdateMaterial().

Referenced by ResetHierarchyAndLocate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Navigator::SetVerboseLevel ( G4int  level)
inline

Referenced by export_G4Navigator(), GetGlobalExitNormal(), G4GeometryMessenger::SetVerbosity(), and G4ErrorPropagatorManager::StartNavigator().

+ Here is the caller graph for this function:

G4int G4Navigator::SeverityOfZeroStepping ( G4int noZeroSteps) const
inline
EVolume G4Navigator::VolumeType ( const G4VPhysicalVolume pVol) const
inlineprotected

Referenced by GetLocalExitNormal(), and LocateGlobalPointAndSetup().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const G4Navigator n 
)
friend

Definition at line 2340 of file G4Navigator.cc.

View newest version in sPHENIX GitHub at line 2340 of file G4Navigator.cc

Member Data Documentation

G4int G4Navigator::fAbandonThreshold_NoZeroSteps = 25
private

Definition at line 461 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 461 of file G4Navigator.hh

Referenced by ComputeStep(), and G4Navigator().

G4int G4Navigator::fActionThreshold_NoZeroSteps = 10
private

Definition at line 459 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 459 of file G4Navigator.hh

Referenced by ComputeStep(), and G4Navigator().

G4bool G4Navigator::fActive = false
private

Definition at line 407 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 407 of file G4Navigator.hh

G4VPhysicalVolume* G4Navigator::fBlockedPhysicalVolume
private
G4int G4Navigator::fBlockedReplicaNo
private
G4bool G4Navigator::fCalculatedExitNormal
private

Definition at line 443 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 443 of file G4Navigator.hh

Referenced by ComputeStep(), GetGlobalExitNormal(), GetLocalExitNormal(), and ResetState().

G4bool G4Navigator::fChangedGrandMotherRefFrame
private

Definition at line 439 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 439 of file G4Navigator.hh

Referenced by ComputeStep(), LocateGlobalPointAndSetup(), LocateGlobalPointWithinVolume(), and ResetState().

G4bool G4Navigator::fCheck = false
private

Definition at line 507 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 507 of file G4Navigator.hh

Referenced by GetLocalExitNormal(), and LocateGlobalPointAndSetup().

G4bool G4Navigator::fEnteredDaughter
protected
G4bool G4Navigator::fEntering
private
G4bool G4Navigator::fExitedMother
protected
G4bool G4Navigator::fExiting
private
G4ThreeVector G4Navigator::fExitNormal
private

Definition at line 434 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 434 of file G4Navigator.hh

Referenced by ComputeStep(), operator<<(), PrintState(), ResetState(), RestoreSavedState(), and SetSavedState().

G4ThreeVector G4Navigator::fExitNormalGlobalFrame
private

Definition at line 441 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 441 of file G4Navigator.hh

Referenced by ComputeStep(), GetGlobalExitNormal(), and ResetState().

G4ThreeVector G4Navigator::fGrandMotherExitNormal
private

Definition at line 437 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 437 of file G4Navigator.hh

Referenced by ComputeStep(), GetLocalExitNormal(), LocateGlobalPointAndSetup(), and ResetState().

G4ThreeVector G4Navigator::fLastLocatedPointLocal
private
G4VPhysicalVolume* G4Navigator::fLastMotherPhys = nullptr
private

Definition at line 470 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 470 of file G4Navigator.hh

Referenced by ComputeStep(), and ResetState().

G4ThreeVector G4Navigator::fLastStepEndPointLocal
protected

Definition at line 398 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 398 of file G4Navigator.hh

Referenced by ComputeStep(), G4Navigator(), and GetLocalExitNormal().

G4bool G4Navigator::fLastStepWasZero
private

Definition at line 452 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 452 of file G4Navigator.hh

Referenced by ComputeStep(), operator<<(), PrintState(), ResetState(), RestoreSavedState(), and SetSavedState().

G4bool G4Navigator::fLastTriedStepComputation = false
private
G4bool G4Navigator::fLocatedOnEdge
private

Definition at line 455 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 455 of file G4Navigator.hh

Referenced by ComputeStep(), LocateGlobalPointAndSetup(), and ResetState().

G4bool G4Navigator::fLocatedOutsideWorld
private

Definition at line 430 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 430 of file G4Navigator.hh

Referenced by LocateGlobalPointAndSetup(), ResetState(), RestoreSavedState(), and SetSavedState().

G4double G4Navigator::fMinStep
protected

Definition at line 371 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 371 of file G4Navigator.hh

Referenced by ComputeStep(), and G4Navigator().

G4NormalNavigation G4Navigator::fnormalNav
private

Definition at line 514 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 514 of file G4Navigator.hh

Referenced by ComputeSafety(), ComputeStep(), G4Navigator(), and LocateGlobalPointAndSetup().

G4int G4Navigator::fNumberZeroSteps
private

Definition at line 457 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 457 of file G4Navigator.hh

Referenced by ComputeStep(), and ResetState().

G4ParameterisedNavigation G4Navigator::fparamNav
private

Definition at line 516 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 516 of file G4Navigator.hh

Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), and LocateGlobalPointWithinVolume().

G4VExternalNavigation* G4Navigator::fpExternalNav = nullptr
private

Definition at line 519 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 519 of file G4Navigator.hh

Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), LocateGlobalPointWithinVolume(), and ~G4Navigator().

G4double G4Navigator::fPreviousSafety
private

Definition at line 465 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 465 of file G4Navigator.hh

Referenced by ComputeSafety(), ComputeStep(), ComputeStepLog(), operator<<(), PrintState(), ResetState(), RestoreSavedState(), and SetSavedState().

G4ThreeVector G4Navigator::fPreviousSftOrigin
private

Definition at line 464 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 464 of file G4Navigator.hh

Referenced by ComputeSafety(), ComputeStep(), ComputeStepLog(), operator<<(), PrintState(), ResetState(), RestoreSavedState(), and SetSavedState().

G4bool G4Navigator::fPushed = false
private

Definition at line 509 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 509 of file G4Navigator.hh

Referenced by ComputeStep(), and ResetState().

G4VoxelSafety* G4Navigator::fpVoxelSafety
private

Definition at line 520 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 520 of file G4Navigator.hh

Referenced by ComputeSafety(), G4Navigator(), and ~G4Navigator().

G4RegularNavigation G4Navigator::fregularNav
private

Definition at line 518 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 518 of file G4Navigator.hh

Referenced by ComputeSafety(), ComputeStep(), G4Navigator(), and LocateGlobalPointAndSetup().

G4ReplicaNavigation G4Navigator::freplicaNav
private

Definition at line 517 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 517 of file G4Navigator.hh

Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), and SetupHierarchy().

struct G4Navigator::G4SaveNavigatorState G4Navigator::fSaveState
private

Referenced by RestoreSavedState(), and SetSavedState().

G4double G4Navigator::fSqTol
protected

Definition at line 371 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 371 of file G4Navigator.hh

Referenced by ComputeStep(), G4Navigator(), and GetGlobalExitNormal().

G4ThreeVector G4Navigator::fStepEndPoint
protected

Definition at line 395 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 395 of file G4Navigator.hh

Referenced by ComputeSafety(), ComputeStep(), G4Navigator(), and GetGlobalExitNormal().

G4VPhysicalVolume* G4Navigator::fTopPhysical = nullptr
private

Definition at line 501 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 501 of file G4Navigator.hh

G4bool G4Navigator::fValidExitNormal
private

Definition at line 433 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 433 of file G4Navigator.hh

Referenced by ComputeStep(), LocateGlobalPointAndSetup(), operator<<(), PrintState(), ResetState(), RestoreSavedState(), and SetSavedState().

G4VoxelNavigation G4Navigator::fvoxelNav
private

Definition at line 515 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 515 of file G4Navigator.hh

Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), and LocateGlobalPointWithinVolume().

G4bool G4Navigator::fWarnPush = true
private

Definition at line 509 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 509 of file G4Navigator.hh

Referenced by ComputeStep().

G4double G4Navigator::kCarTolerance
protected

Definition at line 371 of file G4Navigator.hh.

View newest version in sPHENIX GitHub at line 371 of file G4Navigator.hh

Referenced by ComputeSafety(), ComputeStep(), ComputeStepLog(), G4Navigator(), G4ErrorPropagationNavigator::GetGlobalExitNormal(), and GetLocalExitNormal().


The documentation for this class was generated from the following files: