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 ()
 
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 = nullptr
 
G4int fVoxelDepth = -1
 
std::vector< EAxisfVoxelAxisStack
 
std::vector< G4intfVoxelNoSlicesStack
 
std::vector< G4doublefVoxelSliceWidthStack
 
std::vector< G4intfVoxelNodeNoStack
 
std::vector< const
G4SmartVoxelHeader * > 
fVoxelHeaderStack
 
G4SmartVoxelNodefVoxelNode = 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: