CMS 3D CMS Logo

CAStructures.h
Go to the documentation of this file.
1 #ifndef RecoTracker_PixelSeeding_plugins_alpaka_CAStructures_h
2 #define RecoTracker_PixelSeeding_plugins_alpaka_CAStructures_h
3 
7 
8 namespace caStructures {
9 
10  template <typename TrackerTraits>
11  using CellNeighborsT =
13 
14  template <typename TrackerTraits>
16 
17  template <typename TrackerTraits>
19 
20  template <typename TrackerTraits>
22 
23  template <typename TrackerTraits>
25 
26  template <typename TrackerTraits>
27  using TupleMultiplicityT = cms::alpakatools::OneToManyAssocRandomAccess<typename TrackerTraits::tindex_type,
28  TrackerTraits::maxHitsOnTrack + 1,
29  TrackerTraits::maxNumberOfTuples>;
30 
31  template <typename TrackerTraits>
32  using HitToTupleT =
33  cms::alpakatools::OneToManyAssocRandomAccess<typename TrackerTraits::tindex_type,
34  -1,
35  TrackerTraits::maxHitsForContainers>; // 3.5 should be enough
36 
37  template <typename TrackerTraits>
38  using TuplesContainerT = cms::alpakatools::OneToManyAssocRandomAccess<typename TrackerTraits::hindex_type,
39  TrackerTraits::maxNumberOfTuples,
40  TrackerTraits::maxHitsForContainers>;
41 
42  template <typename TrackerTraits>
43  struct OuterHitOfCellT {
45  int32_t offset;
46  constexpr auto& operator[](int i) { return container[i - offset]; }
47  constexpr auto const& operator[](int i) const { return container[i - offset]; }
48  };
49 
50 } // namespace caStructures
51 
52 #endif // RecoTracker_PixelSeeding_plugins_alpaka_CAStructures_h
OuterHitOfCellContainerT< TrackerTraits > * container
Definition: CAStructures.h:44
constexpr auto const & operator[](int i) const
Definition: CAStructures.h:47
constexpr auto & operator[](int i)
Definition: CAStructures.h:46