Geant4  10.02.p01
G4ITMultiNavigator Class Reference

#include <G4ITMultiNavigator.hh>

+ Inheritance diagram for G4ITMultiNavigator:
+ Collaboration diagram for G4ITMultiNavigator:

Public Member Functions

 G4ITMultiNavigator ()
 
 ~G4ITMultiNavigator ()
 
G4double ComputeStep (const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double &pNewSafety)
 
G4double ObtainFinalStep (G4int navigatorId, G4double &pNewSafety, G4double &minStepLast, ELimited &limitedStep)
 
void PrepareNavigators ()
 
void PrepareNewTrack (const G4ThreeVector position, const G4ThreeVector direction)
 
G4VPhysicalVolumeResetHierarchyAndLocate (const G4ThreeVector &point, const G4ThreeVector &direction, const G4TouchableHistory &h)
 
G4VPhysicalVolumeLocateGlobalPointAndSetup (const G4ThreeVector &point, const G4ThreeVector *direction=0, const G4bool pRelativeSearch=true, const G4bool ignoreDirection=true)
 
void LocateGlobalPointWithinVolume (const G4ThreeVector &position)
 
G4double ComputeSafety (const G4ThreeVector &globalpoint, const G4double pProposedMaxLength=DBL_MAX, const G4bool keepState=false)
 
G4TouchableHistoryHandle CreateTouchableHistoryHandle () const
 
virtual G4ThreeVector GetLocalExitNormal (G4bool *obtained)
 
virtual G4ThreeVector GetLocalExitNormalAndCheck (const G4ThreeVector &CurrentE_Point, G4bool *obtained)
 
virtual G4ThreeVector GetGlobalExitNormal (const G4ThreeVector &CurrentE_Point, G4bool *obtained)
 
G4ITNavigator * GetNavigator (G4int n) const
 
- Public Member Functions inherited from G4TrackStateDependent< G4ITMultiNavigator >
virtual ~G4TrackStateDependent ()
 
virtual void SetTrackState (G4shared_ptr< StateType > state)
 
virtual G4VTrackStateHandle PopTrackState ()
 
virtual G4VTrackStateHandle GetTrackState () const
 
virtual StateTypeHandle GetConcreteTrackState () const
 
virtual void LoadTrackState (G4TrackStateManager &manager)
 
virtual void SaveTrackState (G4TrackStateManager &manager)
 
virtual void NewTrackState ()
 
virtual StateTypeHandle CreateTrackState () const
 
virtual void ResetTrackState ()
 
- Public Member Functions inherited from G4VTrackStateDependent
 G4VTrackStateDependent ()
 
virtual ~G4VTrackStateDependent ()
 

Protected Member Functions

void ResetState ()
 
void SetupHierarchy ()
 
void WhichLimited ()
 
void PrintLimited ()
 
void CheckMassWorld ()
 
- Protected Member Functions inherited from G4TrackStateDependent< G4ITMultiNavigator >
 G4TrackStateDependent ()
 

Private Attributes

G4int fNoActiveNavigators
 
G4VPhysicalVolumefLastMassWorld
 
G4ITNavigator * fpNavigator [fMaxNav]
 
G4ITTransportationManagerpTransportManager
 

Friends

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

Additional Inherited Members

- Public Types inherited from G4TrackStateDependent< G4ITMultiNavigator >
typedef G4ITMultiNavigator ClassType
 
typedef G4TrackState
< G4ITMultiNavigator
StateType
 
typedef G4shared_ptr< StateTypeStateTypeHandle
 
- Protected Attributes inherited from G4TrackStateDependent< G4ITMultiNavigator >
StateTypeHandle fpTrackState
 

Detailed Description

Definition at line 144 of file G4ITMultiNavigator.hh.

Constructor & Destructor Documentation

G4ITMultiNavigator::G4ITMultiNavigator ( )

Definition at line 68 of file G4ITMultiNavigator.cc.

