Geant4  10.01.p03
G4ParameterisedNavigation Class Reference

#include <G4ParameterisedNavigation.hh>

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

Public Member Functions

 G4ParameterisedNavigation ()
 
 ~G4ParameterisedNavigation ()
 
G4SmartVoxelNodeParamVoxelLocate (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 ()
 
G4SmartVoxelNodeVoxelLocate (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)
 
G4VSolidIdentifyAndPlaceSolid (G4int num, G4VPhysicalVolume *apparentPhys, G4VPVParameterisation *curParam)
 
G4VPhysicalVolumeCreateVolumeWithParent (G4VPhysicalVolume *curPhysical, const G4NavigationHistory &hist)
 

Private Attributes

EAxis fVoxelAxis
 
G4int fVoxelNoSlices
 
G4double fVoxelSliceWidth
 
G4int fVoxelNodeNo
 
G4SmartVoxelHeaderfVoxelHeader
 

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)
 
G4SmartVoxelNodeVoxelLocateLight (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint) const
 
- Protected Attributes inherited from G4VoxelNavigation
G4BlockingList fBList
 
G4int fVoxelDepth
 
std::vector< EAxisfVoxelAxisStack
 
std::vector< G4intfVoxelNoSlicesStack
 
std::vector< G4doublefVoxelSliceWidthStack
 
std::vector< G4intfVoxelNodeNoStack
 
std::vector< G4SmartVoxelHeader * > fVoxelHeaderStack
 
G4SmartVoxelNodefVoxelNode
 
G4VoxelSafetyfpVoxelSafety
 
G4bool fCheck
 
G4bool fBestSafety
 
G4NavigationLoggerfLogger
 

Detailed Description

Definition at line 58 of file G4ParameterisedNavigation.hh.

Constructor & Destructor Documentation

G4ParameterisedNavigation::G4ParameterisedNavigation ( )

Definition at line 60 of file G4ParameterisedNavigation.cc.

G4ParameterisedNavigation::~G4ParameterisedNavigation ( )

Definition at line 70 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 79 of file G4ParameterisedNavigation.cc.

References G4BlockingList::BlockVolume(), G4NavigationLogger::CheckAndReportBadNormal(), ComputeVoxelSafety(), DBL_MAX, G4VSolid::DistanceToIn(), G4VSolid::DistanceToOut(), G4VSolid::DumpInfo(), G4BlockingList::Enlarge(), FatalException, G4VoxelNavigation::fBList, G4VoxelNavigation::fCheck, G4VoxelNavigation::fLogger, G4VoxelNavigation::fVoxelNode, 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(), G4NavigationLogger::ReportOutsideMother(), 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 496 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 544 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: