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

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

Public Member Functions

 G4ReplicaNavigation ()
 
 ~G4ReplicaNavigation ()
 
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 G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double currentProposedStepLength, G4double &newSafety, G4NavigationHistory &history, G4bool &validExitNormal, G4bool &calculatedExitNormal, G4ThreeVector &exitNormal, G4bool &exiting, G4bool &entering, G4VPhysicalVolume *(*pBlockedPhysical), G4int &blockedReplicaNo)
 
G4double ComputeSafety (const G4ThreeVector &globalPoint, const G4ThreeVector &localPoint, G4NavigationHistory &history, const G4double pProposedMaxLength=DBL_MAX)
 
EInside BackLocate (G4NavigationHistory &history, const G4ThreeVector &globalPoint, G4ThreeVector &localPoint, const G4bool &exiting, G4bool &notKnownInside) const
 
void ComputeTransformation (const G4int replicaNo, G4VPhysicalVolume *pVol, G4ThreeVector &point) const
 
void ComputeTransformation (const G4int replicaNo, G4VPhysicalVolume *pVol) const
 
EInside Inside (const G4VPhysicalVolume *pVol, const G4int replicaNo, const G4ThreeVector &localPoint) const
 
G4double DistanceToOut (const G4VPhysicalVolume *pVol, const G4int replicaNo, const G4ThreeVector &localPoint) const
 
G4double DistanceToOut (const G4VPhysicalVolume *pVol, const G4int replicaNo, const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, G4ExitNormal &candidateNormal) const
 
G4int GetVerboseLevel () const
 
void SetVerboseLevel (G4int level)
 
void CheckMode (G4bool mode)
 

Private Member Functions

G4int VoxelLocate (const G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint, const G4int blocked=-1) const
 
G4double DistanceToOutPhi (const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double width, G4ExitNormal &foundNormal) const
 
G4double DistanceToOutRad (const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double width, const G4double offset, const G4int replicaNo, G4ExitNormal &foundNormal) const
 
void SetPhiTransformation (const G4double ang, G4VPhysicalVolume *pVol=0) const
 

Private Attributes

G4bool fCheck = false
 
G4int fVerbose = 0
 
G4double kCarTolerance
 
G4double kRadTolerance
 
G4double kAngTolerance
 
G4double halfkCarTolerance
 
G4double halfkRadTolerance
 
G4double halfkAngTolerance
 
G4double fMinStep
 

Detailed Description

Definition at line 78 of file G4ReplicaNavigation.hh.

View newest version in sPHENIX GitHub at line 78 of file G4ReplicaNavigation.hh

Constructor & Destructor Documentation

G4ReplicaNavigation::G4ReplicaNavigation ( )

Definition at line 53 of file G4ReplicaNavigation.cc.

View newest version in sPHENIX GitHub at line 53 of file G4ReplicaNavigation.cc

References fMinStep, G4GeometryTolerance::GetAngularTolerance(), G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetRadialTolerance(), G4GeometryTolerance::GetSurfaceTolerance(), halfkAngTolerance, halfkCarTolerance, halfkRadTolerance, kAngTolerance, kCarTolerance, and kRadTolerance.

+ Here is the call graph for this function:

G4ReplicaNavigation::~G4ReplicaNavigation ( )

Definition at line 68 of file G4ReplicaNavigation.cc.

View newest version in sPHENIX GitHub at line 68 of file G4ReplicaNavigation.cc

Member Function Documentation

EInside G4ReplicaNavigation::BackLocate ( G4NavigationHistory history,
const G4ThreeVector globalPoint,
G4ThreeVector localPoint,
const G4bool exiting,
G4bool notKnownInside 
) const

Definition at line 1242 of file G4ReplicaNavigation.cc.

View newest version in sPHENIX GitHub at line 1242 of file G4ReplicaNavigation.cc

