File indexing completed on 2025-09-17 07:31:28
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 #ifdef CUT_VALUE_DEBUG
0019 SOA_COLUMN(FPX, zHis),
0020 SOA_COLUMN(FPX, zLos),
0021 SOA_COLUMN(FPX, rtHis),
0022 SOA_COLUMN(FPX, rtLos),
0023 SOA_COLUMN(FPX, dAlphaInners),
0024 SOA_COLUMN(FPX, dAlphaOuters),
0025 SOA_COLUMN(FPX, dAlphaInnerOuters),
0026 #endif
0027 SOA_COLUMN(uint16_t, innerLowerModuleIndices),
0028 SOA_COLUMN(uint16_t, outerLowerModuleIndices),
0029 SOA_COLUMN(Params_LS::ArrayUxLayers, mdIndices),
0030 SOA_COLUMN(unsigned int, innerMiniDoubletAnchorHitIndices),
0031 SOA_COLUMN(unsigned int, outerMiniDoubletAnchorHitIndices),
0032 SOA_COLUMN(unsigned int, connectedMax))
0033
0034 GENERATE_SOA_LAYOUT(SegmentsOccupancySoALayout,
0035 SOA_COLUMN(unsigned int, nSegments),
0036 SOA_COLUMN(unsigned int, totOccupancySegments))
0037
0038 using SegmentsSoA = SegmentsSoALayout<>;
0039 using SegmentsOccupancySoA = SegmentsOccupancySoALayout<>;
0040
0041 using Segments = SegmentsSoA::View;
0042 using SegmentsConst = SegmentsSoA::ConstView;
0043 using SegmentsOccupancy = SegmentsOccupancySoA::View;
0044 using SegmentsOccupancyConst = SegmentsOccupancySoA::ConstView;
0045
0046 }
0047
0048 #endif