|
ACTS
Experiment-independent tracking
|
A navigation policy that uses grid based navigation for indexed surfaces Navigate through a multilayer structure by creating an artificial path on the grid. More...
#include <Acts/Navigation/MultiLayerNavigationPolicy.hpp>
Classes | |
| struct | Config |
Public Types | |
| using | GridType |
| Type alias for 2D equidistant grid holding surface indices. | |
| using | IndexedUpdatorType = IndexGrid<GridType> |
| Type alias for indexed surfaces navigation updater. | |
Public Member Functions | |
| MultiLayerNavigationPolicy (const GeometryContext &gctx, const TrackingVolume &volume, const Logger &logger, const Config &config, IndexedUpdatorType grid) | |
| Main constructor, which expects the grid and will fill it with the surfaces from the volume passed. | |
| void | connect (NavigationDelegate &delegate) const override |
| Connect this policy with a navigation delegate. | |
| std::vector< Vector2 > | generatePath (const Vector3 &startPosition, const Vector3 &direction) const |
| Generate a path in the multilayer. | |
| void | initializeCandidates (const GeometryContext &gctx, const NavigationArguments &args, AppendOnlyNavigationStream &stream, const Logger &logger) const |
| Update the navigation state from the surface array. | |
| Public Member Functions inherited from Acts::INavigationPolicy | |
| virtual | ~INavigationPolicy ()=default |
| Virtual destructor so policies can be held through this base class. | |
| virtual void | visit (const std::function< void(const INavigationPolicy &)> &visitor) const |
| Convenience function to walk over all navigation policies. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from Acts::INavigationPolicy | |
| static void | noopInitializeCandidates (const GeometryContext &, const NavigationArguments &, const AppendOnlyNavigationStream &, const Logger &) |
| Noop update function that is suitable as a default for default navigation delegates. | |
| Protected Member Functions inherited from Acts::INavigationPolicy | |
| template<NavigationPolicyConcept T> | |
| void | connectDefault (NavigationDelegate &delegate) const |
| Internal helper function for derived classes that conform to the concept and have a conventional updateState method. | |
A navigation policy that uses grid based navigation for indexed surfaces Navigate through a multilayer structure by creating an artificial path on the grid.
Type alias for 2D equidistant grid holding surface indices.
Type alias for indexed surfaces navigation updater.
|
explicit |
Main constructor, which expects the grid and will fill it with the surfaces from the volume passed.
volume | gctx | The geometrycontext object |
| volume | The tracking volume holding the surfaces that will be the indexed objects |
| config | The configuration of the Navigation Policy |
| logger | A logging instance |
| grid | The grid that will be filled with the surfaces |
|
overridevirtual |
Connect this policy with a navigation delegate.
| delegate | The navigation delegate to connect to |
Implements Acts::INavigationPolicy.
| std::vector< Vector2 > Acts::Experimental::MultiLayerNavigationPolicy::generatePath | ( | const Vector3 & | startPosition, |
| const Vector3 & | direction ) const |
Generate a path in the multilayer.
| startPosition | The starting position of the path (in local frame) |
| direction | The direction of the path (in local frame) |
| void Acts::Experimental::MultiLayerNavigationPolicy::initializeCandidates | ( | const GeometryContext & | gctx, |
| const NavigationArguments & | args, | ||
| AppendOnlyNavigationStream & | stream, | ||
| const Logger & | logger ) const |
Update the navigation state from the surface array.
| gctx | The geometry context |
| args | The navigation arguments |
| stream | The navigation stream to update |
| logger | The logger |