Warning, file /acts/Core/include/Acts/Geometry/LinearVolumeLookup.hpp was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #include "Acts/Geometry/IVolumeLookup.hpp"
0012 #include "Acts/Utilities/Logger.hpp"
0013
0014 #include <cstddef>
0015 #include <optional>
0016
0017 namespace Acts {
0018
0019 class LinearVolumeLookup final : public IVolumeLookup {
0020 public:
0021
0022 struct Config {
0023
0024
0025 std::optional<std::size_t> warningThreshold = 64;
0026 };
0027
0028
0029
0030
0031
0032 LinearVolumeLookup(const TrackingVolume& world, const Config& config,
0033 const Logger& logger = getDummyLogger());
0034
0035
0036
0037 const Config& config() const;
0038
0039
0040 const TrackingVolume* findLowest(const GeometryContext& gctx,
0041 const Vector3& position,
0042 double tolerance) const override;
0043
0044 private:
0045 void warnIfNeeded(const Logger& logger) const;
0046
0047 const TrackingVolume& m_root;
0048 Config m_config;
0049 };
0050 }