|
ACTS
Experiment-independent tracking
|
Combined navigation policy that calls all contained other navigation policies. More...
#include <Acts/Navigation/MultiNavigationPolicy.hpp>
Classes | |
| struct | State |
| State structure for MultiNavigationPolicy Holds the states for all contained child policies. More... | |
Public Member Functions | |
| template<typename... Policies> | |
| MultiNavigationPolicy (std::unique_ptr< Policies >... policies) | |
| Constructor from multiple unique_ptr policies. | |
| MultiNavigationPolicy (std::vector< std::unique_ptr< INavigationPolicy > > &&policies) | |
| Constructor from a vector of navigation policies. | |
| void | connect (NavigationDelegate &delegate) const override |
| Connect this policy to a navigation delegate. | |
| void | createState (const GeometryContext &gctx, const NavigationArguments &args, NavigationPolicyStateManager &stateManager, const Logger &logger) const override |
| Create and initialize states for this policy and all child policies. | |
| bool | isValid (const GeometryContext &gctx, const NavigationArguments &args, NavigationPolicyState &state, const Logger &logger) const override |
| Check if all child policies are in a valid state. | |
| std::span< const std::unique_ptr< INavigationPolicy > > | policies () const |
| Access the contained navigation policies. | |
| void | popState (NavigationPolicyStateManager &stateManager, const Logger &logger) const override |
| Remove the states for this policy and all child policies from the state manager. | |
| void | visit (const std::function< void(const INavigationPolicy &)> &visitor) const override |
| Visit this policy first, and then all child policies one by one. | |
| Public Member Functions inherited from Acts::INavigationPolicy | |
| virtual | ~INavigationPolicy ()=default |
| Virtual destructor so policies can be held through this base class. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from Acts::INavigationPolicy | |
| static void | noopInitializeCandidates (const GeometryContext &, const NavigationArguments &, NavigationPolicyState &, 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. | |
Combined navigation policy that calls all contained other navigation policies.
This class manages multiple navigation policies and executes them sequentially to populate the navigation stream with candidates.
|
explicit |
Constructor from multiple unique_ptr policies.
| Policies | The types of the navigation policies |
| policies | Unique pointers to navigation policies |
|
explicit |
Constructor from a vector of navigation policies.
| policies | Vector of unique pointers to navigation policies |
|
overridevirtual |
Connect this policy to a navigation delegate.
| delegate | The navigation delegate to connect to |
Implements Acts::INavigationPolicy.
|
overridevirtual |
Create and initialize states for this policy and all child policies.
| gctx | The geometry context |
| args | The navigation arguments |
| stateManager | The state manager to push the new states onto |
| logger | Logger for debug output |
Reimplemented from Acts::INavigationPolicy.
|
overridevirtual |
Check if all child policies are in a valid state.
| gctx | The geometry context |
| args | The navigation arguments |
| state | The navigation policy state to check |
| logger | Logger for debug output |
Reimplemented from Acts::INavigationPolicy.
| std::span< const std::unique_ptr< INavigationPolicy > > Acts::MultiNavigationPolicy::policies | ( | ) | const |
Access the contained navigation policies.
|
overridevirtual |
Remove the states for this policy and all child policies from the state manager.
| stateManager | The state manager to pop the states from |
| logger | Logger for debug output |
Reimplemented from Acts::INavigationPolicy.
|
overridevirtual |
Visit this policy first, and then all child policies one by one.
| visitor | The function to call for each policy |
Reimplemented from Acts::INavigationPolicy.