References G4NavigationHistory::BackLevel(), FatalException, G4Exception(), G4NavigationHistory::GetDepth(), G4VPhysicalVolume::GetLogicalVolume(), G4NavigationHistory::GetReplicaNo(), G4LogicalVolume::GetSolid(), G4NavigationHistory::GetTransform(), G4NavigationHistory::GetVolume(), G4NavigationHistory::GetVolumeType(), G4VSolid::Inside(), Inside(), kInside, kOutside, kReplica, kSurface, and G4AffineTransform::TransformPoint().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ReplicaNavigation::CheckMode ( G4bool  mode)
inline
G4double G4ReplicaNavigation::ComputeSafety ( const G4ThreeVector globalPoint,
const G4ThreeVector localPoint,
G4NavigationHistory history,
const G4double  pProposedMaxLength = DBL_MAX 
)
G4double G4ReplicaNavigation::ComputeStep ( const G4ThreeVector globalPoint,
const G4ThreeVector globalDirection,
const G4ThreeVector localPoint,
const G4ThreeVector localDirection,
const G4double  currentProposedStepLength,
G4double newSafety,
G4NavigationHistory history,
G4bool validExitNormal,
G4bool calculatedExitNormal,
G4ThreeVector exitNormal,
G4bool exiting,
G4bool entering,
G4VPhysicalVolume **  pBlockedPhysical,
G4int blockedReplicaNo 
)

Definition at line 749 of file G4ReplicaNavigation.cc.

View newest version in sPHENIX GitHub at line 749 of file G4ReplicaNavigation.cc

References G4VSolid::DistanceToIn(), DistanceToOut(), G4VSolid::DistanceToOut(), CLHEP::Hep3Vector::dot(), G4VSolid::DumpInfo(), G4ExitNormal::exitNormal, FatalException, fCheck, fMinStep, G4cout, G4endl, G4Exception(), G4LogicalVolume::GetDaughter(), G4NavigationHistory::GetDepth(), G4VPhysicalVolume::GetLogicalVolume(), G4VSolid::GetName(), G4VPhysicalVolume::GetName(), G4LogicalVolume::GetNoDaughters(), G4NavigationHistory::GetReplicaNo(), G4VPhysicalVolume::GetRotation(), G4LogicalVolume::GetSolid(), G4NavigationHistory::GetTopReplicaNo(), G4NavigationHistory::GetTopTransform(), G4NavigationHistory::GetTopVolume(), G4NavigationHistory::GetTransform(), G4VPhysicalVolume::GetTranslation(), G4NavigationHistory::GetVolume(), G4NavigationHistory::GetVolumeType(), halfkCarTolerance, G4VSolid::Inside(), CLHEP::HepRotation::inverse(), G4AffineTransform::InverseTransformAxis(), G4AffineTransform::Invert(), JustWarning, kCarTolerance, kInfinity, kInside, kMinExitingNormalCosine, G4ExitNormal::kMother, kOutside, kReplica, kSurface, message(), min, G4VSolid::SurfaceNormal(), G4AffineTransform::TransformAxis(), and G4AffineTransform::TransformPoint().

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:

void G4ReplicaNavigation::ComputeTransformation ( const G4int  replicaNo,
G4VPhysicalVolume pVol,
G4ThreeVector point 
) const

Definition at line 649 of file G4ReplicaNavigation.cc.

View newest version in sPHENIX GitHub at line 649 of file G4ReplicaNavigation.cc

References G4VPhysicalVolume::GetReplicationData(), kPhi, kRho, kXAxis, kYAxis, kZAxis, offset, SetPhiTransformation(), G4VPhysicalVolume::SetTranslation(), CLHEP::Hep3Vector::setX(), CLHEP::Hep3Vector::setY(), CLHEP::Hep3Vector::setZ(), width, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ReplicaNavigation::ComputeTransformation ( const G4int  replicaNo,
G4VPhysicalVolume pVol 
) const

Definition at line 705 of file G4ReplicaNavigation.cc.

