49#ifndef G4ITMULTINAVIGATOR_HH
50#define G4ITMULTINAVIGATOR_HH
100 for (
G4int num = 0; num < G4ITNavigator::fMaxNav; ++num)
148 friend std::ostream&
operator <<(std::ostream &os,
const G4ITNavigator &n);
158 const G4double pCurrentProposedStepLength,
185 const G4bool pRelativeSearch =
187 const G4bool ignoreDirection =
202 const G4bool keepState =
false)
override;
212 G4bool* obtained)
override;
214 G4bool* obtained)
override;
230 if( (n>fNoActiveNavigators)||(n<0))
232 return fpNavigator[n];
252 G4int fNoActiveNavigators;
255 G4ITNavigator* fpNavigator[fMaxNav];
#define fWasLimitedByGeometry
#define fMinSafety_atSafLocation
#define fLastLocatedPosition
#define fMinSafety_PreStepPt
G4VPhysicalVolume * LocateGlobalPointAndSetup(const G4ThreeVector &point, const G4ThreeVector *direction=nullptr, const G4bool pRelativeSearch=true, const G4bool ignoreDirection=true) override
friend std::ostream & operator<<(std::ostream &os, const G4ITNavigator &n)
G4VPhysicalVolume * ResetHierarchyAndLocate(const G4ThreeVector &point, const G4ThreeVector &direction, const G4TouchableHistory &h) override
G4double ComputeStep(const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double &pNewSafety) override
G4double ComputeSafety(const G4ThreeVector &globalpoint, const G4double pProposedMaxLength=DBL_MAX, const G4bool keepState=false) override
G4ThreeVector GetGlobalExitNormal(const G4ThreeVector &CurrentE_Point, G4bool *obtained) override
void ResetState() override
void PrepareNewTrack(const G4ThreeVector position, const G4ThreeVector direction)
G4ITNavigator * GetNavigator(G4int n) const
G4TouchableHandle CreateTouchableHistoryHandle() const override
G4ThreeVector GetLocalExitNormal(G4bool *obtained) override
void SetupHierarchy() override
G4double ObtainFinalStep(G4int navigatorId, G4double &pNewSafety, G4double &minStepLast, ELimited &limitedStep)
G4ThreeVector GetLocalExitNormalAndCheck(const G4ThreeVector &CurrentE_Point, G4bool *obtained) override
void LocateGlobalPointWithinVolume(const G4ThreeVector &position) override
~G4ITMultiNavigator() override
G4bool fWasLimitedByGeometry
G4ThreeVector fPreStepLocation
G4ThreeVector fLastLocatedPosition
G4double fMinSafety_atSafLocation
~G4TrackState() override=default
G4ThreeVector fSafetyLocation
G4double fMinSafety_PreStepPt