Geant4  10.02.p02
G4VoxelNavigation Class Reference

#include <G4VoxelNavigation.hh>

+ Inheritance diagram for G4VoxelNavigation:
+ Collaboration diagram for G4VoxelNavigation:

Public Member Functions

 G4VoxelNavigation ()
 
virtual ~G4VoxelNavigation ()
 
G4SmartVoxelNodeVoxelLocate (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint)
 
virtual G4bool LevelLocate (G4NavigationHistory &history, const G4VPhysicalVolume *blockedVol, const G4int blockedNum, const G4ThreeVector &globalPoint, const G4ThreeVector *globalDirection, const G4bool pLocatedOnEdge, G4ThreeVector &localPoint)
 
virtual 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)
 
virtual G4double ComputeSafety (const G4ThreeVector &globalpoint, const G4NavigationHistory &history, const G4double pMaxLength=DBL_MAX)
 
G4int GetVerboseLevel () const
 
void SetVerboseLevel (G4int level)
 
void CheckMode (G4bool mode)
 
void EnableBestSafety (G4bool flag=false)
 

Protected Member Functions

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

G4BlockingList fBList
 
G4int fVoxelDepth
 
std::vector< EAxisfVoxelAxisStack
 
std::vector< G4intfVoxelNoSlicesStack
 
std::vector< G4doublefVoxelSliceWidthStack
 
std::vector< G4intfVoxelNodeNoStack
 
std::vector< G4SmartVoxelHeader * > fVoxelHeaderStack
 
G4SmartVoxelNodefVoxelNode
 
G4VoxelSafetyfpVoxelSafety
 
G4double fHalfTolerance
 
G4bool fCheck
 
G4bool fBestSafety
 
G4NavigationLoggerfLogger
 

Private Member Functions

void PreComputeStepLog (const G4VPhysicalVolume *motherPhysical, G4double motherSafety, const G4ThreeVector &localPoint)
 
void AlongComputeStepLog (const G4VSolid *sampleSolid, const G4ThreeVector &samplePoint, const G4ThreeVector &sampleDirection, const G4ThreeVector &localDirection, G4double sampleSafety, G4double sampleStep)
 
void PostComputeStepLog (const G4VSolid *motherSolid, const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, G4double motherStep, G4double motherSafety)
 
void ComputeSafetyLog (const G4VSolid *solid, const G4ThreeVector &point, G4double safety, G4bool banner)
 
void PrintDaughterLog (const G4VSolid *sampleSolid, const G4ThreeVector &samplePoint, G4double sampleSafety, G4double sampleStep)
 

Detailed Description

Definition at line 67 of file G4VoxelNavigation.hh.

Constructor & Destructor Documentation

G4VoxelNavigation::G4VoxelNavigation ( )

Definition at line 47 of file G4VoxelNavigation.cc.

References fHalfTolerance, fLogger, fpVoxelSafety, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), and SetVerboseLevel().

+ Here is the call graph for this function:

G4VoxelNavigation::~G4VoxelNavigation ( )
virtual

Definition at line 69 of file G4VoxelNavigation.cc.

References fLogger, and fpVoxelSafety.

Member Function Documentation

void G4VoxelNavigation::AlongComputeStepLog ( const G4VSolid sampleSolid,
const G4ThreeVector samplePoint,
const G4ThreeVector sampleDirection,
const G4ThreeVector localDirection,
G4double  sampleSafety,
G4double  sampleStep 
)
private
void G4VoxelNavigation::CheckMode ( G4bool  mode)
inline
void G4VoxelNavigation::ComputeSafetyLog ( const G4VSolid solid,
const G4ThreeVector point,
G4double  safety,
G4bool  banner 
)
private
G4double G4VoxelNavigation::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
G4double G4VoxelNavigation::ComputeVoxelSafety ( const G4ThreeVector localPoint) const
protected

Definition at line 409 of file G4VoxelNavigation.cc.

References fVoxelAxisStack, fVoxelDepth, fVoxelHeaderStack, fVoxelNode, fVoxelNodeNoStack, fVoxelSliceWidthStack, G4SmartVoxelNode::GetMaxEquivalentSliceNo(), G4SmartVoxelNode::GetMinEquivalentSliceNo(), G4SmartVoxelHeader::GetMinExtent(), and G4INCL::Math::min().

Referenced by ComputeSafety(), ComputeStep(), and G4ParameterisedNavigation::ComputeVoxelSafety().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VoxelNavigation::EnableBestSafety ( G4bool  flag = false)
inline
G4int G4VoxelNavigation::GetVerboseLevel ( ) const
inline
virtual G4bool G4VoxelNavigation::LevelLocate ( G4NavigationHistory history,
const G4VPhysicalVolume blockedVol,
const G4int  blockedNum,
const G4ThreeVector globalPoint,
const G4ThreeVector globalDirection,
const G4bool  pLocatedOnEdge,
G4ThreeVector localPoint 
)
virtual

