File indexing completed on 2024-04-06 12:04:52
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 #include "DataFormats/SoATemplate/interface/SoAView.h"
0011
0012 namespace reco {
0013
0014 using PFRecHitsNeighbours = Eigen::Matrix<int32_t, 8, 1>;
0015 GENERATE_SOA_LAYOUT(PFRecHitSoALayout,
0016 SOA_COLUMN(uint32_t, detId),
0017 SOA_COLUMN(uint32_t, denseId),
0018 SOA_COLUMN(float, energy),
0019 SOA_COLUMN(float, time),
0020 SOA_COLUMN(int, depth),
0021 SOA_COLUMN(PFLayer::Layer, layer),
0022 SOA_EIGEN_COLUMN(PFRecHitsNeighbours,
0023 neighbours),
0024 SOA_COLUMN(float, x),
0025 SOA_COLUMN(float, y),
0026 SOA_COLUMN(float, z),
0027 SOA_SCALAR(uint32_t, size)
0028 )
0029
0030 using PFRecHitSoA = PFRecHitSoALayout<>;
0031
0032 }
0033
0034 #endif