Geant4  10.01.p03
G4ReplicaNavigation Class Reference

#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
 
G4int fVerbose
 
G4double kCarTolerance
 
G4double kRadTolerance
 
G4double kAngTolerance
 

Detailed Description

Definition at line 82 of file G4ReplicaNavigation.hh.

Constructor & Destructor Documentation

G4ReplicaNavigation::G4ReplicaNavigation ( )

Definition at line 57 of file G4ReplicaNavigation.cc.

References G4GeometryTolerance::GetAngularTolerance(), G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetRadialTolerance(), G4GeometryTolerance::GetSurfaceTolerance(), kAngTolerance, kCarTolerance, and kRadTolerance.

+ Here is the call graph for this function:

G4ReplicaNavigation::~G4ReplicaNavigation ( )

Definition at line 69 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 1244 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 751 of file G4ReplicaNavigation.cc.

References G4VSolid::DistanceToIn(), DistanceToOut(), G4VSolid::DistanceToOut(), G4VSolid::DumpInfo(), G4ExitNormal::exitNormal, FatalException, fCheck, 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(), G4VSolid::Inside(), G4AffineTransform::Inverse(), G4AffineTransform::Invert(), JustWarning, kCarTolerance, kInfinity, kInside, kMinExitingNormalCosine, G4ExitNormal::kMother, kOutside, kReplica, kSurface, G4INCL::Math::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 651 of file G4ReplicaNavigation.cc.

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

Referenced by G4Navigator::LocateGlobalPointAndSetup(), G4ITNavigator1::LocateGlobalPointAndSetup(), G4ITNavigator2::LocateGlobalPointAndSetup(), G4Navigator::SetupHierarchy(), G4ITNavigator1::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 707 of file G4ReplicaNavigation.cc.

References G4VPhysicalVolume::GetReplicationData(), kPhi, kRho, kXAxis, kYAxis, kZAxis, 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 188 of file G4ReplicaNavigation.cc.

References FatalException, G4Exception(), G4VPhysicalVolume::GetReplicationData(), kCarTolerance, kPhi, kRho, kXAxis, kYAxis, kZAxis, and width.

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 255 of file G4ReplicaNavigation.cc.

References G4ExitNormal::calculated, DistanceToOutPhi(), DistanceToOutRad(), G4ExitNormal::exitNormal, G4ExitNormal::exitSide, FatalException, G4Exception(), G4VPhysicalVolume::GetReplicationData(), kInfinity, kPhi, kRho, kXAxis, kYAxis, kZAxis, 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 329 of file G4ReplicaNavigation.cc.

References G4ExitNormal::calculated, G4ExitNormal::exitNormal, kCarTolerance, G4ExitNormal::kEPhi, kInfinity, G4ExitNormal::kMY, G4ExitNormal::kNull, and G4ExitNormal::kSPhi.

Referenced by DistanceToOut().

+ 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 504 of file G4ReplicaNavigation.cc.

References G4ExitNormal::calculated, d2, G4ExitNormal::exitNormal, G4ExitNormal::exitSide, kInfinity, G4ExitNormal::kNull, kRadTolerance, G4ExitNormal::kRMax, G4ExitNormal::kRMin, and G4ExitNormal::validConvex.

Referenced by DistanceToOut().

+ 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 78 of file G4ReplicaNavigation.cc.

References FatalException, G4Exception(), G4VPhysicalVolume::GetReplicationData(), kAngTolerance, kCarTolerance, kInside, kOutside, kPhi, kRadTolerance, kRho, kSurface, kXAxis, kYAxis, kZAxis, and width.

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
private

Definition at line 175 of file G4ReplicaNavigation.hh.

Referenced by ComputeStep().

G4int G4ReplicaNavigation::fVerbose
private

Definition at line 176 of file G4ReplicaNavigation.hh.

G4double G4ReplicaNavigation::kAngTolerance
private

Definition at line 179 of file G4ReplicaNavigation.hh.

Referenced by G4ReplicaNavigation(), and Inside().

G4double G4ReplicaNavigation::kCarTolerance
private
G4double G4ReplicaNavigation::kRadTolerance
private

Definition at line 179 of file G4ReplicaNavigation.hh.

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


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