ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4VoxelSafety Class Reference

#include <geant4/tree/geant4-10.6-release/source/geometry/navigation/include/G4VoxelSafety.hh>

+ Collaboration diagram for G4VoxelSafety:

Public Member Functions

 G4VoxelSafety ()
 
 ~G4VoxelSafety ()
 
G4SmartVoxelNode * VoxelLocate (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)
 
G4SmartVoxelNode * VoxelLocateLight (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint) const
 

Private Attributes

G4BlockingList fBlockList
 
G4LogicalVolume * fpMotherLogical = nullptr
 
G4int fVoxelDepth = -1
 
std::vector< EAxis > fVoxelAxisStack
 
std::vector< G4int > fVoxelNoSlicesStack
 
std::vector< G4double > fVoxelSliceWidthStack
 
std::vector< G4int > fVoxelNodeNoStack
 
std::vector< const
G4SmartVoxelHeader * > 
fVoxelHeaderStack
 
G4SmartVoxelNode * fVoxelNode = nullptr
 
G4bool fCheck = false
 
G4int fVerbose = 0
 
G4double kCarTolerance
 

Detailed Description

Definition at line 55 of file G4VoxelSafety.hh.

View newest version in sPHENIX GitHub at line 55 of file G4VoxelSafety.hh

Constructor & Destructor Documentation

G4VoxelSafety::G4VoxelSafety ( )

Definition at line 44 of file G4VoxelSafety.cc.

View newest version in sPHENIX GitHub at line 44 of file G4VoxelSafety.cc

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

+ Here is the call graph for this function:

G4VoxelSafety::~G4VoxelSafety ( )

Definition at line 59 of file G4VoxelSafety.cc.

View newest version in sPHENIX GitHub at line 59 of file G4VoxelSafety.cc

Member Function Documentation

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

Definition at line 72 of file G4VoxelSafety.cc.

View newest version in sPHENIX GitHub at line 72 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, message(), 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 69 of file G4VoxelSafety.hh.

View newest version in sPHENIX GitHub at line 69 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 158 of file G4VoxelSafety.cc.

View newest version in sPHENIX GitHub at line 158 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(), and min.

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 70 of file G4VoxelSafety.hh.

View newest version in sPHENIX GitHub at line 70 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 93 of file G4VoxelSafety.hh.

View newest version in sPHENIX GitHub at line 93 of file G4VoxelSafety.hh

Referenced by ComputeSafety(), and SafetyForVoxelNode().

G4bool G4VoxelSafety::fCheck = false
private

Definition at line 125 of file G4VoxelSafety.hh.

View newest version in sPHENIX GitHub at line 125 of file G4VoxelSafety.hh

Referenced by ComputeSafety(), and SafetyForVoxelNode().

G4LogicalVolume* G4VoxelSafety::fpMotherLogical = nullptr
private

Definition at line 96 of file G4VoxelSafety.hh.

View newest version in sPHENIX GitHub at line 96 of file G4VoxelSafety.hh

Referenced by ComputeSafety(), and SafetyForVoxelNode().

G4int G4VoxelSafety::fVerbose = 0
private

Definition at line 126 of file G4VoxelSafety.hh.

View newest version in sPHENIX GitHub at line 126 of file G4VoxelSafety.hh

Referenced by ComputeSafety(), GetVerboseLevel(), SafetyForVoxelHeader(), SafetyForVoxelNode(), and SetVerboseLevel().

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

Definition at line 104 of file G4VoxelSafety.hh.

View newest version in sPHENIX GitHub at line 104 of file G4VoxelSafety.hh

Referenced by SafetyForVoxelHeader().

G4int G4VoxelSafety::fVoxelDepth = -1
private

Definition at line 100 of file G4VoxelSafety.hh.

View newest version in sPHENIX GitHub at line 100 of file G4VoxelSafety.hh

Referenced by ComputeSafety(), and SafetyForVoxelHeader().

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

Definition at line 116 of file G4VoxelSafety.hh.

View newest version in sPHENIX GitHub at line 116 of file G4VoxelSafety.hh

Referenced by SafetyForVoxelHeader().

G4SmartVoxelNode* G4VoxelSafety::fVoxelNode = nullptr
private

Definition at line 119 of file G4VoxelSafety.hh.

View newest version in sPHENIX GitHub at line 119 of file G4VoxelSafety.hh

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

Definition at line 113 of file G4VoxelSafety.hh.

View newest version in sPHENIX GitHub at line 113 of file G4VoxelSafety.hh

Referenced by SafetyForVoxelHeader().

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

Definition at line 107 of file G4VoxelSafety.hh.

View newest version in sPHENIX GitHub at line 107 of file G4VoxelSafety.hh

Referenced by SafetyForVoxelHeader().

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

Definition at line 110 of file G4VoxelSafety.hh.

View newest version in sPHENIX GitHub at line 110 of file G4VoxelSafety.hh

Referenced by SafetyForVoxelHeader().

G4double G4VoxelSafety::kCarTolerance
private

Definition at line 127 of file G4VoxelSafety.hh.

View newest version in sPHENIX GitHub at line 127 of file G4VoxelSafety.hh

Referenced by G4VoxelSafety().


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