47   : fverbose(false), fcheck(false), fnormalNav(0)
 
   63                                 const G4double currentProposedStepLength,
 
   71                                       G4int& blockedReplicaNo)
 
   86   LevelLocate( history, *pBlockedPhysical, blockedReplicaNo, 
 
   87                globalPoint, &globalDirection, 
true, localPoint2 );
 
  110                                  currentProposedStepLength,
 
  126                                 const G4double currentProposedStepLength,
 
  134                                 G4int& blockedReplicaNo,
 
  146                                    currentProposedStepLength,
 
  177   G4ThreeVector prevVoxelTranslation = containerPoint - localPoint;
 
  202     newStep = voxelBox->
DistanceToOut( localPoint, localDirection );
 
  204     if( (bFirstStep) && (newStep < currentProposedStepLength) )
 
  212     totalNewStep += newStep;
 
  216     if(std::fabs(totalNewStep-currentProposedStepLength) < 
kCarTolerance)
 
  218       return currentProposedStepLength;
 
  220     if(totalNewStep > currentProposedStepLength) 
 
  223         AddStepLength(copyNo, newStep-totalNewStep+currentProposedStepLength);
 
  224       return currentProposedStepLength;
 
  234     containerPoint += newStep*localDirection;
 
  242     copyNo = param->
GetReplicaNo(containerPoint,localDirection);
 
  249     localPoint += newStep*localDirection;
 
  250     localPoint += prevVoxelTranslation - voxelTranslation;
 
  252     prevVoxelTranslation = voxelTranslation;
 
  257     if( currentMate != nextMate ) { 
break; }
 
  313   if( globalDirection )
 
  324   replicaNo = pParam->
GetReplicaNo( localPoint, localDir );
 
  344                            pPhysical, &parentTouchable) );
 
G4VPhysicalVolume * GetTopVolume() const 
 
G4double ComputeStep(const G4ThreeVector &globalPoint, const G4ThreeVector &globalDirection, const G4double currentProposedStepLength, G4double &newSafety, G4NavigationHistory &history, G4bool &validExitNormal, G4ThreeVector &exitNormal, G4bool &exiting, G4bool &entering, G4VPhysicalVolume *(*pBlockedPhysical), G4int &blockedReplicaNo)
 
void UpdateMaterial(G4Material *pMaterial)
 
CLHEP::Hep3Vector G4ThreeVector
 
G4double GetSurfaceTolerance() const 
 
G4VPhysicalVolume * GetDaughter(const G4int i) const 
 
virtual void ComputeTransformation(const G4int, G4VPhysicalVolume *) const 
 
virtual G4Material * ComputeMaterial(const G4int repNo, G4VPhysicalVolume *currentVol, const G4VTouchable *parentTouch=0)
 
G4bool LevelLocate(G4NavigationHistory &history, const G4VPhysicalVolume *blockedVol, const G4int blockedNum, const G4ThreeVector &globalPoint, const G4ThreeVector *globalDirection, const G4bool pLocatedOnEdge, G4ThreeVector &localPoint)
 
virtual G4int GetReplicaNo(const G4ThreeVector &localPoint, const G4ThreeVector &localDir)
 
void AddStepLength(G4int copyNo, G4double slen)
 
G4double ComputeSafety(const G4ThreeVector &globalpoint, const G4NavigationHistory &history, const G4double pMaxLength=DBL_MAX)
 
G4bool SkipEqualMaterials() const 
 
G4double ComputeSafety(const G4ThreeVector &localPoint, const G4NavigationHistory &history, const G4double pProposedMaxLength=DBL_MAX)
 
virtual EInside Inside(const G4ThreeVector &p) const =0
 
virtual G4VPVParameterisation * GetParameterisation() const =0
 
virtual void SetCopyNo(G4int CopyNo)=0
 
void NewLevel(G4VPhysicalVolume *pNewMother, EVolume vType=kNormal, G4int nReplica=-1)
 
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)
 
G4double ComputeStepSkippingEqualMaterials(G4ThreeVector &localPoint, const G4ThreeVector &globalDirection, const G4double currentProposedStepLength, G4double &newSafety, G4NavigationHistory &history, G4bool &validExitNormal, G4ThreeVector &exitNormal, G4bool &exiting, G4bool &entering, G4VPhysicalVolume *(*pBlockedPhysical), G4int &blockedReplicaNo, G4VPhysicalVolume *pCurrentPhysical)
 
G4LogicalVolume * GetLogicalVolume() const 
 
const G4AffineTransform & GetTransform(G4int n) const 
 
size_t GetNoVoxel() const 
 
G4NormalNavigation * fnormalNav
 
G4VSolid * GetContainerSolid() const 
 
const G4AffineTransform & GetTopTransform() const 
 
static G4RegularNavigationHelper * Instance()
 
virtual G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const =0
 
static G4GeometryTolerance * GetInstance()
 
G4VSolid * GetSolid() const 
 
G4ThreeVector GetTranslation(const G4int copyNo) const