File SurfaceCandidatesUpdators.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

namespace Experimental

Typedefs

using IndexedSurfacesImpl = IndexedUpdatorImpl<grid_type, IndexedSurfacesExtractor, SurfacesFiller>

An indexed surface implementation access.

Template Parameters

grid_type – is the grid type used for this

Functions

static inline SurfaceCandidatesUpdator allPortals()

Generate a provider for all portals.

Returns

a connected navigationstate updator

static inline SurfaceCandidatesUpdator allPortalsAndSurfaces()

Generate a provider for all portals and Surfacess.

Note

this is a try-and error navigation, not recommended for production setup with many surfaces

Returns

a connected navigationstate updator

static inline void updateCandidates(const GeometryContext &gctx, NavigationState &nState)

Helper method to update the candidates (portals/surfaces), this can be called for initial surface/portal estimation, but also during the navigation to update the current list of candidates.

Parameters
  • gctx – is the Geometry context of this call

  • nState – [in,out] is the navigation state to be updated

struct AdditionalSurfacesImpl : public Acts::Experimental::INavigationDelegate
#include <Acts/Navigation/SurfaceCandidatesUpdators.hpp>

This holds and extracts a collection of surfaces without much checking, this could be e.g.

support surfaces for layer structures, e.g.

Public Functions

inline void update([[maybe_unused]] const GeometryContext &gctx, NavigationState &nState) const

Extract the sub volumes from the volume.

Parameters
  • gctx – the geometry contextfor this extraction call (ignored)

  • nState – is the navigation state

Public Members

std::vector<const Surface*> surfaces = {}

The volumes held by this collection.

struct AllPortalsAndSurfacesImpl : public Acts::Experimental::INavigationDelegate
#include <Acts/Navigation/SurfaceCandidatesUpdators.hpp>

Public Functions

inline void update(const GeometryContext &gctx, NavigationState &nState) const

An ordered list of portals and surfaces provider.

Note

that the intersections are ordered, such that the smallest intersection pathlength >= overstep tolerance is the lowest

Parameters
  • gctx – is the Geometry context of this call

  • nState – is the navigation state to be updated

Returns

an ordered list of portal and surface candidates

struct AllPortalsImpl : public Acts::Experimental::INavigationDelegate
#include <Acts/Navigation/SurfaceCandidatesUpdators.hpp>

Public Functions

inline void update(const GeometryContext &gctx, NavigationState &nState) const

A ordered portal provider.

Note

that the intersections are ordered, such that the smallest intersection pathlength >= overstep tolerance is the lowest

Parameters
  • gctx – is the Geometry context of this call

  • nState – is the navigation state to be updated

Returns

an ordered list of portal candidates