ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::INavigationPolicy Class Referenceabstract

Base class for all navigation policies. More...

#include <Acts/Navigation/INavigationPolicy.hpp>

Inheritance diagram for Acts::INavigationPolicy:
[legend]

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.

Detailed Description

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.

Constructor & Destructor Documentation

◆ ~INavigationPolicy()

virtual Acts::INavigationPolicy::~INavigationPolicy ( )
virtualdefault

Virtual destructor so policies can be held through this base class.

Member Function Documentation

◆ connect()

virtual void Acts::INavigationPolicy::connect ( NavigationDelegate & delegate) const
pure virtual

◆ connectDefault()

template<NavigationPolicyConcept T>
void Acts::INavigationPolicy::connectDefault ( NavigationDelegate & delegate) const
protected

Internal helper function for derived classes that conform to the concept and have a conventional updateState method.

Mainly used to save some boilerplate.

Template Parameters
TThe type of the navigation policy
Parameters
delegateThe delegate to connect to

◆ noopInitializeCandidates()

void Acts::INavigationPolicy::noopInitializeCandidates ( const GeometryContext & ,
const NavigationArguments & ,
const AppendOnlyNavigationStream & ,
const Logger &  )
static

Noop update function that is suitable as a default for default navigation delegates.

◆ visit()

virtual void Acts::INavigationPolicy::visit ( const std::function< void(const INavigationPolicy &)> & visitor) const
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.

Parameters
visitorThe visitor function to call for each policy

Reimplemented in Acts::MultiNavigationPolicy.