CMS 3D CMS Logo

PFRecHitSoA.h
Go to the documentation of this file.
1 #ifndef DataFormats_ParticleFlowReco_interface_PFRecHitSoA_h
2 #define DataFormats_ParticleFlowReco_interface_PFRecHitSoA_h
3 
4 #include <Eigen/Core>
5 #include <Eigen/Dense>
6 
11 
12 namespace reco {
13 
14  using PFRecHitsNeighbours = Eigen::Matrix<int32_t, 8, 1>;
16  SOA_COLUMN(uint32_t, detId),
17  SOA_COLUMN(uint32_t, denseId),
18  SOA_COLUMN(float, energy),
19  SOA_COLUMN(float, time),
20  SOA_COLUMN(int, depth),
21  SOA_COLUMN(PFLayer::Layer, layer),
23  neighbours), // Neighbour indices (or -1); order: N, S, E, W, NE, SW, SE, NW
24  SOA_COLUMN(float, x),
25  SOA_COLUMN(float, y),
26  SOA_COLUMN(float, z),
27  SOA_SCALAR(uint32_t, size) // Number of PFRecHits in SoA
28  )
29 
31 
32 } // namespace reco
33 
34 #endif // DataFormats_ParticleFlowReco_interface_PFRecHitSoA_h
Eigen::Matrix< int32_t, 8, 1 > PFRecHitsNeighbours
Definition: PFRecHitSoA.h:14
#define GENERATE_SOA_LAYOUT(CLASS,...)
Definition: SoALayout.h:431
#define SOA_SCALAR(TYPE, NAME)
Definition: SoACommon.h:563
Layer
layer definition
Definition: PFLayer.h:29
fixed size matrix
#define SOA_EIGEN_COLUMN(TYPE, NAME)
Definition: SoACommon.h:565
#define SOA_COLUMN(TYPE, NAME)
Definition: SoACommon.h:564