View newest version in sPHENIX GitHub at line 705 of file G4ReplicaNavigation.cc

References G4VPhysicalVolume::GetReplicationData(), kPhi, kRho, kXAxis, kYAxis, kZAxis, offset, SetPhiTransformation(), G4VPhysicalVolume::SetTranslation(), and width.

+ Here is the call graph for this function:

G4double G4ReplicaNavigation::DistanceToOut ( const G4VPhysicalVolume pVol,
const G4int  replicaNo,
const G4ThreeVector localPoint 
) const

Definition at line 183 of file G4ReplicaNavigation.cc.

View newest version in sPHENIX GitHub at line 183 of file G4ReplicaNavigation.cc

References FatalException, G4Exception(), G4VPhysicalVolume::GetReplicationData(), halfkCarTolerance, kPhi, kRho, kXAxis, kYAxis, kZAxis, offset, CLHEP::Hep3Vector::perp(), rmax(), width, CLHEP::Hep3Vector::x(), and CLHEP::Hep3Vector::y().

Referenced by ComputeSafety(), and ComputeStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ReplicaNavigation::DistanceToOut ( const G4VPhysicalVolume pVol,
const G4int  replicaNo,
const G4ThreeVector localPoint,
const G4ThreeVector localDirection,
G4ExitNormal candidateNormal 
) const

Definition at line 249 of file G4ReplicaNavigation.cc.

View newest version in sPHENIX GitHub at line 249 of file G4ReplicaNavigation.cc

References G4ExitNormal::calculated, DistanceToOutPhi(), DistanceToOutRad(), G4ExitNormal::exitNormal, G4ExitNormal::exitSide, FatalException, G4Exception(), G4VPhysicalVolume::GetReplicationData(), kInfinity, kPhi, kRho, kXAxis, kYAxis, kZAxis, offset, G4ExitNormal::validConvex, and width.

+ Here is the call graph for this function:

G4double G4ReplicaNavigation::DistanceToOutPhi ( const G4ThreeVector localPoint,
const G4ThreeVector localDirection,
const G4double  width,
G4ExitNormal foundNormal 
) const
private

Definition at line 323 of file G4ReplicaNavigation.cc.

View newest version in sPHENIX GitHub at line 323 of file G4ReplicaNavigation.cc

References G4ExitNormal::calculated, G4ExitNormal::exitNormal, halfkCarTolerance, G4ExitNormal::kEPhi, kInfinity, G4ExitNormal::kMY, G4ExitNormal::kNull, G4ExitNormal::kSPhi, CLHEP::Hep3Vector::phi(), CLHEP::Hep3Vector::x(), and CLHEP::Hep3Vector::y().

Referenced by DistanceToOut().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ReplicaNavigation::DistanceToOutRad ( const G4ThreeVector localPoint,
const G4ThreeVector localDirection,
const G4double  width,
const G4double  offset,
const G4int  replicaNo,
G4ExitNormal foundNormal 
) const
private

Definition at line 497 of file G4ReplicaNavigation.cc.

View newest version in sPHENIX GitHub at line 497 of file G4ReplicaNavigation.cc

References b, c, G4ExitNormal::calculated, d2, deltaR(), G4ExitNormal::exitNormal, G4ExitNormal::exitSide, halfkRadTolerance, kInfinity, G4ExitNormal::kNull, G4ExitNormal::kRMax, G4ExitNormal::kRMin, offset, rmax(), t1, t2, G4ExitNormal::validConvex, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

Referenced by DistanceToOut().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4ReplicaNavigation::GetVerboseLevel ( ) const
inline
EInside G4ReplicaNavigation::Inside ( const G4VPhysicalVolume pVol,
const G4int  replicaNo,
const G4ThreeVector localPoint 
) const

Definition at line 77 of file G4ReplicaNavigation.cc.

View newest version in sPHENIX GitHub at line 77 of file G4ReplicaNavigation.cc