References fLastMassWorld, fNoActiveNavigators, fpNavigator, G4ITTransportationManager::GetNavigatorForTracking(), G4ITTransportationManager::GetTransportationManager(), and pTransportManager.

+ Here is the call graph for this function:

G4ITMultiNavigator::~G4ITMultiNavigator ( )

Definition at line 92 of file G4ITMultiNavigator.cc.

Member Function Documentation

void G4ITMultiNavigator::CheckMassWorld ( )
protected

Definition at line 641 of file G4ITMultiNavigator.cc.

References FatalException, fLastMassWorld, G4Exception(), G4ITTransportationManager::GetNavigatorForTracking(), and pTransportManager.

+ Here is the call graph for this function:

G4double G4ITMultiNavigator::ComputeSafety ( const G4ThreeVector globalpoint,
const G4double  pProposedMaxLength = DBL_MAX,
const G4bool  keepState = false 
)
G4double G4ITMultiNavigator::ComputeStep ( const G4ThreeVector pGlobalPoint,
const G4ThreeVector pDirection,
const G4double  pCurrentProposedStepLength,
G4double pNewSafety 
)

Definition at line 96 of file G4ITMultiNavigator.cc.

References fCurrentStepSize, fIdNavLimiting, fMinSafety_PreStepPt, fMinStep, fNewSafety, fNoActiveNavigators, fNoLimitingStep, fPreStepLocation, fTrueMinStep, G4cout, G4endl, kInfinity, minSafety, pTransportManager, and WhichLimited().

+ Here is the call graph for this function:

G4TouchableHistoryHandle G4ITMultiNavigator::CreateTouchableHistoryHandle ( ) const

Definition at line 464 of file G4ITMultiNavigator.cc.

References FatalException, fLocatedVolume, fpNavigator, G4Exception(), G4TouchableHistory::GetHistory(), and G4TouchableHistory::UpdateYourself().

+ Here is the call graph for this function:

G4ThreeVector G4ITMultiNavigator::GetGlobalExitNormal ( const G4ThreeVector CurrentE_Point,
G4bool obtained 
)
virtual

Definition at line 696 of file G4ITMultiNavigator.cc.

References fIdNavLimiting, fLimitTruth, fNoActiveNavigators, fNoLimitingStep, fpNavigator, G4endl, G4Exception(), G4ITTransportationManager::GetActiveNavigatorsIterator(), JustWarning, perThousand, and pTransportManager.

+ Here is the call graph for this function:

G4ThreeVector G4ITMultiNavigator::GetLocalExitNormal ( G4bool obtained)
virtual

Definition at line 787 of file G4ITMultiNavigator.cc.

References FatalException, fIdNavLimiting, fNoLimitingStep, fpNavigator, G4endl, G4Exception(), G4ThreadLocal, and JustWarning.

Referenced by GetLocalExitNormalAndCheck().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4ITMultiNavigator::GetLocalExitNormalAndCheck ( const G4ThreeVector CurrentE_Point,
G4bool obtained 
)
virtual

Definition at line 831 of file G4ITMultiNavigator.cc.

References GetLocalExitNormal().

+ Here is the call graph for this function:

G4ITNavigator* G4ITMultiNavigator::GetNavigator ( G4int  n) const
inline

Definition at line 230 of file G4ITMultiNavigator.hh.

References fNoActiveNavigators, fpNavigator, and n.

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

Definition at line 319 of file G4ITMultiNavigator.cc.

References fCurrentStepSize, fLimitedStep, fLimitTruth, fLocatedVolume, fNoActiveNavigators, fWasLimitedByGeometry, G4cout, G4endl, G4ITTransportationManager::GetActiveNavigatorsIterator(), G4VPhysicalVolume::GetCopyNo(), G4VPhysicalVolume::GetName(), kDoNot, and pTransportManager.

Referenced by PrepareNewTrack(), and ResetHierarchyAndLocate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITMultiNavigator::LocateGlobalPointWithinVolume ( const G4ThreeVector position)

