37#ifndef G4REPLICANAVIGATION_HH
38#define G4REPLICANAVIGATION_HH
61 enum ESide {
kNull,
kRMin,
kRMax,
kSPhi,
kEPhi,
kPX,
kMX,
kPY,
kMY,
kPZ,
kMZ,
kMother};
87 const G4int blockedNum,
90 const G4bool pLocatedOnEdge,
97 const G4double currentProposedStepLength,
101 G4bool& calculatedExitNormal,
106 G4int &blockedReplicaNo );
117 G4bool& notKnownInside )
const;
126 const G4int replicaNo,
129 const G4int replicaNo,
132 const G4int replicaNo,
151 const G4int blocked=-1 )
const;
162 const G4int replicaNo,
CLHEP::Hep3Vector G4ThreeVector
G4double DistanceToOut(const G4VPhysicalVolume *pVol, const G4int replicaNo, const G4ThreeVector &localPoint) const
G4double ComputeStep(const G4ThreeVector &globalPoint, const G4ThreeVector &globalDirection, const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double currentProposedStepLength, G4double &newSafety, G4NavigationHistory &history, G4bool &validExitNormal, G4bool &calculatedExitNormal, G4ThreeVector &exitNormal, G4bool &exiting, G4bool &entering, G4VPhysicalVolume *(*pBlockedPhysical), G4int &blockedReplicaNo)
G4double halfkRadTolerance
G4double ComputeSafety(const G4ThreeVector &globalPoint, const G4ThreeVector &localPoint, G4NavigationHistory &history, const G4double pProposedMaxLength=DBL_MAX)
void SetPhiTransformation(const G4double ang, G4VPhysicalVolume *pVol=0) const
void ComputeTransformation(const G4int replicaNo, G4VPhysicalVolume *pVol, G4ThreeVector &point) const
G4int VoxelLocate(const G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint, const G4int blocked=-1) const
G4bool LevelLocate(G4NavigationHistory &history, const G4VPhysicalVolume *blockedVol, const G4int blockedNum, const G4ThreeVector &globalPoint, const G4ThreeVector *globalDirection, const G4bool pLocatedOnEdge, G4ThreeVector &localPoint)
void CheckMode(G4bool mode)
G4double DistanceToOutPhi(const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double width, G4ExitNormal &foundNormal) const
EInside Inside(const G4VPhysicalVolume *pVol, const G4int replicaNo, const G4ThreeVector &localPoint) const
G4int GetVerboseLevel() const
void SetVerboseLevel(G4int level)
G4double halfkCarTolerance
G4double halfkAngTolerance
G4double DistanceToOutRad(const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double width, const G4double offset, const G4int replicaNo, G4ExitNormal &foundNormal) const
EInside BackLocate(G4NavigationHistory &history, const G4ThreeVector &globalPoint, G4ThreeVector &localPoint, const G4bool &exiting, G4bool ¬KnownInside) const
G4ExitNormal(G4ThreeVector norm=G4ThreeVector(0., 0., 0.), G4bool calc=false, G4bool valid=false, ESide side=kNull)