References FatalException, G4Exception(), G4VPhysicalVolume::GetReplicationData(), halfkAngTolerance, halfkCarTolerance, halfkRadTolerance, in, kInside, kOutside, kPhi, kRho, kSurface, kXAxis, kYAxis, kZAxis, offset, CLHEP::Hep3Vector::perp2(), rmax(), width, CLHEP::Hep3Vector::x(), and CLHEP::Hep3Vector::y().

Referenced by BackLocate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4ReplicaNavigation::LevelLocate ( G4NavigationHistory history,
const G4VPhysicalVolume blockedVol,
const G4int  blockedNum,
const G4ThreeVector globalPoint,
const G4ThreeVector globalDirection,
const G4bool  pLocatedOnEdge,
G4ThreeVector localPoint 
)
inline

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

+ Here is the caller graph for this function:

void G4ReplicaNavigation::SetPhiTransformation ( const G4double  ang,
G4VPhysicalVolume pVol = 0 
) const
inlineprivate

Referenced by ComputeTransformation().

+ Here is the caller graph for this function:

void G4ReplicaNavigation::SetVerboseLevel ( G4int  level)
inline
G4int G4ReplicaNavigation::VoxelLocate ( const G4SmartVoxelHeader pHead,
const G4ThreeVector localPoint,
const G4int  blocked = -1 
) const
inlineprivate

Member Data Documentation

G4bool G4ReplicaNavigation::fCheck = false
private

Definition at line 171 of file G4ReplicaNavigation.hh.

View newest version in sPHENIX GitHub at line 171 of file G4ReplicaNavigation.hh

Referenced by ComputeStep().

G4double G4ReplicaNavigation::fMinStep
private

Definition at line 175 of file G4ReplicaNavigation.hh.

View newest version in sPHENIX GitHub at line 175 of file G4ReplicaNavigation.hh

Referenced by ComputeStep(), and G4ReplicaNavigation().

G4int G4ReplicaNavigation::fVerbose = 0
private

Definition at line 172 of file G4ReplicaNavigation.hh.

View newest version in sPHENIX GitHub at line 172 of file G4ReplicaNavigation.hh

G4double G4ReplicaNavigation::halfkAngTolerance
private

Definition at line 175 of file G4ReplicaNavigation.hh.

View newest version in sPHENIX GitHub at line 175 of file G4ReplicaNavigation.hh

Referenced by G4ReplicaNavigation(), and Inside().

G4double G4ReplicaNavigation::halfkCarTolerance
private

Definition at line 175 of file G4ReplicaNavigation.hh.

View newest version in sPHENIX GitHub at line 175 of file G4ReplicaNavigation.hh

Referenced by ComputeStep(), DistanceToOut(), DistanceToOutPhi(), G4ReplicaNavigation(), and Inside().

G4double G4ReplicaNavigation::halfkRadTolerance
private

Definition at line 175 of file G4ReplicaNavigation.hh.

View newest version in sPHENIX GitHub at line 175 of file G4ReplicaNavigation.hh

Referenced by DistanceToOutRad(), G4ReplicaNavigation(), and Inside().

G4double G4ReplicaNavigation::kAngTolerance
private

Definition at line 175 of file G4ReplicaNavigation.hh.

View newest version in sPHENIX GitHub at line 175 of file G4ReplicaNavigation.hh

Referenced by G4ReplicaNavigation().

G4double G4ReplicaNavigation::kCarTolerance
private

Definition at line 175 of file G4ReplicaNavigation.hh.

View newest version in sPHENIX GitHub at line 175 of file G4ReplicaNavigation.hh

Referenced by ComputeStep(), and G4ReplicaNavigation().

G4double G4ReplicaNavigation::kRadTolerance
private

Definition at line 175 of file G4ReplicaNavigation.hh.

View newest version in sPHENIX GitHub at line 175 of file G4ReplicaNavigation.hh

Referenced by G4ReplicaNavigation().


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