| Geant4
    10.01.p03
    | 
#include <G4ITNavigator2.hh>
 Collaboration diagram for G4ITNavigator2:
 Collaboration diagram for G4ITNavigator2:| Classes | |
| struct | G4NavigatorState | 
| struct | G4SaveNavigatorState | 
| Static Public Attributes | |
| static const G4int | fMaxNav = 8 | 
| Protected Member Functions | |
| G4ThreeVector | ComputeLocalPoint (const G4ThreeVector &rGlobPoint) const | 
| G4ThreeVector | ComputeLocalAxis (const G4ThreeVector &pVec) const | 
| virtual void | ResetState () | 
| EVolume | VolumeType (const G4VPhysicalVolume *pVol) const | 
| EVolume | CharacteriseDaughters (const G4LogicalVolume *pLog) const | 
| G4int | GetDaughtersRegularStructureId (const G4LogicalVolume *pLog) const | 
| virtual void | SetupHierarchy () | 
| Protected Attributes | |
| G4double | kCarTolerance | 
| G4int | fVerbose | 
| Private Member Functions | |
| G4ITNavigator2 (const G4ITNavigator2 &) | |
| G4ITNavigator2 & | operator= (const G4ITNavigator2 &) | 
| void | ComputeStepLog (const G4ThreeVector &pGlobalpoint, G4double moveLenSq) const | 
| Private Attributes | |
| G4bool | fActive | 
| G4int | fActionThreshold_NoZeroSteps | 
| G4int | fAbandonThreshold_NoZeroSteps | 
| Friends | |
| std::ostream & | operator<< (std::ostream &os, const G4ITNavigator2 &n) | 
Definition at line 101 of file G4ITNavigator2.hh.
| G4ITNavigator2::G4ITNavigator2 | ( | ) | 
Definition at line 87 of file G4ITNavigator2.cc.
References fAbandonThreshold_NoZeroSteps, fActionThreshold_NoZeroSteps, fActive, fnormalNav, fpNavigatorState, fpVoxelSafety, fregularNav, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), kCarTolerance, and G4RegularNavigation::SetNormalNavigation().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | virtual | 
Definition at line 110 of file G4ITNavigator2.cc.
References fpVoxelSafety.
| 
 | private | 
| 
 | inline | 
