Geant4  10.04
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4ITNavigator1 Class Reference

Classes

struct  G4SaveNavigatorState
 

Public Member Functions

 G4ITNavigator1 ()
 
virtual ~G4ITNavigator1 ()
 
G4ITNavigatorState_Lock1GetNavigatorState ()
 
void SetNavigatorState (G4ITNavigatorState_Lock1 *)
 
void NewNavigatorState ()
 
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
 
void SetSavedState ()
 
void RestoreSavedState ()
 
G4ThreeVector GetCurrentLocalCoordinate () const
 
G4ThreeVector NetTranslation () const
 
G4RotationMatrix NetRotation () const
 
void EnableBestSafety (G4bool value=false)
 
virtual void ResetState ()
 

Static Public Attributes

static const G4int fMaxNav = 8
 

Protected Member Functions

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

 G4ITNavigator1 (const G4ITNavigator1 &)
 
G4ITNavigator1operator= (const G4ITNavigator1 &)
 
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
 
G4SaveNavigatorStatefpSaveState
 
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 G4ITNavigator1 &n)
 

Constructor & Destructor Documentation

virtual ~G4ITNavigator1 ( )
virtual

Member Function Documentation

G4ITNavigatorState_Lock1* GetNavigatorState ( )
void SetNavigatorState ( G4ITNavigatorState_Lock1 )
void NewNavigatorState ( )
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
virtual G4VPhysicalVolume* LocateGlobalPointAndSetup ( const G4ThreeVector point,
const G4ThreeVector direction = 0,
const G4bool  pRelativeSearch = true,
const G4bool  ignoreDirection = true 
)
virtual
virtual void LocateGlobalPointWithinVolume ( const G4ThreeVector position)
virtual
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
virtual G4ThreeVector GetLocalExitNormal ( G4bool valid)
virtual
virtual G4ThreeVector GetLocalExitNormalAndCheck ( const G4ThreeVector point,
G4bool valid 
)
virtual
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
void SetSavedState ( )
void RestoreSavedState ( )
G4ThreeVector GetCurrentLocalCoordinate ( ) const
G4ThreeVector NetTranslation ( ) const
G4RotationMatrix NetRotation ( ) const
void EnableBestSafety ( G4bool  value = false)
virtual void ResetState ( )
virtual
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
G4ITNavigator1& operator= ( const G4ITNavigator1 )
private
void ComputeStepLog ( const G4ThreeVector pGlobalpoint,
G4double  moveLenSq 
) const
private

Friends And Related Function Documentation

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

Member Data Documentation

const G4int fMaxNav = 8
static
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
G4SaveNavigatorState* fpSaveState
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