File indexing completed on 2025-02-04 02:43:25
0001 #ifndef RecoTracker_LSTCore_interface_SegmentsSoA_h
0002 #define RecoTracker_LSTCore_interface_SegmentsSoA_h
0003
0004 #include "DataFormats/SoATemplate/interface/SoALayout.h"
0005 #include "DataFormats/Portable/interface/PortableCollection.h"
0006
0007 #include "RecoTracker/LSTCore/interface/Common.h"
0008
0009 namespace lst {
0010
0011 GENERATE_SOA_LAYOUT(SegmentsSoALayout,
0012 SOA_COLUMN(FPX, dPhis),
0013 SOA_COLUMN(FPX, dPhiMins),
0014 SOA_COLUMN(FPX, dPhiMaxs),
0015 SOA_COLUMN(FPX, dPhiChanges),
0016 SOA_COLUMN(FPX, dPhiChangeMins),
0017 SOA_COLUMN(FPX, dPhiChangeMaxs),
0018 SOA_COLUMN(uint16_t, innerLowerModuleIndices),
0019 SOA_COLUMN(uint16_t, outerLowerModuleIndices),
0020 SOA_COLUMN(Params_LS::ArrayUxLayers, mdIndices),
0021 SOA_COLUMN(unsigned int, innerMiniDoubletAnchorHitIndices),
0022 SOA_COLUMN(unsigned int, outerMiniDoubletAnchorHitIndices))
0023
0024 GENERATE_SOA_LAYOUT(SegmentsOccupancySoALayout,
0025 SOA_COLUMN(unsigned int, nSegments),
0026 SOA_COLUMN(unsigned int, totOccupancySegments))
0027
0028 using SegmentsSoA = SegmentsSoALayout<>;
0029 using SegmentsOccupancySoA = SegmentsOccupancySoALayout<>;
0030
0031 using Segments = SegmentsSoA::View;
0032 using SegmentsConst = SegmentsSoA::ConstView;
0033 using SegmentsOccupancy = SegmentsOccupancySoA::View;
0034 using SegmentsOccupancyConst = SegmentsOccupancySoA::ConstView;
0035
0036 }
0037
0038 #endif