File indexing completed on 2025-12-15 09:42:11
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #include "Acts/Navigation/INavigationPolicy.hpp"
0012 #include "Acts/Navigation/NavigationStream.hpp"
0013
0014 namespace Acts {
0015
0016 class TrackingVolume;
0017 class GeometryContext;
0018 class Logger;
0019
0020
0021
0022 class TryAllNavigationPolicy final : public INavigationPolicy {
0023 public:
0024 struct Config {
0025 bool portals = true;
0026 bool sensitives = true;
0027 bool passives = true;
0028 };
0029
0030
0031
0032
0033
0034
0035 TryAllNavigationPolicy(const GeometryContext& gctx,
0036 const TrackingVolume& volume, const Logger& logger,
0037 const Config& config);
0038
0039
0040
0041
0042
0043 TryAllNavigationPolicy(const GeometryContext& gctx,
0044 const TrackingVolume& volume, const Logger& logger);
0045
0046
0047
0048
0049
0050 void initializeCandidates(const NavigationArguments& args,
0051 AppendOnlyNavigationStream& stream,
0052 const Logger& logger) const;
0053
0054
0055
0056 void connect(NavigationDelegate& delegate) const override;
0057
0058 private:
0059 Config m_cfg;
0060 const TrackingVolume* m_volume;
0061 };
0062
0063 static_assert(NavigationPolicyConcept<TryAllNavigationPolicy>);
0064
0065 }