Geant4  10.00.p04
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4Navigator Class Reference
Inheritance diagram for G4Navigator:
G4ErrorPropagationNavigator G4ITNavigator G4MultiNavigator

Classes

struct  G4SaveNavigatorState
 

Public Member Functions

 G4Navigator ()
 
virtual ~G4Navigator ()
 
virtual G4double ComputeStep (const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double &pNewSafety)
 
G4double CheckNextStep (const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double &pNewSafety)
 
virtual G4VPhysicalVolumeResetHierarchyAndLocate (const G4ThreeVector &point, const G4ThreeVector &direction, const G4TouchableHistory &h)
 
virtual G4VPhysicalVolumeLocateGlobalPointAndSetup (const G4ThreeVector &point, const G4ThreeVector *direction=0, const G4bool pRelativeSearch=true, const G4bool ignoreDirection=true)
 
virtual void LocateGlobalPointWithinVolume (const G4ThreeVector &position)
 
void LocateGlobalPointAndUpdateTouchableHandle (const G4ThreeVector &position, const G4ThreeVector &direction, G4TouchableHandle &oldTouchableToUpdate, const G4bool RelativeSearch=true)
 
void LocateGlobalPointAndUpdateTouchable (const G4ThreeVector &position, const G4ThreeVector &direction, G4VTouchable *touchableToUpdate, const G4bool RelativeSearch=true)
 
void LocateGlobalPointAndUpdateTouchable (const G4ThreeVector &position, G4VTouchable *touchableToUpdate, const G4bool RelativeSearch=true)
 
void SetGeometricallyLimitedStep ()
 
virtual G4double ComputeSafety (const G4ThreeVector &globalpoint, const G4double pProposedMaxLength=DBL_MAX, const G4bool keepState=true)
 
G4VPhysicalVolumeGetWorldVolume () const
 
void SetWorldVolume (G4VPhysicalVolume *pWorld)
 
G4GRSVolumeCreateGRSVolume () const
 
G4GRSSolidCreateGRSSolid () const
 
G4TouchableHistoryCreateTouchableHistory () const
 
G4TouchableHistoryCreateTouchableHistory (const G4NavigationHistory *) const
 
virtual G4TouchableHistoryHandle CreateTouchableHistoryHandle () const
 
virtual G4ThreeVector GetLocalExitNormal (G4bool *valid)
 
virtual G4ThreeVector GetLocalExitNormalAndCheck (const G4ThreeVector &point, G4bool *valid)
 
virtual G4ThreeVector GetGlobalExitNormal (const G4ThreeVector &point, G4bool *valid)
 
G4int GetVerboseLevel () const
 
void SetVerboseLevel (G4int level)
 
G4bool IsActive () const
 
void Activate (G4bool flag)
 
G4bool EnteredDaughterVolume () const
 
G4bool ExitedMotherVolume () const
 
void CheckMode (G4bool mode)
 
G4bool IsCheckModeActive () const
 
void SetPushVerbosity (G4bool mode)
 
void PrintState () const
 
const G4AffineTransformGetGlobalToLocalTransform () const
 
const G4AffineTransform GetLocalToGlobalTransform () const
 
G4AffineTransform GetMotherToDaughterTransform (G4VPhysicalVolume *dVolume, G4int dReplicaNo, EVolume dVolumeType)
 
void ResetStackAndState ()
 
G4int SeverityOfZeroStepping (G4int *noZeroSteps) const
 
G4ThreeVector GetCurrentLocalCoordinate () const
 
G4ThreeVector NetTranslation () const
 
G4RotationMatrix NetRotation () const
 
void EnableBestSafety (G4bool value=false)
 

Protected Member Functions

void SetSavedState ()
 
void RestoreSavedState ()
 
virtual void ResetState ()
 
G4ThreeVector ComputeLocalPoint (const G4ThreeVector &rGlobPoint) const
 
G4ThreeVector ComputeLocalAxis (const G4ThreeVector &pVec) const
 
EVolume VolumeType (const G4VPhysicalVolume *pVol) const
 
EVolume CharacteriseDaughters (const G4LogicalVolume *pLog) const
 
G4int GetDaughtersRegularStructureId (const G4LogicalVolume *pLog) const
 
virtual void SetupHierarchy ()
 

Protected Attributes

G4double kCarTolerance
 
G4NavigationHistory fHistory
 
G4bool fEnteredDaughter
 
G4bool fExitedMother
 
G4bool fWasLimitedByGeometry
 
G4ThreeVector fStepEndPoint
 
G4ThreeVector fLastStepEndPointLocal
 
G4int fVerbose
 

