Geant4  10.01
G4ParameterisedNavigation Class Reference

#include <G4ParameterisedNavigation.hh>

+ Inheritance diagram for G4ParameterisedNavigation:
+ Collaboration diagram for G4ParameterisedNavigation:

Public Member Functions

 G4ParameterisedNavigation ()
 
 ~G4ParameterisedNavigation ()
 
G4SmartVoxelNode * ParamVoxelLocate (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint)
 
G4bool LevelLocate (G4NavigationHistory &history, const G4VPhysicalVolume *blockedVol, const G4int blockedNum, const G4ThreeVector &globalPoint, const G4ThreeVector *globalDirection, const G4bool pLocatedOnEdge, G4ThreeVector &localPoint)
 
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)
 
G4double ComputeSafety (const G4ThreeVector &localPoint, const G4NavigationHistory &history, const G4double pProposedMaxLength=DBL_MAX)
 
- Public Member Functions inherited from G4VoxelNavigation
 G4VoxelNavigation ()
 
virtual ~G4VoxelNavigation ()
 
G4SmartVoxelNode * VoxelLocate (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint)
 
G4int GetVerboseLevel () const
 
void SetVerboseLevel (G4int level)
 
void CheckMode (G4bool mode)
 
void EnableBestSafety (G4bool flag=false)
 

Private Member Functions

G4double ComputeVoxelSafety (const G4ThreeVector &localPoint, const EAxis pAxis) const
 
G4bool LocateNextVoxel (const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double currentStep, const EAxis pAxis)
 
G4VSolid * IdentifyAndPlaceSolid (G4int num, G4VPhysicalVolume *apparentPhys, G4VPVParameterisation *curParam)
 
G4VPhysicalVolume * CreateVolumeWithParent (G4VPhysicalVolume *curPhysical, const G4NavigationHistory &hist)
 

Private Attributes

EAxis fVoxelAxis
 
G4int fVoxelNoSlices
 
G4double fVoxelSliceWidth
 
G4int fVoxelNodeNo
 
G4SmartVoxelHeader * fVoxelHeader
 

Additional Inherited Members

- Protected Member Functions inherited from G4VoxelNavigation
G4double ComputeVoxelSafety (const G4ThreeVector &localPoint) const
 
G4bool LocateNextVoxel (const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double currentStep)
 
G4SmartVoxelNode * VoxelLocateLight (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint) const
 
- Protected Attributes inherited from G4VoxelNavigation
G4BlockingList fBList
 
G4int fVoxelDepth
 
std::vector< EAxis > fVoxelAxisStack
 
std::vector< G4int > fVoxelNoSlicesStack
 
std::vector< G4double > fVoxelSliceWidthStack
 
std::vector< G4int > fVoxelNodeNoStack
 
std::vector< G4SmartVoxelHeader * > fVoxelHeaderStack
 
G4SmartVoxelNode * fVoxelNode
 
G4VoxelSafety * fpVoxelSafety
 
G4bool fCheck
 
G4bool fBestSafety
 
G4NavigationLogger * fLogger
 

Detailed Description

Definition at line 58 of file G4ParameterisedNavigation.hh.

Constructor & Destructor Documentation

G4ParameterisedNavigation::G4ParameterisedNavigation ( )

Definition at line 58 of file G4ParameterisedNavigation.cc.

G4ParameterisedNavigation::~G4ParameterisedNavigation ( )

Definition at line 68 of file G4ParameterisedNavigation.cc.

Member Function Documentation

G4double G4ParameterisedNavigation::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 
)
virtual

Reimplemented from G4VoxelNavigation.

Definition at line 77 of file G4ParameterisedNavigation.cc.

