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(float, energy),
18  SOA_COLUMN(float, time),
19  SOA_COLUMN(int, depth),
20  SOA_COLUMN(PFLayer::Layer, layer),
22  neighbours), // Neighbour indices (or -1); order: N, S, E, W, NE, SW, SE, NW
23  SOA_COLUMN(float, x),
24  SOA_COLUMN(float, y),
25  SOA_COLUMN(float, z),
26  SOA_SCALAR(uint32_t, size) // Number of PFRecHits in SoA
27  )
28 
30 
31 } // namespace reco
32 
33 #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:426
#define SOA_SCALAR(TYPE, NAME)
Definition: SoACommon.h:553
Layer
layer definition
Definition: PFLayer.h:29
fixed size matrix
#define SOA_EIGEN_COLUMN(TYPE, NAME)
Definition: SoACommon.h:555
#define SOA_COLUMN(TYPE, NAME)
Definition: SoACommon.h:554