Definition at line 397 of file G4ITMultiNavigator.cc.

References fCurrentStepSize, fLastLocatedPosition, fLimitedStep, fLimitTruth, fNoActiveNavigators, fWasLimitedByGeometry, G4cout, G4endl, G4ITTransportationManager::GetActiveNavigatorsIterator(), kDoNot, position, and pTransportManager.

+ Here is the call graph for this function:

G4double G4ITMultiNavigator::ObtainFinalStep ( G4int  navigatorId,
G4double pNewSafety,
G4double minStepLast,
ELimited limitedStep 
)

Definition at line 195 of file G4ITMultiNavigator.cc.

References FatalException, fCurrentStepSize, fLimitedStep, fMinStep, fNewSafety, fNoActiveNavigators, G4cout, G4endl, G4Exception(), and mm.

Referenced by G4ITPathFinder::DoNextCurvedStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITMultiNavigator::PrepareNavigators ( )

Definition at line 253 of file G4ITMultiNavigator.cc.

References FatalException, fCurrentStepSize, fLastMassWorld, fLimitedStep, fLimitTruth, fLocatedVolume, fNoActiveNavigators, fpNavigator, fWasLimitedByGeometry, G4cout, G4endl, G4Exception(), G4VPhysicalVolume::GetName(), kDoNot, and pTransportManager.

Referenced by PrepareNewTrack(), and G4ITPathFinder::PrepareNewTrack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITMultiNavigator::PrepareNewTrack ( const G4ThreeVector  position,
const G4ThreeVector  direction 
)

Definition at line 232 of file G4ITMultiNavigator.cc.

References G4cout, G4endl, LocateGlobalPointAndSetup(), and PrepareNavigators().

+ Here is the call graph for this function:

void G4ITMultiNavigator::PrintLimited ( )
protected

Definition at line 544 of file G4ITMultiNavigator.cc.

References fCurrentStepSize, fLimitedStep, fLimitTruth, fMinStep, fNewSafety, fNoActiveNavigators, fpNavigator, fTrueMinStep, G4cout, G4endl, G4VPhysicalVolume::GetName(), kDoNot, kSharedOther, kSharedTransport, and kUnique.

+ Here is the call graph for this function:

G4VPhysicalVolume * G4ITMultiNavigator::ResetHierarchyAndLocate ( const G4ThreeVector point,
const G4ThreeVector direction,
const G4TouchableHistory h 
)

Definition at line 657 of file G4ITMultiNavigator.cc.

References FatalException, fNoActiveNavigators, fpNavigator, G4Exception(), G4ITTransportationManager::GetActiveNavigatorsIterator(), LocateGlobalPointAndSetup(), and pTransportManager.

+ Here is the call graph for this function:

void G4ITMultiNavigator::ResetState ( )
protected

Definition at line 614 of file G4ITMultiNavigator.cc.

References FatalException, fNoActiveNavigators, fWasLimitedByGeometry, G4Exception(), and pTransportManager.

+ Here is the call graph for this function:

void G4ITMultiNavigator::SetupHierarchy ( )
protected

Definition at line 632 of file G4ITMultiNavigator.cc.

References FatalException, and G4Exception().

+ Here is the call graph for this function:

void G4ITMultiNavigator::WhichLimited ( )
protected

Definition at line 486 of file G4ITMultiNavigator.cc.

References fCurrentStepSize, fLimitedStep, fLimitTruth, fMinStep, fNoActiveNavigators, fNoLimitingStep, G4cout, G4endl, kDoNot, kInfinity, kSharedOther, kSharedTransport, and kUnique.

Referenced by ComputeStep().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

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

Member Data Documentation

G4VPhysicalVolume* G4ITMultiNavigator::fLastMassWorld
private

Definition at line 255 of file G4ITMultiNavigator.hh.

Referenced by CheckMassWorld(), G4ITMultiNavigator(), and PrepareNavigators().

G4ITNavigator* G4ITMultiNavigator::fpNavigator[fMaxNav]
private

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