65                                 const G4double currentProposedStepLength,
 
   73                                       G4int &blockedReplicaNo)
 
   79   G4double ourStep=currentProposedStepLength, motherSafety, ourSafety;
 
   80   G4int localNoDaughters, sampleNo;
 
   84   motherSolid    = motherLogical->
GetSolid();
 
   89   ourSafety = motherSafety; 
 
  104   if ( exiting&&validExitNormal )
 
  110       blockedExitedVol =* pBlockedPhysical;
 
  118   for ( sampleNo=localNoDaughters-1; sampleNo>=0; sampleNo--)
 
  120     samplePhysical = motherLogical->
GetDaughter(sampleNo);
 
  121     if ( samplePhysical!=blockedExitedVol )
 
  138       if ( sampleSafety<ourSafety )
 
  140         ourSafety=sampleSafety;
 
  142       if ( sampleSafety<=ourStep )
 
  144         sampleDirection = sampleTf.TransformAxis(localDirection);
 
  152                                     sampleSafety, sampleStep);
 
  155         if ( sampleStep<=ourStep )
 
  157           ourStep  = sampleStep;
 
  160           *pBlockedPhysical = samplePhysical;
 
  161           blockedReplicaNo  = -1;
 
  166               sampleDirection, localDirection, sampleSafety, sampleStep);
 
  173   if ( currentProposedStepLength<ourSafety )
 
  179     *pBlockedPhysical = 0;
 
  186     if ( motherSafety<=ourStep )
 
  197                                     motherStep, motherSafety);
 
  201       if ( motherStep<=ourStep )
 
  203         ourStep  = motherStep;
 
  206         if ( validExitNormal )
 
  211             exitNormal *= rot->inverse();
 
  217         validExitNormal = 
false;
 
  221   newSafety = ourSafety;
 
  237   G4int localNoDaughters, sampleNo;
 
  241   motherSolid    = motherLogical->
GetSolid();
 
  246   ourSafety = motherSafety; 
 
  258   for ( sampleNo=localNoDaughters-1; sampleNo>=0; sampleNo-- )
 
  260     samplePhysical = motherLogical->
GetDaughter(sampleNo);
 
  270     if ( sampleSafety<ourSafety )
 
  272       ourSafety = sampleSafety;
 
void AlongComputeStepLog(const G4VSolid *sampleSolid, const G4ThreeVector &samplePoint, const G4ThreeVector &sampleDirection, const G4ThreeVector &localDirection, G4double sampleSafety, G4double sampleStep) const 
 
G4VPhysicalVolume * GetTopVolume() const 
 
const G4ThreeVector & GetTranslation() const 
 
static const G4double kInfinity
 
CLHEP::Hep3Vector G4ThreeVector
 
CLHEP::HepRotation G4RotationMatrix
 
void PrintDaughterLog(const G4VSolid *sampleSolid, const G4ThreeVector &samplePoint, G4double sampleSafety, G4double sampleStep) const 
 
void ComputeSafetyLog(const G4VSolid *solid, const G4ThreeVector &point, G4double safety, G4bool banner) const 
 
G4VPhysicalVolume * GetDaughter(const G4int i) const 
 
G4double ComputeSafety(const G4ThreeVector &globalpoint, const G4NavigationHistory &history, const G4double pMaxLength=DBL_MAX)
 
virtual G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const =0
 
static const double kMinExitingNormalCosine
 
G4int GetNoDaughters() const 
 
G4double ComputeStep(const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double currentProposedStepLength, G4double &newSafety, G4NavigationHistory &history, G4bool &validExitNormal, G4ThreeVector &exitNormal, G4bool &exiting, G4bool &entering, G4VPhysicalVolume *(*pBlockedPhysical), G4int &blockedReplicaNo)
 
G4LogicalVolume * GetLogicalVolume() const 
 
void PreComputeStepLog(const G4VPhysicalVolume *motherPhysical, G4double motherSafety, const G4ThreeVector &localPoint) const 
 
const G4RotationMatrix * GetRotation() const 
 
G4NavigationLogger * fLogger
 
void PostComputeStepLog(const G4VSolid *motherSolid, const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, G4double motherStep, G4double motherSafety) const 
 
virtual G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const =0
 
G4VSolid * GetSolid() const