CMS 3D CMS Logo

CAStructures.h
Go to the documentation of this file.
1 #ifndef RecoPixelVertexing_PixelTriplets_CAStructures_h
2 #define RecoPixelVertexing_PixelTriplets_CAStructures_h
3 
7 
8 namespace caStructures {
9 
10  // types
11  // using typename TrackerTraits::hindex_type = uint32_t; // FIXME from siPixelRecHitsHeterogeneousProduct
12  // using typename TrackerTraits::tindex_type = uint32_t; // for tuples
13  // using typename TrackerTraits::cindex_type = uint32_t; // for cells
14 
15  template <typename TrackerTraits>
17 
18  template <typename TrackerTraits>
20 
21  template <typename TrackerTraits>
23 
24  template <typename TrackerTraits>
26 
27  template <typename TrackerTraits>
29 
30  template <typename TrackerTraits>
31  using TupleMultiplicityT = cms::cuda::OneToManyAssoc<typename TrackerTraits::tindex_type,
32  TrackerTraits::maxHitsOnTrack + 1,
33  TrackerTraits::maxNumberOfTuples>;
34 
35  template <typename TrackerTraits>
36  using HitToTupleT = cms::cuda::OneToManyAssoc<typename TrackerTraits::tindex_type,
37  -1,
38  TrackerTraits::maxHitsForContainers>; // 3.5 should be enough
39 
40  template <typename TrackerTraits>
41  using TuplesContainerT = cms::cuda::OneToManyAssoc<typename TrackerTraits::hindex_type,
42  TrackerTraits::maxNumberOfTuples,
43  TrackerTraits::maxHitsForContainers>;
44 
45  template <typename TrackerTraits>
46  struct OuterHitOfCellT {
48  int32_t offset;
49  constexpr auto& operator[](int i) { return container[i - offset]; }
50  constexpr auto const& operator[](int i) const { return container[i - offset]; }
51  };
52 
53 } // namespace caStructures
54 
55 #endif
constexpr auto const & operator[](int i) const
Definition: CAStructures.h:50
constexpr auto & operator[](int i)
Definition: CAStructures.h:49
OuterHitOfCellContainerT< TrackerTraits > * container
Definition: CAStructures.h:47