File indexing completed on 2025-06-26 23:26:38
0001 #ifndef DataFormats_ParticleFlowReco_interface_PFRecHitSoA_h
0002 #define DataFormats_ParticleFlowReco_interface_PFRecHitSoA_h
0003
0004 #include <Eigen/Core>
0005 #include <Eigen/Dense>
0006
0007 #include "DataFormats/ParticleFlowReco/interface/PFLayer.h"
0008 #include "DataFormats/SoATemplate/interface/SoACommon.h"
0009 #include "DataFormats/SoATemplate/interface/SoALayout.h"
0010
0011 namespace reco {
0012
0013 using PFRecHitsNeighbours = Eigen::Matrix<int32_t, 8, 1>;
0014 GENERATE_SOA_LAYOUT(PFRecHitSoALayout,
0015 SOA_COLUMN(uint32_t, detId),
0016 SOA_COLUMN(uint32_t, denseId),
0017 SOA_COLUMN(float, energy),
0018 SOA_COLUMN(float, time),
0019 SOA_COLUMN(int, depth),
0020 SOA_COLUMN(PFLayer::Layer, layer),
0021 SOA_EIGEN_COLUMN(PFRecHitsNeighbours,
0022 neighbours),
0023 SOA_COLUMN(float, x),
0024 SOA_COLUMN(float, y),
0025 SOA_COLUMN(float, z),
0026 SOA_SCALAR(uint32_t, size)
0027 )
0028
0029 using PFRecHitSoA = PFRecHitSoALayout<>;
0030
0031 }
0032
0033 #endif