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

#include <geant4/tree/geant4-10.6-release/source/geometry/navigation/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 = kUndefined
 
G4int fVoxelNoSlices = 0
 
G4double fVoxelSliceWidth = 0.0
 
size_t fVoxelNodeNo = 0
 
G4SmartVoxelHeaderfVoxelHeader = nullptr
 

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 = -1
 
std::vector< EAxisfVoxelAxisStack
 
std::vector< G4intfVoxelNoSlicesStack
 
std::vector< G4doublefVoxelSliceWidthStack
 
std::vector< G4intfVoxelNodeNoStack
 
std::vector< G4SmartVoxelHeader * > fVoxelHeaderStack
 
G4SmartVoxelNodefVoxelNode = nullptr
 
G4VoxelSafetyfpVoxelSafety = nullptr
 
G4double fHalfTolerance
 
G4bool fCheck = false
 
G4bool fBestSafety = false
 
G4NavigationLoggerfLogger
 

Detailed Description

Definition at line 54 of file G4ParameterisedNavigation.hh.

View newest version in sPHENIX GitHub at line 54 of file G4ParameterisedNavigation.hh

Constructor & Destructor Documentation

G4ParameterisedNavigation::G4ParameterisedNavigation ( )

Definition at line 56 of file G4ParameterisedNavigation.cc.

View newest version in sPHENIX GitHub at line 56 of file G4ParameterisedNavigation.cc

G4ParameterisedNavigation::~G4ParameterisedNavigation ( )

Definition at line 64 of file G4ParameterisedNavigation.cc.

View newest version in sPHENIX GitHub at line 64 of file G4ParameterisedNavigation.cc

Member Function Documentation

G4double G4ParameterisedNavigation::ComputeSafety ( const G4ThreeVector localPoint,
const G4NavigationHistory history,
const G4double  pProposedMaxLength = DBL_MAX 
)
virtual
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 73 of file G4ParameterisedNavigation.cc.

View newest version in sPHENIX GitHub at line 73 of file G4ParameterisedNavigation.cc

References G4BlockingList::BlockVolume(), G4NavigationLogger::CheckAndReportBadNormal(), ComputeVoxelSafety(), DBL_MAX, G4VSolid::DistanceToIn(), G4VSolid::DistanceToOut(), CLHEP::Hep3Vector::dot(), 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(), CLHEP::HepRotation::inverse(), G4AffineTransform::Invert(), G4BlockingList::IsBlocked(), JustWarning, kInfinity, kInside, kMinExitingNormalCosine, kOutside, kSurface, LocateNextVoxel(), message(), offset, G4NavigationLogger::ReportOutsideMother(), G4BlockingList::Reset(), 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 493 of file G4ParameterisedNavigation.cc.

View newest version in sPHENIX GitHub at line 493 of file G4ParameterisedNavigation.cc

References G4VoxelNavigation::ComputeVoxelSafety(), fVoxelAxis, fVoxelHeader, G4VoxelNavigation::fVoxelNode, fVoxelNodeNo, fVoxelSliceWidth, G4SmartVoxelNode::GetMaxEquivalentSliceNo(), G4SmartVoxelNode::GetMinEquivalentSliceNo(), G4SmartVoxelHeader::GetMinExtent(), kUndefined, and 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 541 of file G4ParameterisedNavigation.cc.

View newest version in sPHENIX GitHub at line 541 of file G4ParameterisedNavigation.cc

References fVoxelAxis, fVoxelHeader, G4VoxelNavigation::fVoxelNode, fVoxelNodeNo, fVoxelSliceWidth, G4SmartVoxelNode::GetMaxEquivalentSliceNo(), G4SmartVoxelNode::GetMinEquivalentSliceNo(), G4SmartVoxelHeader::GetMinExtent(), G4SmartVoxelProxy::GetNode(), G4SmartVoxelHeader::GetNoSlices(), 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 = kUndefined
private

Definition at line 114 of file G4ParameterisedNavigation.hh.

View newest version in sPHENIX GitHub at line 114 of file G4ParameterisedNavigation.hh

Referenced by ComputeSafety(), ComputeVoxelSafety(), and LocateNextVoxel().

G4SmartVoxelHeader* G4ParameterisedNavigation::fVoxelHeader = nullptr
private

Definition at line 118 of file G4ParameterisedNavigation.hh.

View newest version in sPHENIX GitHub at line 118 of file G4ParameterisedNavigation.hh

Referenced by ComputeSafety(), ComputeVoxelSafety(), and LocateNextVoxel().

size_t G4ParameterisedNavigation::fVoxelNodeNo = 0
private

Definition at line 117 of file G4ParameterisedNavigation.hh.

View newest version in sPHENIX GitHub at line 117 of file G4ParameterisedNavigation.hh

Referenced by ComputeSafety(), ComputeVoxelSafety(), and LocateNextVoxel().

G4int G4ParameterisedNavigation::fVoxelNoSlices = 0
private

Definition at line 115 of file G4ParameterisedNavigation.hh.

View newest version in sPHENIX GitHub at line 115 of file G4ParameterisedNavigation.hh

G4double G4ParameterisedNavigation::fVoxelSliceWidth = 0.0
private

Definition at line 116 of file G4ParameterisedNavigation.hh.

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

Referenced by ComputeSafety(), ComputeVoxelSafety(), and LocateNextVoxel().


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