File indexing completed on 2025-01-18 09:10:55
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 };
0028
0029
0030
0031
0032
0033
0034 TryAllNavigationPolicy(const GeometryContext& gctx,
0035 const TrackingVolume& volume, const Logger& logger,
0036 const Config& config);
0037
0038
0039
0040
0041
0042 TryAllNavigationPolicy(const GeometryContext& gctx,
0043 const TrackingVolume& volume, const Logger& logger);
0044
0045
0046
0047
0048
0049 void initializeCandidates(const NavigationArguments& args,
0050 AppendOnlyNavigationStream& stream,
0051 const Logger& logger) const;
0052
0053
0054
0055 void connect(NavigationDelegate& delegate) const override;
0056
0057 private:
0058 Config m_cfg;
0059 const TrackingVolume* m_volume;
0060 };
0061
0062 static_assert(NavigationPolicyConcept<TryAllNavigationPolicy>);
0063
0064 }