Geant4
10.02.p02
|
#include <G4ITNavigator2.hh>
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 102 of file G4ITNavigator2.hh.
G4ITNavigator2::G4ITNavigator2 | ( | ) |
Definition at line 100 of file G4ITNavigator2.cc.
References fAbandonThreshold_NoZeroSteps, fActionThreshold_NoZeroSteps, fActive, fnormalNav, fpNavigatorState, fpVoxelSafety, fregularNav, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), kCarTolerance, and G4RegularNavigation::SetNormalNavigation().
|
virtual |
Definition at line 123 of file G4ITNavigator2.cc.
References fpVoxelSafety.
|
private |
|
inline |
|
inlineprotected |
Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), and LocateGlobalPointWithinVolume().
|
inline |
void G4ITNavigator2::CheckNavigatorState | ( | ) | const |
Definition at line 694 of file G4ITNavigator2.cc.
References FatalException, fpNavigatorState, and G4Exception().
G4double G4ITNavigator2::CheckNextStep | ( | const G4ThreeVector & | pGlobalPoint, |
const G4ThreeVector & | pDirection, | ||
const G4double | pCurrentProposedStepLength, | ||
G4double & | pNewSafety | ||
) |
Definition at line 1356 of file G4ITNavigator2.cc.
References CheckNavigatorStateIsValid, ComputeStep(), and fpNavigatorState.
|
inlineprotected |
Referenced by ComputeStep(), and RecheckDistanceToCurrentBoundary().
|
inlineprotected |
Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointWithinVolume(), and RecheckDistanceToCurrentBoundary().
|
virtual |
Definition at line 1891 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().
|
virtual |
Definition at line 910 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().
|
private |
Definition at line 2297 of file G4ITNavigator2.cc.
References CheckNavigatorStateIsValid, fHistory, fLastLocatedPointLocal, fPreviousSafety, fPreviousSftOrigin, G4cerr, G4cout, G4endl, G4Exception(), G4ThreadLocal, JustWarning, kCarTolerance, mm, and sqr().
Referenced by ComputeStep().
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Definition at line 2227 of file G4ITNavigator2.cc.
References CheckNavigatorStateIsValid, and CreateTouchableHistory().
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), and LocateGlobalPointWithinVolume().
|
virtual |
Definition at line 1738 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().
|
inline |
Referenced by GetLocalExitNormalAndCheck(), and InsideCurrentVolume().
|
virtual |
Definition at line 1493 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().
|
virtual |
Definition at line 1702 of file G4ITNavigator2.cc.
References CheckNavigatorStateIsValid, fLastTriedStepComputation, GetGlobalToLocalTransform(), GetLocalExitNormal(), and G4AffineTransform::TransformPoint().
Referenced by GetGlobalExitNormal().
|
inline |
Referenced by GetGlobalExitNormal(), and GetRandomInCurrentVolume().
G4AffineTransform G4ITNavigator2::GetMotherToDaughterTransform | ( | G4VPhysicalVolume * | dVolume, |
G4int | dReplicaNo, | ||
EVolume | dVolumeType | ||
) |
Definition at line 1655 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().
G4ITNavigatorState_Lock2 * G4ITNavigator2::GetNavigatorState | ( | ) |
Definition at line 709 of file G4ITNavigator2.cc.
References fpNavigatorState.
void G4ITNavigator2::GetRandomInCurrentVolume | ( | G4ThreeVector & | rndmPoint | ) | const |
Definition at line 2483 of file G4ITNavigator2.cc.
References G4VSolid::CalculateExtent(), fHistory, G4UniformRand, GetLocalToGlobalTransform(), G4VSolid::Inside(), kInside, BoundingBox::kMax, BoundingBox::kMin, kXAxis, kYAxis, kZAxis, G4INCL::Math::max(), G4INCL::Math::min(), and G4AffineTransform::TransformPoint().
|
inline |
|
inline |
|
inline |
EInside G4ITNavigator2::InsideCurrentVolume | ( | const G4ThreeVector & | globalPoint | ) | const |
Definition at line 2471 of file G4ITNavigator2.cc.
References fHistory, GetGlobalToLocalTransform(), and G4AffineTransform::TransformPoint().
|
inline |
|
inline |
|
virtual |
Definition at line 159 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().
|
inline |
|
inline |
|
inline |
|
virtual |
Definition at line 621 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().
|
inline |
|
inline |
void G4ITNavigator2::NewNavigatorState | ( | ) |
Definition at line 727 of file G4ITNavigator2.cc.
References FatalException, fHistory, fpNavigatorState, fTopPhysical, G4Exception(), and SetupHierarchy().
void G4ITNavigator2::NewNavigatorState | ( | const G4TouchableHistory & | h | ) |
Definition at line 744 of file G4ITNavigator2.cc.
References FatalException, fHistory, fLastTriedStepComputation, fpNavigatorState, fTopPhysical, G4Exception(), G4TouchableHistory::GetHistory(), and SetupHierarchy().
G4VPhysicalVolume * G4ITNavigator2::NewNavigatorStateAndLocate | ( | const G4ThreeVector & | p, |
const G4ThreeVector & | direction | ||
) |
Definition at line 762 of file G4ITNavigator2.cc.
References FatalException, fHistory, fpNavigatorState, fTopPhysical, G4Exception(), LocateGlobalPointAndSetup(), and SetupHierarchy().
|
private |
void G4ITNavigator2::PrintState | ( | ) | const |
Definition at line 2237 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().
|
virtual |
Definition at line 2061 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().
|
inline |
|
virtual |
Definition at line 131 of file G4ITNavigator2.cc.
References fHistory, fLastTriedStepComputation, G4TouchableHistory::GetHistory(), LocateGlobalPointAndSetup(), and SetupHierarchy().
void G4ITNavigator2::ResetNavigatorState | ( | ) |
Definition at line 722 of file G4ITNavigator2.cc.
References fpNavigatorState.
|
inline |
|
protectedvirtual |
Definition at line 1394 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 714 of file G4ITNavigator2.cc.
References fpNavigatorState, and SetupHierarchy().
|
inline |
|
protectedvirtual |
Definition at line 1433 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().
|
inline |
|
inline |
|
inlineprotected |
Referenced by GetLocalExitNormal(), and LocateGlobalPointAndSetup().
|
friend |
Definition at line 2401 of file G4ITNavigator2.cc.
|
private |
Definition at line 422 of file G4ITNavigator2.hh.
Referenced by ComputeStep(), and G4ITNavigator2().
|
private |
Definition at line 420 of file G4ITNavigator2.hh.
Referenced by ComputeStep(), and G4ITNavigator2().
|
private |
Definition at line 417 of file G4ITNavigator2.hh.
Referenced by G4ITNavigator2().
G4bool G4ITNavigator2::fCheck |
Definition at line 586 of file G4ITNavigator2.hh.
Referenced by GetLocalExitNormal(), and LocateGlobalPointAndSetup().
|
static |
Definition at line 105 of file G4ITNavigator2.hh.
G4NormalNavigation G4ITNavigator2::fnormalNav |
Definition at line 594 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), ComputeStep(), G4ITNavigator2(), and LocateGlobalPointAndSetup().
G4ParameterisedNavigation G4ITNavigator2::fparamNav |
Definition at line 596 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), and LocateGlobalPointWithinVolume().
G4NavigatorState* G4ITNavigator2::fpNavigatorState |
Definition at line 542 of file G4ITNavigator2.hh.
Referenced by CheckNavigatorState(), CheckNextStep(), ComputeSafety(), G4ITNavigator2(), GetNavigatorState(), NewNavigatorState(), NewNavigatorStateAndLocate(), ResetNavigatorState(), and SetNavigatorState().
G4VoxelSafety* G4ITNavigator2::fpVoxelSafety |
Definition at line 599 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), G4ITNavigator2(), and ~G4ITNavigator2().
G4RegularNavigation G4ITNavigator2::fregularNav |
Definition at line 598 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), ComputeStep(), G4ITNavigator2(), and LocateGlobalPointAndSetup().
G4ReplicaNavigation G4ITNavigator2::freplicaNav |
Definition at line 597 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), and SetupHierarchy().
G4VPhysicalVolume* G4ITNavigator2::fTopPhysical |
Definition at line 580 of file G4ITNavigator2.hh.
Referenced by NewNavigatorState(), and NewNavigatorStateAndLocate().
|
protected |
Definition at line 412 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), ComputeStep(), GetGlobalExitNormal(), GetLocalExitNormal(), LocateGlobalPointAndSetup(), LocateGlobalPointWithinVolume(), operator<<(), and PrintState().
G4VoxelNavigation G4ITNavigator2::fvoxelNav |
Definition at line 595 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), ComputeStep(), LocateGlobalPointAndSetup(), and LocateGlobalPointWithinVolume().
G4bool G4ITNavigator2::fWarnPush |
Definition at line 589 of file G4ITNavigator2.hh.
Referenced by ComputeStep().
|
protected |
Definition at line 409 of file G4ITNavigator2.hh.
Referenced by ComputeSafety(), ComputeStep(), ComputeStepLog(), G4ITNavigator2(), GetGlobalExitNormal(), and GetLocalExitNormal().