Geant4  10.02.p02
G4ITPathFinder Class Reference

#include <G4ITPathFinder.hh>

+ Inheritance diagram for G4ITPathFinder:
+ Collaboration diagram for G4ITPathFinder:

Public Member Functions

G4double ComputeStep (const G4FieldTrack &pFieldTrack, G4double pCurrentProposedStepLength, G4int navigatorId, G4int stepNo, G4double &pNewSafety, ELimited &limitedStep, G4FieldTrack &EndState, G4VPhysicalVolume *currentVolume)
 
void Locate (const G4ThreeVector &position, const G4ThreeVector &direction, G4bool relativeSearch=true)
 
void ReLocate (const G4ThreeVector &position)
 
void PrepareNewTrack (const G4ThreeVector &position, const G4ThreeVector &direction, G4VPhysicalVolume *massStartVol=0)
 
G4TouchableHandle CreateTouchableHandle (G4int navId) const
 
G4VPhysicalVolumeGetLocatedVolume (G4int navId) const
 
G4bool IsParticleLooping () const
 
G4double GetCurrentSafety () const
 
G4double GetMinimumStep () const
 
unsigned int GetNumberGeometriesLimitingStep () const
 
G4double ComputeSafety (const G4ThreeVector &globalPoint)
 
G4double ObtainSafety (G4int navId, G4ThreeVector &globalCenterPoint)
 
void EnableParallelNavigation (G4bool enableChoice=true)
 
G4int SetVerboseLevel (G4int lev=-1)
 
G4int GetMaxLoopCount () const
 
void SetMaxLoopCount (G4int new_max)
 
void MovePoint ()
 
G4double LastPreSafety (G4int navId, G4ThreeVector &globalCenterPoint, G4double &minSafety)
 
void PushPostSafetyToPreSafety ()
 
G4StringLimitedString (ELimited lim)
 
- Public Member Functions inherited from G4TrackStateDependent< G4ITPathFinder >
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 ()
 

Static Public Member Functions

static G4ITPathFinderGetInstance ()
 

Protected Member Functions

G4double DoNextLinearStep (const G4FieldTrack &FieldTrack, G4double proposedStepLength)
 
G4double DoNextCurvedStep (const G4FieldTrack &FieldTrack, G4double proposedStepLength, G4VPhysicalVolume *pCurrentPhysVolume)
 
void WhichLimited ()
 
void PrintLimited ()
 
G4bool UseSafetyForOptimization (G4bool)
 
void ReportMove (const G4ThreeVector &OldV, const G4ThreeVector &NewV, const G4String &Quantity) const
 
 G4ITPathFinder ()
 
 ~G4ITPathFinder ()
 
G4ITNavigator * GetNavigator (G4int n) const
 
- Protected Member Functions inherited from G4TrackStateDependent< G4ITPathFinder >
 G4TrackStateDependent ()
 

Private Attributes

G4ITMultiNavigatorfpMultiNavigator
 
G4int fNoActiveNavigators
 
G4ITNavigator * fpNavigator [G4ITNavigator::fMaxNav]
 
G4int fVerboseLevel
 
G4ITTransportationManagerfpTransportManager
 
G4double kCarTolerance
 

Static Private Attributes

static G4ThreadLocal
G4ITPathFinder
fpPathFinder =0
 

Additional Inherited Members

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

Detailed Description

Definition at line 157 of file G4ITPathFinder.hh.

Constructor & Destructor Documentation

G4ITPathFinder::G4ITPathFinder ( )
protected

Definition at line 96 of file G4ITPathFinder.cc.

References fNoActiveNavigators, fpMultiNavigator, fpNavigator, fpTransportManager, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), G4ITTransportationManager::GetTransportationManager(), and kCarTolerance.

Referenced by GetInstance().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ITPathFinder::~G4ITPathFinder ( )
protected

Definition at line 116 of file G4ITPathFinder.cc.

References fpMultiNavigator, and fpPathFinder.

Member Function Documentation