| 
 | inlineprotected | 
Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), and LocateGlobalPointWithinVolume().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | inline | 
| void G4ITNavigator2::CheckNavigatorState | ( | ) | const | 
Definition at line 681 of file G4ITNavigator2.cc.
References FatalException, fpNavigatorState, and G4Exception().
 Here is the call graph for this function:
 Here is the call graph for this function:| G4double G4ITNavigator2::CheckNextStep | ( | const G4ThreeVector & | pGlobalPoint, | 
| const G4ThreeVector & | pDirection, | ||
| const G4double | pCurrentProposedStepLength, | ||
| G4double & | pNewSafety | ||
| ) | 
Definition at line 1343 of file G4ITNavigator2.cc.
References CheckNavigatorStateIsValid, ComputeStep(), and fpNavigatorState.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | inlineprotected | 
Referenced by ComputeStep(), and RecheckDistanceToCurrentBoundary().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | inlineprotected | 
Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointWithinVolume(), and RecheckDistanceToCurrentBoundary().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | virtual | 
Definition at line 1877 of file G4ITNavigator2.cc.
References CharacteriseDaughters(), CheckNavigatorStateIsValid, ComputeLocalPoint(), G4VoxelSafety::ComputeSafety(), G4ParameterisedNavigation::ComputeSafety(), G4NormalNavigation::ComputeSafety(), G4VoxelNavigation::ComputeSafety(), G4RegularNavigation::ComputeSafety(), G4ReplicaNavigation::ComputeSafety(), FatalException, fEnteredDaughter, fExitedMother, fHistory, fnormalNav, fparamNav, fpNavigatorState, fPreviousSafety, fPreviousSftOrigin, fpVoxelSafety, fregularNav, freplicaNav, fStepEndPoint, fVerbose, fvoxelNav, G4cout, G4endl, G4Exception(), GetDaughtersRegularStructureId(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4LogicalVolume::GetVoxelHeader(), kCarTolerance, kNormal, kParameterised, kReplica, LocateGlobalPointWithinVolume(), and PrintState().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | virtual | 
Definition at line 897 of file G4ITNavigator2.cc.
References CharacteriseDaughters(), CheckNavigatorStateIsValid, G4VPhysicalVolume::CheckOverlaps(), ComputeLocalAxis(), ComputeLocalPoint(), G4RegularNavigation::ComputeStep(), G4ParameterisedNavigation::ComputeStep(), G4NormalNavigation::ComputeStep(), G4VoxelNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), ComputeStepLog(), EventMustBeAborted, fAbandonThreshold_NoZeroSteps, fActionThreshold_NoZeroSteps, FatalException, fBlockedPhysicalVolume, fBlockedReplicaNo, fCalculatedExitNormal, fChangedGrandMotherRefFrame, fEnteredDaughter, fEntering, fExitedMother, fExiting, fExitNormal, fExitNormalGlobalFrame, fGrandMotherExitNormal, fHistory, fLastLocatedPointLocal, fLastStepEndPointLocal, fLastStepWasZero, fLastTriedStepComputation, fLocatedOnEdge, fnormalNav, fNumberZeroSteps, fparamNav, fPreviousSafety, fPreviousSftOrigin, fPushed, fregularNav, freplicaNav, fStepEndPoint, fValidExitNormal, fVerbose, fvoxelNav, fWarnPush, G4cout, G4endl, G4Exception(), G4ThreadLocal, G4VPhysicalVolume::GetCopyNo(), GetDaughtersRegularStructureId(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4VPhysicalVolume::GetRegularStructureId(), G4VPhysicalVolume::GetRotation(), G4LogicalVolume::GetSolid(), G4LogicalVolume::GetVoxelHeader(), JustWarning, kCarTolerance, kInfinity, kNormal, kParameterised, kReplica, LocateGlobalPointAndSetup(), LocateGlobalPointWithinVolume(), G4INCL::Math::min(), PrintState(), G4VSolid::SurfaceNormal(), and G4AffineTransform::TransformAxis().
Referenced by CheckNextStep().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
Definition at line 2283 of file G4ITNavigator2.cc.
References CheckNavigatorStateIsValid, fHistory, fLastLocatedPointLocal, fPreviousSafety, fPreviousSftOrigin, G4cerr, G4cout, G4endl, G4Exception(), G4ThreadLocal, JustWarning, kCarTolerance, mm, and sqr().
Referenced by ComputeStep().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | virtual | 
Definition at line 2213 of file G4ITNavigator2.cc.
References CheckNavigatorStateIsValid, and CreateTouchableHistory().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inlineprotected | 
Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), and LocateGlobalPointWithinVolume().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | virtual | 
Definition at line 1724 of file G4ITNavigator2.cc.
References CheckNavigatorStateIsValid, fCalculatedExitNormal, fEntering, fExiting, fExitNormalGlobalFrame, fLastTriedStepComputation, fStepEndPoint, fVerbose, G4endl, G4Exception(), GetLocalExitNormalAndCheck(), GetLocalToGlobalTransform(), GetVerboseLevel(), JustWarning, kCarTolerance, perMillion, SetVerboseLevel(), and G4AffineTransform::TransformAxis().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | inline | 
| 
 | virtual | 