Reimplemented in G4ParameterisedNavigation.

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

+ Here is the caller graph for this function:

G4bool G4VoxelNavigation::LocateNextVoxel ( const G4ThreeVector localPoint,
const G4ThreeVector localDirection,
const G4double  currentStep 
)
protected

Definition at line 497 of file G4VoxelNavigation.cc.

References fHalfTolerance, fVoxelAxisStack, fVoxelDepth, fVoxelHeaderStack, fVoxelNode, fVoxelNodeNoStack, fVoxelNoSlicesStack, fVoxelSliceWidthStack, G4SmartVoxelHeader::GetAxis(), G4SmartVoxelProxy::GetHeader(), G4SmartVoxelNode::GetMaxEquivalentSliceNo(), G4SmartVoxelNode::GetMinEquivalentSliceNo(), G4SmartVoxelHeader::GetMinExtent(), G4SmartVoxelProxy::GetNode(), and G4SmartVoxelProxy::IsNode().

Referenced by ComputeStep(), and G4ParameterisedNavigation::LocateNextVoxel().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VoxelNavigation::PostComputeStepLog ( const G4VSolid motherSolid,
const G4ThreeVector localPoint,
const G4ThreeVector localDirection,
G4double  motherStep,
G4double  motherSafety 
)
private
void G4VoxelNavigation::PreComputeStepLog ( const G4VPhysicalVolume motherPhysical,
G4double  motherSafety,
const G4ThreeVector localPoint 
)
private
void G4VoxelNavigation::PrintDaughterLog ( const G4VSolid sampleSolid,
const G4ThreeVector samplePoint,
G4double  sampleSafety,
G4double  sampleStep 
)
inlineprivate
void G4VoxelNavigation::SetVerboseLevel ( G4int  level)

Definition at line 794 of file G4VoxelNavigation.cc.

References fLogger, fpVoxelSafety, G4VoxelSafety::SetVerboseLevel(), and G4NavigationLogger::SetVerboseLevel().

Referenced by G4VoxelNavigation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4SmartVoxelNode* G4VoxelNavigation::VoxelLocate ( G4SmartVoxelHeader pHead,
const G4ThreeVector localPoint 
)

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

+ Here is the caller graph for this function:

G4SmartVoxelNode* G4VoxelNavigation::VoxelLocateLight ( G4SmartVoxelHeader pHead,
const G4ThreeVector localPoint 
) const
protected

Member Data Documentation

G4bool G4VoxelNavigation::fBestSafety
protected

Definition at line 190 of file G4VoxelNavigation.hh.

Referenced by ComputeSafety().

G4BlockingList G4VoxelNavigation::fBList
protected

Definition at line 150 of file G4VoxelNavigation.hh.

Referenced by G4ParameterisedNavigation::ComputeStep(), and ComputeStep().

G4bool G4VoxelNavigation::fCheck
protected
G4double G4VoxelNavigation::fHalfTolerance
protected

Definition at line 186 of file G4VoxelNavigation.hh.

Referenced by G4VoxelNavigation(), and LocateNextVoxel().

G4VoxelSafety* G4VoxelNavigation::fpVoxelSafety
protected
std::vector<EAxis> G4VoxelNavigation::fVoxelAxisStack
protected

Definition at line 161 of file G4VoxelNavigation.hh.

Referenced by ComputeVoxelSafety(), and LocateNextVoxel().

G4int G4VoxelNavigation::fVoxelDepth
protected

Definition at line 157 of file G4VoxelNavigation.hh.

Referenced by ComputeVoxelSafety(), and LocateNextVoxel().

std::vector<G4SmartVoxelHeader*> G4VoxelNavigation::fVoxelHeaderStack
protected

Definition at line 173 of file G4VoxelNavigation.hh.

Referenced by ComputeVoxelSafety(), and LocateNextVoxel().

std::vector<G4int> G4VoxelNavigation::fVoxelNodeNoStack
protected

Definition at line 170 of file G4VoxelNavigation.hh.

Referenced by ComputeVoxelSafety(), and LocateNextVoxel().

std::vector<G4int> G4VoxelNavigation::fVoxelNoSlicesStack
protected

Definition at line 164 of file G4VoxelNavigation.hh.

Referenced by LocateNextVoxel().

std::vector<G4double> G4VoxelNavigation::fVoxelSliceWidthStack
protected

Definition at line 167 of file G4VoxelNavigation.hh.

Referenced by ComputeVoxelSafety(), and LocateNextVoxel().


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