G4double G4ITPathFinder::ComputeSafety ( const G4ThreeVector globalPoint)

Definition at line 737 of file G4ITPathFinder.cc.

References fMinSafety_atSafLocation, fNewSafetyComputed, fNoActiveNavigators, fpTransportManager, fSafetyLocation, fVerboseLevel, G4cout, G4endl, G4ITTransportationManager::GetActiveNavigatorsIterator(), kInfinity, minSafety, and position.

Referenced by ReLocate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ITPathFinder::ComputeStep ( const G4FieldTrack pFieldTrack,
G4double  pCurrentProposedStepLength,
G4int  navigatorId,
G4int  stepNo,
G4double pNewSafety,
ELimited limitedStep,
G4FieldTrack EndState,
G4VPhysicalVolume currentVolume 
)
G4TouchableHandle G4ITPathFinder::CreateTouchableHandle ( G4int  navId) const

Definition at line 770 of file G4ITPathFinder.cc.

References fLocatedVolume, fVerboseLevel, G4cout, G4endl, G4TouchableHistory::GetHistory(), G4VPhysicalVolume::GetName(), GetNavigator(), and G4TouchableHistory::UpdateYourself().

+ Here is the call graph for this function:

G4double G4ITPathFinder::DoNextCurvedStep ( const G4FieldTrack FieldTrack,
G4double  proposedStepLength,
G4VPhysicalVolume pCurrentPhysVolume 
)
protected
G4double G4ITPathFinder::DoNextLinearStep ( const G4FieldTrack FieldTrack,
G4double  proposedStepLength 
)
protected

Definition at line 806 of file G4ITPathFinder.cc.

References fCurrentPreStepSafety, fCurrentStepSize, fEndState, fLimitedStep, fLimitTruth, fMinSafety_PreStepPt, fMinStep, fNoActiveNavigators, fNoGeometriesLimiting, fPreSafetyLocation, fPreSafetyMinValue, fPreSafetyValues, fPreStepCenterRenewed, fPreStepLocation, fpTransportManager, fTrueMinStep, fVerboseLevel, G4cout, G4endl, G4FieldTrack::GetMomentumDirection(), G4FieldTrack::GetPosition(), kDoNot, kInfinity, kUnique, G4INCL::Math::max(), G4INCL::Math::min(), minSafety, sqr(), and WhichLimited().

Referenced by ComputeStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITPathFinder::EnableParallelNavigation ( G4bool  enableChoice = true)

Definition at line 125 of file G4ITPathFinder.cc.

References G4ITSafetyHelper::EnableParallelNavigation(), fpTransportManager, and G4ITTransportationManager::GetSafetyHelper().

Referenced by PrepareNewTrack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ITPathFinder::GetCurrentSafety ( ) const
inline
G4ITPathFinder * G4ITPathFinder::GetInstance ( void  )
static

Definition at line 84 of file G4ITPathFinder.cc.

References fpPathFinder, and G4ITPathFinder().

+ Here is the call graph for this function:

G4VPhysicalVolume * G4ITPathFinder::GetLocatedVolume ( G4int  navId) const
inline
G4int G4ITPathFinder::GetMaxLoopCount ( ) const
inline
G4double G4ITPathFinder::GetMinimumStep ( ) const
inline
G4ITNavigator * G4ITPathFinder::GetNavigator ( G4int  n) const
inlineprotected

Definition at line 351 of file G4ITPathFinder.hh.

References fNoActiveNavigators, fpNavigator, and n.

Referenced by CreateTouchableHandle(), and PrintLimited().

+ Here is the caller graph for this function:

unsigned int G4ITPathFinder::GetNumberGeometriesLimitingStep ( ) const
inline
G4bool G4ITPathFinder::IsParticleLooping ( ) const
inline
G4double G4ITPathFinder::LastPreSafety ( G4int  navId,
G4ThreeVector globalCenterPoint,
G4double minSafety 
)
inline
G4String & G4ITPathFinder::LimitedString ( ELimited  lim)

