39#ifndef G4PATHFINDER_HH
40#define G4PATHFINDER_HH 1
114 G4bool relativeSearch =
true);
300 G4int fNoActiveNavigators = 0;
303 static const G4int fMaxNav = 16;
312 G4bool fLimitTruth[fMaxNav];
314 G4int fNoGeometriesLimiting = 0;
322 G4double fPreSafetyValues[ fMaxNav ];
329 G4double fMinSafety_PreStepPt = -1.0;
334 G4double fCurrentPreStepSafety[ fMaxNav ];
337 G4bool fPreStepCenterRenewed =
false;
351 G4bool fFieldExertedForce =
false;
353 G4bool fRelocatedPoint =
false;
363 G4double fMinSafety_atSafLocation = -1.0;
365 G4double fNewSafetyComputed[ fMaxNav ];
369 G4int fLastStepNo = -1, fCurrentStepNo = -1;
371 G4int fVerboseLevel = 0;
385#include "G4PathFinder.icc"
CLHEP::Hep3Vector G4ThreeVector
G4ReferenceCountedHandle< G4VTouchable > G4TouchableHandle
G4TouchableHandle is a type providing reference counting mechanism for any kind of touchable objects....
G4FieldTrack defines a data structure bringing together a magnetic track's state (position,...
G4MultiNavigator is a utility class for polling the navigators of several geometries to identify the ...
G4Navigator is a class for use by the tracking management, able to obtain/calculate dynamic tracking ...
G4double ComputeSafety(const G4ThreeVector &globalPoint)
void EnableParallelNavigation(G4bool enableChoice=true)
void ReLocate(const G4ThreeVector &position)
unsigned int GetNumberGeometriesLimitingStep() const
void PushPostSafetyToPreSafety()
G4double ObtainSafety(G4int navId, G4ThreeVector &globalCenterPoint)
G4VPhysicalVolume * GetLocatedVolume(G4int navId) const
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)
G4String & LimitedString(ELimited lim)
G4double GetCurrentSafety() const
G4double LastPreSafety(G4int navId, G4ThreeVector &globCenterPoint, G4double &minSafety)
G4int GetMaxLoopCount() const
void PrepareNewTrack(const G4ThreeVector &position, const G4ThreeVector &direction, G4VPhysicalVolume *massStartVol=nullptr)
void SetMaxLoopCount(G4int new_max)
G4double GetMinimumStep() const
static G4PathFinder * GetInstance()
G4int SetVerboseLevel(G4int lev=-1)
G4TouchableHandle CreateTouchableHandle(G4int navId) const
static G4PathFinder * GetInstanceIfExist()
G4PropagatorInField performs the navigation/propagation of a particle/track in a magnetic field....
G4TransportationManager is a singleton class which stores the navigator used by the transportation pr...
G4VPhysicalVolume is an abstract base class for the representation of a positioned volume....