References G4BlockingList::BlockVolume(), ComputeVoxelSafety(), G4VSolid::DistanceToIn(), G4VSolid::DistanceToOut(), G4VSolid::DumpInfo(), G4BlockingList::Enlarge(), FatalException, G4VoxelNavigation::fBList, G4VoxelNavigation::fCheck, G4VoxelNavigation::fVoxelNode, G4cerr, G4cout, G4endl, G4Exception(), G4LogicalVolume::GetDaughter(), G4VPhysicalVolume::GetLogicalVolume(), G4VSolid::GetName(), G4VPhysicalVolume::GetName(), G4SmartVoxelNode::GetNoContained(), G4VPhysicalVolume::GetParameterisation(), G4VPhysicalVolume::GetReplicationData(), G4VPhysicalVolume::GetRotation(), G4LogicalVolume::GetSolid(), G4VSolid::GetTolerance(), G4NavigationHistory::GetTopVolume(), G4VPhysicalVolume::GetTranslation(), G4SmartVoxelNode::GetVolume(), IdentifyAndPlaceSolid(), G4VSolid::Inside(), G4AffineTransform::Invert(), G4BlockingList::IsBlocked(), JustWarning, kInfinity, kInside, kMinExitingNormalCosine, kOutside, kSurface, LocateNextVoxel(), G4BlockingList::Reset(), G4AffineTransform::TransformPoint(), and width.

Referenced by G4Navigator::ComputeStep(), G4ITNavigator1::ComputeStep(), and G4ITNavigator2::ComputeStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ParameterisedNavigation::ComputeVoxelSafety ( const G4ThreeVector &  localPoint,
const EAxis  pAxis 
) const
private

Definition at line 460 of file G4ParameterisedNavigation.cc.

References G4VoxelNavigation::ComputeVoxelSafety(), fVoxelAxis, fVoxelHeader, G4VoxelNavigation::fVoxelNode, fVoxelNodeNo, fVoxelSliceWidth, G4SmartVoxelNode::GetMaxEquivalentSliceNo(), G4SmartVoxelNode::GetMinEquivalentSliceNo(), G4SmartVoxelHeader::GetMinExtent(), kUndefined, and G4INCL::Math::min().

Referenced by ComputeSafety(), and ComputeStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VPhysicalVolume* G4ParameterisedNavigation::CreateVolumeWithParent ( G4VPhysicalVolume *  curPhysical,
const G4NavigationHistory &  hist 
)
private
G4VSolid* G4ParameterisedNavigation::IdentifyAndPlaceSolid ( G4int  num,
G4VPhysicalVolume *  apparentPhys,
G4VPVParameterisation *  curParam 
)
inlineprivate

Referenced by ComputeSafety(), ComputeStep(), and LevelLocate().

+ Here is the caller graph for this function:

G4bool G4ParameterisedNavigation::LevelLocate ( G4NavigationHistory &  history,
const G4VPhysicalVolume *  blockedVol,
const G4int  blockedNum,
const G4ThreeVector &  globalPoint,
const G4ThreeVector *  globalDirection,
const G4bool  pLocatedOnEdge,
G4ThreeVector &  localPoint 
)
virtual
G4bool G4ParameterisedNavigation::LocateNextVoxel ( const G4ThreeVector &  localPoint,
const G4ThreeVector &  localDirection,
const G4double  currentStep,
const EAxis  pAxis 
)
private

Definition at line 508 of file G4ParameterisedNavigation.cc.

References fVoxelAxis, fVoxelHeader, G4VoxelNavigation::fVoxelNode, fVoxelNodeNo, fVoxelSliceWidth, G4SmartVoxelNode::GetMaxEquivalentSliceNo(), G4SmartVoxelNode::GetMinEquivalentSliceNo(), G4SmartVoxelHeader::GetMinExtent(), G4SmartVoxelProxy::GetNode(), G4SmartVoxelHeader::GetSlice(), kUndefined, and G4VoxelNavigation::LocateNextVoxel().

Referenced by ComputeStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4SmartVoxelNode* G4ParameterisedNavigation::ParamVoxelLocate ( G4SmartVoxelHeader *  pHead,
const G4ThreeVector &  localPoint 
)
inline

Referenced by LevelLocate(), G4Navigator::LocateGlobalPointWithinVolume(), G4ITNavigator1::LocateGlobalPointWithinVolume(), and G4ITNavigator2::LocateGlobalPointWithinVolume().

+ Here is the caller graph for this function:

Member Data Documentation

EAxis G4ParameterisedNavigation::fVoxelAxis
private
G4SmartVoxelHeader* G4ParameterisedNavigation::fVoxelHeader
private
G4int G4ParameterisedNavigation::fVoxelNodeNo
private
G4int G4ParameterisedNavigation::fVoxelNoSlices
private

Definition at line 119 of file G4ParameterisedNavigation.hh.

G4double G4ParameterisedNavigation::fVoxelSliceWidth
private

The documentation for this class was generated from the following files: