File indexing completed on 2025-06-26 23:27:06
0001 #ifndef RecoParticleFlow_PFRecHitProducer_interface_PFRecHitTopologySoA_h
0002 #define RecoParticleFlow_PFRecHitProducer_interface_PFRecHitTopologySoA_h
0003
0004 #include <Eigen/Core>
0005 #include <Eigen/Dense>
0006
0007 #include "DataFormats/SoATemplate/interface/SoACommon.h"
0008 #include "DataFormats/SoATemplate/interface/SoALayout.h"
0009
0010
0011 namespace reco {
0012 using PFRecHitsTopologyNeighbours = Eigen::Matrix<uint32_t, 8, 1>;
0013 GENERATE_SOA_LAYOUT(PFRecHitHCALTopologySoALayout,
0014 SOA_COLUMN(float, positionX),
0015 SOA_COLUMN(float, positionY),
0016 SOA_COLUMN(float, positionZ),
0017 SOA_COLUMN(float, noiseThreshold),
0018 SOA_COLUMN(float, seedThreshold),
0019 SOA_SCALAR(bool, cutsFromDB),
0020 SOA_EIGEN_COLUMN(PFRecHitsTopologyNeighbours, neighbours))
0021 GENERATE_SOA_LAYOUT(PFRecHitECALTopologySoALayout,
0022 SOA_COLUMN(float, positionX),
0023 SOA_COLUMN(float, positionY),
0024 SOA_COLUMN(float, positionZ),
0025 SOA_EIGEN_COLUMN(PFRecHitsTopologyNeighbours, neighbours))
0026
0027 using PFRecHitHCALTopologySoA = PFRecHitHCALTopologySoALayout<>;
0028 using PFRecHitECALTopologySoA = PFRecHitECALTopologySoALayout<>;
0029 }
0030
0031 #endif