CMS 3D CMS Logo

TrackingRecHitsSoA.h
Go to the documentation of this file.
1 #ifndef DataFormats_TrackingRecHitSoA_interface_TrackingRecHitsSoA_h
2 #define DataFormats_TrackingRecHitSoA_interface_TrackingRecHitsSoA_h
3 
4 #include <Eigen/Dense>
5 
10 
11 template <typename TrackerTraits>
12 struct TrackingRecHitSoA {
13  using hindex_type = typename TrackerTraits::hindex_type;
15  256,
16  -1, //TrackerTraits::maxNumberOfHits,
17  8 * sizeof(int16_t),
19  TrackerTraits::numberOfLayers>; //28 for phase2 geometry
20  using PhiBinnerView = typename PhiBinner::View;
23  using HitLayerStartArray = std::array<hindex_type, TrackerTraits::numberOfLayers + 1>;
24  using HitModuleStartArray = std::array<hindex_type, TrackerTraits::numberOfModules + 1>;
25 
27  SOA_COLUMN(float, xLocal),
28  SOA_COLUMN(float, yLocal),
29  SOA_COLUMN(float, xerrLocal),
30  SOA_COLUMN(float, yerrLocal),
31  SOA_COLUMN(float, xGlobal),
32  SOA_COLUMN(float, yGlobal),
33  SOA_COLUMN(float, zGlobal),
34  SOA_COLUMN(float, rGlobal),
35  SOA_COLUMN(int16_t, iphi),
36  SOA_COLUMN(SiPixelHitStatusAndCharge, chargeAndStatus),
37  SOA_COLUMN(int16_t, clusterSizeX),
38  SOA_COLUMN(int16_t, clusterSizeY),
39  SOA_COLUMN(uint16_t, detectorIndex),
40  SOA_SCALAR(int32_t, offsetBPIX2),
41  SOA_COLUMN(PhiBinnerStorageType, phiBinnerStorage),
42  SOA_SCALAR(HitModuleStartArray, hitsModuleStart),
43  SOA_SCALAR(HitLayerStartArray, hitsLayerStart),
44  SOA_SCALAR(AverageGeometry, averageGeometry),
46 };
47 
48 template <typename TrackerTraits>
50 template <typename TrackerTraits>
52 template <typename TrackerTraits>
54 
55 #endif
typename TrackingRecHitSoA< TrackerTraits >::template TrackingRecHitSoALayout<> TrackingRecHitLayout
std::array< hindex_type, TrackerTraits::numberOfModules+1 > HitModuleStartArray
typename PhiBinner::View PhiBinnerView
typename PhiBinner::index_type PhiBinnerStorageType
constexpr uint32_t numberOfLayers
typename Base::View View
#define GENERATE_SOA_LAYOUT(CLASS,...)
Definition: SoALayout.h:431
#define SOA_SCALAR(TYPE, NAME)
Definition: SoACommon.h:553
typename Base::index_type index_type
typename TrackerTraits::hindex_type hindex_type
typename TrackingRecHitSoA< TrackerTraits >::template TrackingRecHitSoALayout<>::ConstView TrackingRecHitSoAConstView
std::array< hindex_type, TrackerTraits::numberOfLayers+1 > HitLayerStartArray
typename TrackingRecHitSoA< TrackerTraits >::template TrackingRecHitSoALayout<>::View TrackingRecHitSoAView
#define SOA_COLUMN(TYPE, NAME)
Definition: SoACommon.h:554