|
ACTS
Experiment-independent tracking
|
Base class for all navigation policies. More...
#include <Acts/Navigation/INavigationPolicy.hpp>
Public Member Functions | |
| virtual | ~INavigationPolicy ()=default |
| Virtual destructor so policies can be held through this base class. | |
| virtual void | connect (NavigationDelegate &delegate) const =0 |
| Connect a policy with a delegate (usually a member of a volume). | |
| virtual void | visit (const std::function< void(const INavigationPolicy &)> &visitor) const |
| Convenience function to walk over all navigation policies. | |
Static Public Member Functions | |
| 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 | |
| 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. | |
Base class for all navigation policies.
The policy needs to be connected to a delegate via a virtual method for it to become active. The update method is not part of the class interface. The conventional updateState method is only required for use with the navigation policy factory, otherwise connect is free to connect any function.
|
virtualdefault |
Virtual destructor so policies can be held through this base class.
|
pure virtual |
Connect a policy with a delegate (usually a member of a volume).
This method exists to allow a policy to ensure a non-virtual function is registered with the delegate.
| delegate | The delegate to connect to |
Implemented in Acts::CylinderNavigationPolicy, Acts::Experimental::MultiLayerNavigationPolicy, Acts::IndexGridNavigationPolicy< GridType >, Acts::IndexGridNavigationPolicy< RegularCylinderIndexGrid >, Acts::IndexGridNavigationPolicy< RegularDiscIndexGrid >, Acts::IndexGridNavigationPolicy< RegularPlaneIndexGrid >, Acts::IndexGridNavigationPolicy< RegularRingIndexGrid >, Acts::MultiNavigationPolicy, Acts::SurfaceArrayNavigationPolicy, and Acts::TryAllNavigationPolicy.
|
protected |
Internal helper function for derived classes that conform to the concept and have a conventional updateState method.
Mainly used to save some boilerplate.
| T | The type of the navigation policy |
| delegate | The delegate to connect to |
|
static |
Noop update function that is suitable as a default for default navigation delegates.
|
virtual |
Convenience function to walk over all navigation policies.
The default implementation just calls this on itself, while the MultiNavigationPolicy will call it on all it's children.
| visitor | The visitor function to call for each policy |
Reimplemented in Acts::MultiNavigationPolicy.