Definition at line 1479 of file G4ITNavigator2.cc.
References CheckNavigatorStateIsValid, G4VSolid::DistanceToIn(), G4VSolid::DistanceToOut(), EnteredDaughterVolume(), FatalException, fBlockedPhysicalVolume, fBlockedReplicaNo, fCalculatedExitNormal, fCheck, fEntering, fExitedMother, fExiting, fGrandMotherExitNormal, fHistory, fLastLocatedPointLocal, fLastStepEndPointLocal, fLastTriedStepComputation, fVerbose, G4endl, G4Exception(), G4VSolid::GetEntityType(), GetMotherToDaughterTransform(), G4VSolid::GetName(), G4LogicalVolume::GetName(), G4LogicalVolume::GetSolid(), G4VSolid::Inside(), JustWarning, kCarTolerance, kInside, kOutside, kSurface, perMillion, G4VSolid::SurfaceNormal(), G4AffineTransform::TransformPoint(), and VolumeType().
Referenced by GetLocalExitNormalAndCheck().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | virtual | 
Definition at line 1688 of file G4ITNavigator2.cc.
References CheckNavigatorStateIsValid, fLastTriedStepComputation, GetGlobalToLocalTransform(), GetLocalExitNormal(), and G4AffineTransform::TransformPoint().
Referenced by GetGlobalExitNormal().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | inline | 
| G4AffineTransform G4ITNavigator2::GetMotherToDaughterTransform | ( | G4VPhysicalVolume * | dVolume, | 
| G4int | dReplicaNo, | ||
| EVolume | dVolumeType | ||
| ) | 
Definition at line 1641 of file G4ITNavigator2.cc.
References CheckNavigatorStateIsValid, G4VSolid::ComputeDimensions(), G4VPVParameterisation::ComputeSolid(), G4VPVParameterisation::ComputeTransformation(), FatalException, G4Exception(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetParameterisation(), G4VPhysicalVolume::GetRegularStructureId(), G4VPhysicalVolume::GetRotation(), G4VPhysicalVolume::GetTranslation(), kNormal, kParameterised, kReplica, and G4LogicalVolume::SetSolid().
Referenced by GetLocalExitNormal().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| G4ITNavigatorState_Lock2 * G4ITNavigator2::GetNavigatorState | ( | ) | 
Definition at line 696 of file G4ITNavigator2.cc.
References fpNavigatorState.
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | virtual | 
Definition at line 146 of file G4ITNavigator2.cc.
References G4ReplicaNavigation::BackLocate(), CharacteriseDaughters(), CheckNavigatorStateIsValid, G4VSolid::ComputeDimensions(), G4VPVParameterisation::ComputeSolid(), G4VPVParameterisation::ComputeTransformation(), G4ReplicaNavigation::ComputeTransformation(), fBlockedPhysicalVolume, fBlockedReplicaNo, fChangedGrandMotherRefFrame, fCheck, fEnteredDaughter, fEntering, fExitedMother, fExiting, fGrandMotherExitNormal, fHistory, fLastLocatedPointLocal, fLastTriedStepComputation, fLocatedOnEdge, fLocatedOutsideWorld, fnormalNav, fparamNav, fregularNav, freplicaNav, fValidExitNormal, fVerbose, fvoxelNav, fWasLimitedByGeometry, G4cout, G4endl, GetDaughtersRegularStructureId(), G4VPhysicalVolume::GetLogicalVolume(), G4VSolid::GetName(), G4VPhysicalVolume::GetName(), G4VPhysicalVolume::GetRotation(), G4LogicalVolume::GetVoxelHeader(), G4VSolid::Inside(), kNormal, kOutside, kParameterised, kReplica, kSurface, G4RegularNavigation::LevelLocate(), G4NormalNavigation::LevelLocate(), G4ParameterisedNavigation::LevelLocate(), G4VoxelNavigation::LevelLocate(), G4ReplicaNavigation::LevelLocate(), CLHEP::normal(), PrintState(), ResetStackAndState(), G4LogicalVolume::SetSolid(), G4VSolid::SurfaceNormal(), G4LogicalVolume::UpdateMaterial(), and VolumeType().
Referenced by ComputeStep(), NewNavigatorStateAndLocate(), and ResetHierarchyAndLocate().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | virtual | 
Definition at line 608 of file G4ITNavigator2.cc.
References CharacteriseDaughters(), CheckNavigatorStateIsValid, ComputeLocalPoint(), FatalException, fBlockedPhysicalVolume, fBlockedReplicaNo, fChangedGrandMotherRefFrame, fEnteredDaughter, fEntering, fExitedMother, fExiting, fHistory, fLastLocatedPointLocal, fLastTriedStepComputation, fparamNav, fVerbose, fvoxelNav, fWasLimitedByGeometry, G4cout, G4endl, G4Exception(), GetDaughtersRegularStructureId(), G4VPhysicalVolume::GetLogicalVolume(), G4LogicalVolume::GetVoxelHeader(), kNormal, kParameterised, kReplica, G4ParameterisedNavigation::ParamVoxelLocate(), and G4VoxelNavigation::VoxelLocate().
Referenced by ComputeSafety(), and ComputeStep().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | inline | 
| 
 | inline | 
| void G4ITNavigator2::NewNavigatorState | ( | ) | 
Definition at line 714 of file G4ITNavigator2.cc.
References FatalException, fHistory, fpNavigatorState, fTopPhysical, G4Exception(), and SetupHierarchy().
 Here is the call graph for this function:
 Here is the call graph for this function:| void G4ITNavigator2::NewNavigatorState | ( | const G4TouchableHistory & | h | ) | 
Definition at line 731 of file G4ITNavigator2.cc.
References FatalException, fHistory, fLastTriedStepComputation, fpNavigatorState, fTopPhysical, G4Exception(), G4TouchableHistory::GetHistory(), and SetupHierarchy().
 Here is the call graph for this function:
 Here is the call graph for this function:| G4VPhysicalVolume * G4ITNavigator2::NewNavigatorStateAndLocate | ( | const G4ThreeVector & | p, | 
| const G4ThreeVector & | direction | ||
| ) | 
Definition at line 749 of file G4ITNavigator2.cc.
References FatalException, fHistory, fpNavigatorState, fTopPhysical, G4Exception(), LocateGlobalPointAndSetup(), and SetupHierarchy().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
| void G4ITNavigator2::PrintState | ( | ) | const | 
Definition at line 2223 of file G4ITNavigator2.cc.
References CheckNavigatorStateIsValid, fBlockedPhysicalVolume, fBlockedReplicaNo, fEntering, fExiting, fExitNormal, fLastLocatedPointLocal, fLastStepWasZero, fPreviousSafety, fPreviousSftOrigin, fValidExitNormal, fVerbose, G4cout, and G4endl.
Referenced by ComputeSafety(), ComputeStep(), and LocateGlobalPointAndSetup().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | virtual | 
Definition at line 2047 of file G4ITNavigator2.cc.
References G4LogicalVolume::CharacteriseDaughters(), ComputeLocalAxis(), ComputeLocalPoint(), DBL_MAX, G4VSolid::DistanceToIn(), G4VSolid::DistanceToOut(), FatalException, fBlockedPhysicalVolume, fEnteredDaughter, fHistory, fLastTriedStepComputation, G4Exception(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetRotation(), G4LogicalVolume::GetSolid(), G4VPhysicalVolume::GetTranslation(), G4VSolid::Inside(), kInside, kOutside, kReplica, G4INCL::Math::min(), and G4AffineTransform::TransformPoint().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | virtual | 
Definition at line 118 of file G4ITNavigator2.cc.
References fHistory, fLastTriedStepComputation, G4TouchableHistory::GetHistory(), LocateGlobalPointAndSetup(), and SetupHierarchy().
 Here is the call graph for this function:
 Here is the call graph for this function:| void G4ITNavigator2::ResetNavigatorState | ( | ) | 
Definition at line 709 of file G4ITNavigator2.cc.
References fpNavigatorState.
| 
 | inline | 
| 
 | protectedvirtual | 
Definition at line 1380 of file G4ITNavigator2.cc.
References fBlockedPhysicalVolume, fBlockedReplicaNo, fCalculatedExitNormal, fChangedGrandMotherRefFrame, fEnteredDaughter, fEntering, fExitedMother, fExiting, fExitNormal, fExitNormalGlobalFrame, fGrandMotherExitNormal, fLastLocatedPointLocal, fLastStepWasZero, fLocatedOnEdge, fLocatedOutsideWorld, fNumberZeroSteps, fPreviousSafety, fPreviousSftOrigin, fPushed, fValidExitNormal, fWasLimitedByGeometry, and kInfinity.
| 
 | inline | 
| void G4ITNavigator2::SetNavigatorState | ( | G4ITNavigatorState_Lock2 * | navState | ) | 
Definition at line 701 of file G4ITNavigator2.cc.
References fpNavigatorState, and SetupHierarchy().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | inline | 
| 
 | protectedvirtual | 
Definition at line 1419 of file G4ITNavigator2.cc.
References G4VSolid::ComputeDimensions(), G4VPVParameterisation::ComputeSolid(), G4VPVParameterisation::ComputeTransformation(), G4ReplicaNavigation::ComputeTransformation(), fHistory, freplicaNav, G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetParameterisation(), G4VPVParameterisation::IsNested(), kNormal, kParameterised, kReplica, G4TouchableHistory::MoveUpHistory(), G4LogicalVolume::SetSolid(), and G4LogicalVolume::UpdateMaterial().
Referenced by NewNavigatorState(), NewNavigatorStateAndLocate(), ResetHierarchyAndLocate(), and SetNavigatorState().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | inline | 
| 
 | inline | 
| 
 | inlineprotected | 
Referenced by GetLocalExitNormal(), and LocateGlobalPointAndSetup().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | friend | 
Definition at line 2387 of file G4ITNavigator2.cc.
| 
 | private | 
Definition at line 412 of file G4ITNavigator2.hh.
Referenced by ComputeStep(), and G4ITNavigator2().
| 
 | private | 
Definition at line 410 of file G4ITNavigator2.hh.
Referenced by ComputeStep(), and G4ITNavigator2().
| 
 | private | 
Definition at line 407 of file G4ITNavigator2.hh.
Referenced by G4ITNavigator2().
| G4bool G4ITNavigator2::fCheck | 
Definition at line 576 of file G4ITNavigator2.hh.
Referenced by GetLocalExitNormal(), and LocateGlobalPointAndSetup().
| 
 | static | 
Definition at line 104 of file G4ITNavigator2.hh.
| G4NormalNavigation G4ITNavigator2::fnormalNav | 
Definition at line 584 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), ComputeStep(), G4ITNavigator2(), and LocateGlobalPointAndSetup().
| G4ParameterisedNavigation G4ITNavigator2::fparamNav | 
Definition at line 586 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), and LocateGlobalPointWithinVolume().
| G4NavigatorState* G4ITNavigator2::fpNavigatorState | 
Definition at line 532 of file G4ITNavigator2.hh.
Referenced by CheckNavigatorState(), CheckNextStep(), ComputeSafety(), G4ITNavigator2(), GetNavigatorState(), NewNavigatorState(), NewNavigatorStateAndLocate(), ResetNavigatorState(), and SetNavigatorState().
| G4VoxelSafety* G4ITNavigator2::fpVoxelSafety | 
Definition at line 589 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), G4ITNavigator2(), and ~G4ITNavigator2().
| G4RegularNavigation G4ITNavigator2::fregularNav | 
Definition at line 588 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), ComputeStep(), G4ITNavigator2(), and LocateGlobalPointAndSetup().
| G4ReplicaNavigation G4ITNavigator2::freplicaNav | 
Definition at line 587 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), and SetupHierarchy().
| G4VPhysicalVolume* G4ITNavigator2::fTopPhysical | 
Definition at line 570 of file G4ITNavigator2.hh.
Referenced by NewNavigatorState(), and NewNavigatorStateAndLocate().
| 
 | protected | 
Definition at line 402 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), ComputeStep(), GetGlobalExitNormal(), GetLocalExitNormal(), LocateGlobalPointAndSetup(), LocateGlobalPointWithinVolume(), operator<<(), and PrintState().
| G4VoxelNavigation G4ITNavigator2::fvoxelNav | 
Definition at line 585 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), and LocateGlobalPointWithinVolume().
| G4bool G4ITNavigator2::fWarnPush | 
Definition at line 579 of file G4ITNavigator2.hh.
Referenced by ComputeStep().
| 
 | protected | 
Definition at line 399 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), ComputeStep(), ComputeStepLog(), G4ITNavigator2(), GetGlobalExitNormal(), and GetLocalExitNormal().