Back to home page

Project CMSSW displayed by LXR

 
 

    


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),  //number of segments per inner lower module
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 }  // namespace lst
0037 
0038 #endif