File indexing completed on 2026-07-26 08:21:58
0001
0002
0003
0004
0005
0006
0007
0008 #pragma once
0009
0010
0011 #include <traccc/edm/seed_collection.hpp>
0012 #include <traccc/edm/spacepoint_collection.hpp>
0013
0014 namespace traccc {
0015
0016
0017
0018
0019
0020
0021
0022
0023 template <std::size_t N>
0024 struct nseed {
0025
0026
0027
0028 static_assert(N >= 3, "Seeds must contain at least three spacepoints.");
0029
0030
0031
0032
0033 using link_type = edm::spacepoint_collection::host::size_type;
0034
0035
0036
0037
0038
0039
0040 template <typename T>
0041 nseed(const edm::seed<T>& s)
0042 : _size(3), _sps({s.bottom_index(), s.middle_index(), s.top_index()}) {}
0043
0044
0045
0046
0047 std::size_t size() const { return _size; }
0048
0049
0050
0051
0052 const link_type* cbegin() const { return &_sps[0]; }
0053
0054
0055
0056
0057 const link_type* cend() const { return &_sps[_size]; }
0058
0059 private:
0060 std::size_t _size;
0061 std::array<link_type, N> _sps;
0062 };
0063 }