35#ifndef G4MULTINAVIGATOR_HH
36#define G4MULTINAVIGATOR_HH 1
81 const G4double pCurrentProposedStepLength,
135 const G4bool pRelativeSearch =
true,
136 const G4bool ignoreDirection =
true)
override;
161 const G4bool keepState =
false )
override;
193 G4bool* obtained )
override;
205 G4bool* obtained )
override;
245 G4int fNoActiveNavigators = 0;
246 static const G4int fMaxNav = 16;
255 G4bool fLimitTruth[fMaxNav];
258 G4int fNoLimitingStep = -1;
259 G4int fIdNavLimiting = -1;
275 G4double fMinSafety_atSafLocation = -1.0;
277 G4double fMinSafety_PreStepPt = -1.0;
288 if( (n>fNoActiveNavigators) || (n<0) ) { n=0; }
289 return fpNavigator[n];
CLHEP::Hep3Vector G4ThreeVector
G4ReferenceCountedHandle< G4VTouchable > G4TouchableHandle
G4TouchableHandle is a type providing reference counting mechanism for any kind of touchable objects....
G4ThreeVector GetLocalExitNormalAndCheck(const G4ThreeVector &point, G4bool *obtained) override
G4VPhysicalVolume * LocateGlobalPointAndSetup(const G4ThreeVector &point, const G4ThreeVector *direction=nullptr, const G4bool pRelativeSearch=true, const G4bool ignoreDirection=true) override
G4Navigator * GetNavigator(G4int n) const
G4double ObtainFinalStep(G4int navigatorId, G4double &pNewSafety, G4double &minStepLast, ELimited &limitedStep)
void ResetState() override
~G4MultiNavigator() override=default
void SetupHierarchy() override
G4ThreeVector GetGlobalExitNormal(const G4ThreeVector &point, G4bool *obtained) override
void LocateGlobalPointWithinVolume(const G4ThreeVector &position) override
G4double ComputeSafety(const G4ThreeVector &globalpoint, const G4double pProposedMaxLength=DBL_MAX, const G4bool keepState=false) override
G4double ComputeStep(const G4ThreeVector &pGlobalPoint, const G4ThreeVector &pDirection, const G4double pCurrentProposedStepLength, G4double &pNewSafety) override
G4ThreeVector GetLocalExitNormal(G4bool *obtained) override
void PrepareNewTrack(const G4ThreeVector &position, const G4ThreeVector direction)
friend std::ostream & operator<<(std::ostream &os, const G4Navigator &n)
G4VPhysicalVolume * ResetHierarchyAndLocate(const G4ThreeVector &point, const G4ThreeVector &direction, const G4TouchableHistory &h) override
G4TouchableHandle CreateTouchableHistoryHandle() const override
G4TouchableHistory is an object representing a touchable detector element, and its history in the geo...
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....