41 #ifndef G4REPLICANAVIGATION_HH 
   42 #define G4REPLICANAVIGATION_HH 
   44 #include <CLHEP/Units/SystemOfUnits.h> 
   65    enum  ESide {
kNull,
kRMin,
kRMax,
kSPhi,
kEPhi,
kPX,
kMX,
kPY,
kMY,
kPZ,
kMZ,
kMother};
 
   79    { exitNormal= norm; calculated= calc; validConvex=valid; exitSide=side;}
 
   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,
 
G4int GetVerboseLevel() const 
 
G4int VoxelLocate(const G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint, const G4int blocked=-1) const 
 
CLHEP::Hep3Vector G4ThreeVector
 
void CheckMode(G4bool mode)
 
EInside Inside(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 DistanceToOut(const G4VPhysicalVolume *pVol, const G4int replicaNo, const G4ThreeVector &localPoint) 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)
 
void SetVerboseLevel(G4int level)
 
G4double DistanceToOutRad(const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double width, const G4double offset, const G4int replicaNo, G4ExitNormal &foundNormal) const 
 
G4double DistanceToOutPhi(const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double width, G4ExitNormal &foundNormal) const 
 
G4double ComputeSafety(const G4ThreeVector &globalPoint, const G4ThreeVector &localPoint, G4NavigationHistory &history, const G4double pProposedMaxLength=DBL_MAX)
 
G4bool LevelLocate(G4NavigationHistory &history, const G4VPhysicalVolume *blockedVol, const G4int blockedNum, const G4ThreeVector &globalPoint, const G4ThreeVector *globalDirection, const G4bool pLocatedOnEdge, G4ThreeVector &localPoint)
 
void SetPhiTransformation(const G4double ang, G4VPhysicalVolume *pVol=0) const 
 
EInside BackLocate(G4NavigationHistory &history, const G4ThreeVector &globalPoint, G4ThreeVector &localPoint, const G4bool &exiting, G4bool ¬KnownInside) const