File indexing completed on 2024-04-06 12:27:34
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 #include "DataFormats/SoATemplate/interface/SoAView.h"
0010
0011
0012 namespace reco {
0013 using PFRecHitsTopologyNeighbours = Eigen::Matrix<uint32_t, 8, 1>;
0014 GENERATE_SOA_LAYOUT(PFRecHitHCALTopologySoALayout,
0015 SOA_COLUMN(float, positionX),
0016 SOA_COLUMN(float, positionY),
0017 SOA_COLUMN(float, positionZ),
0018 SOA_COLUMN(float, noiseThreshold),
0019 SOA_COLUMN(float, seedThreshold),
0020 SOA_SCALAR(bool, cutsFromDB),
0021 SOA_EIGEN_COLUMN(PFRecHitsTopologyNeighbours, neighbours))
0022 GENERATE_SOA_LAYOUT(PFRecHitECALTopologySoALayout,
0023 SOA_COLUMN(float, positionX),
0024 SOA_COLUMN(float, positionY),
0025 SOA_COLUMN(float, positionZ),
0026 SOA_EIGEN_COLUMN(PFRecHitsTopologyNeighbours, neighbours))
0027
0028 using PFRecHitHCALTopologySoA = PFRecHitHCALTopologySoALayout<>;
0029 using PFRecHitECALTopologySoA = PFRecHitECALTopologySoALayout<>;
0030 }
0031
0032 #endif