Private Member Functions

 G4Navigator (const G4Navigator &)
 
G4Navigatoroperator= (const G4Navigator &)
 
void ComputeStepLog (const G4ThreeVector &pGlobalpoint, G4double moveLenSq) const
 

Private Attributes

G4bool fActive
 
G4bool fLastTriedStepComputation
 
G4bool fEntering
 
G4bool fExiting
 
G4VPhysicalVolumefBlockedPhysicalVolume
 
G4int fBlockedReplicaNo
 
G4ThreeVector fLastLocatedPointLocal
 
G4bool fLocatedOutsideWorld
 
G4bool fValidExitNormal
 
G4ThreeVector fExitNormal
 
G4ThreeVector fGrandMotherExitNormal
 
G4bool fChangedGrandMotherRefFrame
 
G4ThreeVector fExitNormalGlobalFrame
 
G4bool fCalculatedExitNormal
 
G4bool fLastStepWasZero
 
G4bool fLocatedOnEdge
 
G4int fNumberZeroSteps
 
G4int fActionThreshold_NoZeroSteps
 
G4int fAbandonThreshold_NoZeroSteps
 
G4ThreeVector fPreviousSftOrigin
 
G4double fPreviousSafety
 
struct
G4Navigator::G4SaveNavigatorState 
fSaveState
 
G4VPhysicalVolumefTopPhysical
 
G4bool fCheck
 
G4bool fPushed
 
G4bool fWarnPush
 
G4NormalNavigation fnormalNav
 
G4VoxelNavigation fvoxelNav
 
G4ParameterisedNavigation fparamNav
 
G4ReplicaNavigation freplicaNav
 
G4RegularNavigation fregularNav
 
G4VoxelSafetyfpVoxelSafety
 

Friends

std::ostream & operator<< (std::ostream &os, const G4Navigator &n)
 

Constructor & Destructor Documentation

virtual ~G4Navigator ( )
virtual
G4Navigator ( const G4Navigator )
private

Member Function Documentation

virtual G4double ComputeStep ( const G4ThreeVector pGlobalPoint,
const G4ThreeVector pDirection,
const G4double  pCurrentProposedStepLength,
G4double pNewSafety 
)
virtual
G4double CheckNextStep ( const G4ThreeVector pGlobalPoint,
const G4ThreeVector pDirection,
const G4double  pCurrentProposedStepLength,
G4double pNewSafety 
)
virtual G4VPhysicalVolume* ResetHierarchyAndLocate ( const G4ThreeVector point,
const G4ThreeVector direction,
const G4TouchableHistory h 
)
virtual

Reimplemented in G4ITNavigator, G4ITNavigator, and G4MultiNavigator.

virtual G4VPhysicalVolume* LocateGlobalPointAndSetup ( const G4ThreeVector point,
const G4ThreeVector direction = 0,
const G4bool  pRelativeSearch = true,
const G4bool  ignoreDirection = true 
)
virtual

Reimplemented in G4ITNavigator, G4ITNavigator, and G4MultiNavigator.

virtual void LocateGlobalPointWithinVolume ( const G4ThreeVector position)
virtual

Reimplemented in G4ITNavigator, G4ITNavigator, and G4MultiNavigator.

void LocateGlobalPointAndUpdateTouchableHandle ( const G4ThreeVector position,
const G4ThreeVector direction,
G4TouchableHandle oldTouchableToUpdate,
const G4bool  RelativeSearch = true 
)
void LocateGlobalPointAndUpdateTouchable ( const G4ThreeVector position,
const G4ThreeVector direction,
G4VTouchable touchableToUpdate,
const G4bool  RelativeSearch = true 
)
void LocateGlobalPointAndUpdateTouchable ( const G4ThreeVector position,
G4VTouchable touchableToUpdate,
const G4bool  RelativeSearch = true 
)
void SetGeometricallyLimitedStep ( )
virtual G4double ComputeSafety ( const G4ThreeVector globalpoint,
const G4double  pProposedMaxLength = DBL_MAX,
const G4bool  keepState = true 
)
virtual
G4VPhysicalVolume* GetWorldVolume ( ) const
void SetWorldVolume ( G4VPhysicalVolume pWorld)
G4GRSVolume* CreateGRSVolume ( ) const
G4GRSSolid* CreateGRSSolid ( ) const
G4TouchableHistory* CreateTouchableHistory ( ) const
G4TouchableHistory* CreateTouchableHistory ( const G4NavigationHistory ) const
virtual G4TouchableHistoryHandle CreateTouchableHistoryHandle ( ) const
virtual

