41 #ifndef G4REPLICANAVIGATION_HH
42 #define G4REPLICANAVIGATION_HH
65 enum ESide {
kNull,
kRMin,
kRMax,
kSPhi,
kEPhi,
kPX,
kMX,
kPY,
kMY,
kPZ,
kMZ,
kMother};
91 const G4int blockedNum,
94 const G4bool pLocatedOnEdge,
101 const G4double currentProposedStepLength,
105 G4bool &calculatedExitNormal,
110 G4int &blockedReplicaNo );
121 G4bool ¬KnownInside )
const;
130 const G4int replicaNo,
133 const G4int replicaNo,
136 const G4int replicaNo,
155 const G4int blocked=-1 )
const;
166 const G4int replicaNo,
185 #include "G4ReplicaNavigation.icc"
EInside BackLocate(G4NavigationHistory &history, const G4ThreeVector &globalPoint, G4ThreeVector &localPoint, const G4bool &exiting, G4bool ¬KnownInside) const
void SetPhiTransformation(const G4double ang, G4VPhysicalVolume *pVol=0) const
CLHEP::Hep3Vector G4ThreeVector
G4int GetVerboseLevel() const
void ComputeTransformation(const G4int replicaNo, G4VPhysicalVolume *pVol, G4ThreeVector &point) const
G4ExitNormal(G4ThreeVector norm=G4ThreeVector(0., 0., 0.), G4bool calc=false, G4bool valid=false, ESide side=kNull)
G4double halfkRadTolerance
G4double DistanceToOutPhi(const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double width, G4ExitNormal &foundNormal) 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 ComputeSafety(const G4ThreeVector &globalPoint, const G4ThreeVector &localPoint, G4NavigationHistory &history, const G4double pProposedMaxLength=DBL_MAX)
G4double DistanceToOut(const G4VPhysicalVolume *pVol, const G4int replicaNo, const G4ThreeVector &localPoint) const
EInside Inside(const G4VPhysicalVolume *pVol, const G4int replicaNo, const G4ThreeVector &localPoint) const
G4double DistanceToOutRad(const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double width, const G4double offset, const G4int replicaNo, G4ExitNormal &foundNormal) const
G4double halfkAngTolerance
void SetVerboseLevel(G4int level)
G4double halfkCarTolerance
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)