Geant4  10.01.p02
G4VoxelSafety Class Reference

#include <G4VoxelSafety.hh>

+ Collaboration diagram for G4VoxelSafety:

Public Member Functions

 G4VoxelSafety ()
 
 ~G4VoxelSafety ()
 
G4SmartVoxelNodeVoxelLocate (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint)
 
G4double ComputeSafety (const G4ThreeVector &localPoint, const G4VPhysicalVolume &currentPhysical, G4double maxLength=DBL_MAX)
 
G4int GetVerboseLevel () const
 
void SetVerboseLevel (G4int level)
 

Protected Member Functions

G4double SafetyForVoxelHeader (const G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint, G4double maxLength, const G4VPhysicalVolume &currentPhysical, G4double distUpperDepth=0.0, G4double previousMinSafety=DBL_MAX)
 
G4double SafetyForVoxelNode (const G4SmartVoxelNode *curVoxelNode, const G4ThreeVector &localPoint)
 
G4SmartVoxelNodeVoxelLocateLight (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint) const
 

Private Attributes

G4BlockingList fBlockList
 
G4LogicalVolumefpMotherLogical
 
G4int fVoxelDepth
 
std::vector< EAxisfVoxelAxisStack
 
std::vector< G4intfVoxelNoSlicesStack
 
std::vector< G4doublefVoxelSliceWidthStack
 
std::vector< G4intfVoxelNodeNoStack
 
std::vector< const
G4SmartVoxelHeader * > 
fVoxelHeaderStack
 
G4SmartVoxelNodefVoxelNode
 
G4bool fCheck
 
G4int fVerbose
 
G4double kCarTolerance
 

Detailed Description

Definition at line 56 of file G4VoxelSafety.hh.

Constructor & Destructor Documentation

G4VoxelSafety::G4VoxelSafety ( )

Definition at line 45 of file G4VoxelSafety.cc.

References G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), and kCarTolerance.

+ Here is the call graph for this function:

G4VoxelSafety::~G4VoxelSafety ( )

Definition at line 65 of file G4VoxelSafety.cc.

Member Function Documentation

G4double G4VoxelSafety::ComputeSafety ( const G4ThreeVector localPoint,
const G4VPhysicalVolume currentPhysical,
G4double  maxLength = DBL_MAX 
)

Definition at line 78 of file G4VoxelSafety.cc.

References G4VSolid::DistanceToIn(), G4VSolid::DistanceToOut(), G4BlockingList::Enlarge(), FatalException, fBlockList, fCheck, fpMotherLogical, fVerbose, fVoxelDepth, G4cout, G4endl, G4Exception(), G4VPhysicalVolume::GetCopyNo(), G4VPhysicalVolume::GetLogicalVolume(), G4VSolid::GetName(), G4VPhysicalVolume::GetName(), G4LogicalVolume::GetNoDaughters(), G4LogicalVolume::GetSolid(), G4LogicalVolume::GetVoxelHeader(), G4VSolid::Inside(), kInside, kOutside, G4INCL::Math::min(), G4BlockingList::Reset(), and SafetyForVoxelHeader().

Referenced by G4VoxelNavigation::ComputeSafety(), G4Navigator::ComputeSafety(), G4ITNavigator1::ComputeSafety(), and G4ITNavigator2::ComputeSafety().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4VoxelSafety::GetVerboseLevel ( ) const
inline

Definition at line 70 of file G4VoxelSafety.hh.

References fVerbose.

G4double G4VoxelSafety::SafetyForVoxelHeader ( const G4SmartVoxelHeader pHead,
const G4ThreeVector localPoint,
G4double  maxLength,
const G4VPhysicalVolume currentPhysical,
G4double  distUpperDepth = 0.0,
G4double  previousMinSafety = DBL_MAX 
)
protected
G4double G4VoxelSafety::SafetyForVoxelNode ( const G4SmartVoxelNode curVoxelNode,
const G4ThreeVector localPoint 
)
protected

Definition at line 164 of file G4VoxelSafety.cc.

References G4BlockingList::BlockVolume(), DBL_MAX, G4VSolid::DistanceToIn(), fBlockList, fCheck, fpMotherLogical, fVerbose, G4cout, G4endl, G4LogicalVolume::GetDaughter(), G4VPhysicalVolume::GetLogicalVolume(), G4VSolid::GetName(), G4SmartVoxelNode::GetNoContained(), G4VPhysicalVolume::GetRotation(), G4LogicalVolume::GetSolid(), G4VPhysicalVolume::GetTranslation(), G4SmartVoxelNode::GetVolume(), G4AffineTransform::Invert(), G4BlockingList::IsBlocked(), G4INCL::Math::min(), and G4AffineTransform::TransformPoint().

Referenced by SafetyForVoxelHeader().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VoxelSafety::SetVerboseLevel ( G4int  level)
inline

Definition at line 71 of file G4VoxelSafety.hh.

References fVerbose.

Referenced by G4VoxelNavigation::SetVerboseLevel().

+ Here is the caller graph for this function:

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

Member Data Documentation

G4BlockingList G4VoxelSafety::fBlockList
private

Definition at line 94 of file G4VoxelSafety.hh.

Referenced by ComputeSafety(), and SafetyForVoxelNode().

G4bool G4VoxelSafety::fCheck
private

Definition at line 126 of file G4VoxelSafety.hh.

Referenced by ComputeSafety(), and SafetyForVoxelNode().

G4LogicalVolume* G4VoxelSafety::fpMotherLogical
private

Definition at line 97 of file G4VoxelSafety.hh.

Referenced by ComputeSafety(), and SafetyForVoxelNode().

G4int G4VoxelSafety::fVerbose
private
std::vector<EAxis> G4VoxelSafety::fVoxelAxisStack
private

Definition at line 105 of file G4VoxelSafety.hh.

Referenced by SafetyForVoxelHeader().

G4int G4VoxelSafety::fVoxelDepth
private

Definition at line 101 of file G4VoxelSafety.hh.

Referenced by ComputeSafety(), and SafetyForVoxelHeader().

std::vector<const G4SmartVoxelHeader*> G4VoxelSafety::fVoxelHeaderStack
private

Definition at line 117 of file G4VoxelSafety.hh.

Referenced by SafetyForVoxelHeader().

G4SmartVoxelNode* G4VoxelSafety::fVoxelNode
private

Definition at line 120 of file G4VoxelSafety.hh.

std::vector<G4int> G4VoxelSafety::fVoxelNodeNoStack
private

Definition at line 114 of file G4VoxelSafety.hh.

Referenced by SafetyForVoxelHeader().

std::vector<G4int> G4VoxelSafety::fVoxelNoSlicesStack
private

Definition at line 108 of file G4VoxelSafety.hh.

Referenced by SafetyForVoxelHeader().

std::vector<G4double> G4VoxelSafety::fVoxelSliceWidthStack
private

Definition at line 111 of file G4VoxelSafety.hh.

Referenced by SafetyForVoxelHeader().

G4double G4VoxelSafety::kCarTolerance
private

Definition at line 128 of file G4VoxelSafety.hh.

Referenced by G4VoxelSafety().


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