Reimplemented in G4ITNavigator, G4ITNavigator, and G4MultiNavigator.

virtual G4ThreeVector GetLocalExitNormal ( G4bool valid)
virtual

Reimplemented in G4ITNavigator, G4ITNavigator, and G4MultiNavigator.

virtual G4ThreeVector GetLocalExitNormalAndCheck ( const G4ThreeVector point,
G4bool valid 
)
virtual

Reimplemented in G4ITNavigator, G4ITNavigator, and G4MultiNavigator.

virtual G4ThreeVector GetGlobalExitNormal ( const G4ThreeVector point,
G4bool valid 
)
virtual
G4int GetVerboseLevel ( ) const
void SetVerboseLevel ( G4int  level)
G4bool IsActive ( ) const
void Activate ( G4bool  flag)
G4bool EnteredDaughterVolume ( ) const
G4bool ExitedMotherVolume ( ) const
void CheckMode ( G4bool  mode)
G4bool IsCheckModeActive ( ) const
void SetPushVerbosity ( G4bool  mode)
void PrintState ( ) const
const G4AffineTransform& GetGlobalToLocalTransform ( ) const
const G4AffineTransform GetLocalToGlobalTransform ( ) const
G4AffineTransform GetMotherToDaughterTransform ( G4VPhysicalVolume dVolume,
G4int  dReplicaNo,
EVolume  dVolumeType 
)
void ResetStackAndState ( )
G4int SeverityOfZeroStepping ( G4int noZeroSteps) const
G4ThreeVector GetCurrentLocalCoordinate ( ) const
G4ThreeVector NetTranslation ( ) const
G4RotationMatrix NetRotation ( ) const
void EnableBestSafety ( G4bool  value = false)
void SetSavedState ( )
protected
void RestoreSavedState ( )
protected
virtual void ResetState ( )
protectedvirtual

Reimplemented in G4ITNavigator, G4ITNavigator, and G4MultiNavigator.

G4ThreeVector ComputeLocalPoint ( const G4ThreeVector rGlobPoint) const
protected
G4ThreeVector ComputeLocalAxis ( const G4ThreeVector pVec) const
protected
EVolume VolumeType ( const G4VPhysicalVolume pVol) const
protected
EVolume CharacteriseDaughters ( const G4LogicalVolume pLog) const
protected
G4int GetDaughtersRegularStructureId ( const G4LogicalVolume pLog) const
protected
virtual void SetupHierarchy ( )
protectedvirtual

Reimplemented in G4ITNavigator, G4ITNavigator, and G4MultiNavigator.

G4Navigator& operator= ( const G4Navigator )
private
void ComputeStepLog ( const G4ThreeVector pGlobalpoint,
G4double  moveLenSq 
) const
private

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const G4Navigator n 
)
friend

Member Data Documentation

G4double kCarTolerance
protected
G4NavigationHistory fHistory
protected
G4bool fEnteredDaughter
protected
G4bool fExitedMother
protected
G4bool fWasLimitedByGeometry
protected
G4ThreeVector fStepEndPoint
protected
G4ThreeVector fLastStepEndPointLocal
protected
G4int fVerbose
protected
G4bool fActive
private
G4bool fLastTriedStepComputation
private
G4bool fEntering
private
G4bool fExiting
private
G4VPhysicalVolume* fBlockedPhysicalVolume
private
G4int fBlockedReplicaNo
private
G4ThreeVector fLastLocatedPointLocal
private
G4bool fLocatedOutsideWorld
private
G4bool fValidExitNormal
private
G4ThreeVector fExitNormal
private
G4ThreeVector fGrandMotherExitNormal
private
G4bool fChangedGrandMotherRefFrame
private
G4ThreeVector fExitNormalGlobalFrame
private
G4bool fCalculatedExitNormal
private
G4bool fLastStepWasZero
private
G4bool fLocatedOnEdge
private
G4int fNumberZeroSteps
private
G4int fActionThreshold_NoZeroSteps
private
G4int fAbandonThreshold_NoZeroSteps
private
G4ThreeVector fPreviousSftOrigin
private
G4double fPreviousSafety
private
struct G4Navigator::G4SaveNavigatorState fSaveState
private
G4VPhysicalVolume* fTopPhysical
private
G4bool fCheck
private
G4bool fPushed
private
G4bool fWarnPush
private
G4NormalNavigation fnormalNav
private
G4VoxelNavigation fvoxelNav
private
G4ParameterisedNavigation fparamNav
private
G4ReplicaNavigation freplicaNav
private
G4RegularNavigation fregularNav
private
G4VoxelSafety* fpVoxelSafety
private