Definition at line 1352 of file G4ITPathFinder.cc.

References kDoNot, kSharedOther, kSharedTransport, and kUnique.

Referenced by DoNextCurvedStep(), and PrintLimited().

+ Here is the caller graph for this function:

void G4ITPathFinder::Locate ( const G4ThreeVector position,
const G4ThreeVector direction,
G4bool  relativeSearch = true 
)

Definition at line 463 of file G4ITPathFinder.cc.

References fCurrentStepSize, fEndState, fLastLocatedPosition, fLimitedStep, fLimitTruth, fLocatedVolume, fNewTrack, fNoActiveNavigators, fpTransportManager, fRelocatedPoint, fVerboseLevel, G4cout, G4endl, G4ITTransportationManager::GetActiveNavigatorsIterator(), kCarTolerance, kDoNot, position, and ReportMove().

Referenced by ComputeStep(), and PrepareNewTrack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITPathFinder::MovePoint ( )
inline

Definition at line 346 of file G4ITPathFinder.hh.

References G4TrackStateDependent< G4ITPathFinder >::fpTrackState.

Referenced by ComputeStep(), and PrepareNewTrack().

+ Here is the caller graph for this function:

G4double G4ITPathFinder::ObtainSafety ( G4int  navId,
G4ThreeVector globalCenterPoint 
)
inline
void G4ITPathFinder::PrintLimited ( )
protected

Definition at line 1081 of file G4ITPathFinder.cc.

References fCurrentPreStepSafety, fCurrentStepNo, fCurrentStepSize, fLimitedStep, fLimitTruth, fMinStep, fNoActiveNavigators, fTrueMinStep, fVerboseLevel, G4cout, G4endl, G4VPhysicalVolume::GetName(), GetNavigator(), and LimitedString().

Referenced by DoNextCurvedStep(), and WhichLimited().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITPathFinder::PushPostSafetyToPreSafety ( )
void G4ITPathFinder::ReportMove ( const G4ThreeVector OldV,
const G4ThreeVector NewV,
const G4String Quantity 
) const
protected

Definition at line 441 of file G4ITPathFinder.cc.

References G4cerr, G4endl, G4Exception(), JustWarning, and mm.

Referenced by Locate(), and ReLocate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITPathFinder::SetMaxLoopCount ( G4int  new_max)
inline
G4int G4ITPathFinder::SetVerboseLevel ( G4int  lev = -1)
inline

Definition at line 325 of file G4ITPathFinder.hh.

References fVerboseLevel.

G4bool G4ITPathFinder::UseSafetyForOptimization ( G4bool  )
inlineprotected
void G4ITPathFinder::WhichLimited ( )
protected

Definition at line 1023 of file G4ITPathFinder.cc.

References fCurrentStepSize, fLimitedStep, fLimitTruth, fMinStep, fNoActiveNavigators, fNoGeometriesLimiting, fVerboseLevel, G4cout, G4endl, kCarTolerance, kDoNot, kInfinity, kSharedOther, kSharedTransport, kUnique, and PrintLimited().

Referenced by DoNextLinearStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4ITMultiNavigator* G4ITPathFinder::fpMultiNavigator
private
G4ITNavigator* G4ITPathFinder::fpNavigator[G4ITNavigator::fMaxNav]
private

Definition at line 301 of file G4ITPathFinder.hh.

Referenced by DoNextCurvedStep(), G4ITPathFinder(), GetNavigator(), and PrepareNewTrack().

G4ThreadLocal G4ITPathFinder * G4ITPathFinder::fpPathFinder =0
staticprivate

Definition at line 310 of file G4ITPathFinder.hh.

Referenced by GetInstance(), and ~G4ITPathFinder().

G4ITTransportationManager* G4ITPathFinder::fpTransportManager
private
G4double G4ITPathFinder::kCarTolerance
private

Definition at line 308 of file G4ITPathFinder.hh.

Referenced by ComputeStep(), G4ITPathFinder(), Locate(), and WhichLimited().


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