File indexing completed on 2025-01-18 09:10:48
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #include <array>
0012 #include <limits>
0013
0014 namespace Acts {
0015
0016 template <typename external_spacepoint_t, std::size_t N = 3ul>
0017 class Seed {
0018 static_assert(N >= 3ul);
0019
0020 public:
0021 using value_type = external_spacepoint_t;
0022 static constexpr std::size_t DIM = N;
0023
0024 template <typename... args_t>
0025 requires(sizeof...(args_t) == N) &&
0026 (std::same_as<external_spacepoint_t, args_t> && ...)
0027 explicit Seed(const args_t&... points);
0028
0029 void setVertexZ(float vertex);
0030 void setQuality(float seedQuality);
0031
0032 const std::array<const external_spacepoint_t*, N>& sp() const;
0033 float z() const;
0034 float seedQuality() const;
0035
0036 private:
0037 std::array<const external_spacepoint_t*, N> m_spacepoints{};
0038 float m_vertexZ{0.f};
0039 float m_seedQuality{-std::numeric_limits<float>::infinity()};
0040 };
0041
0042 }
0043
0044 #include "Acts/EventData/Seed.ipp"