Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-19 23:20:20

0001 #ifndef RecoTracker_LSTCore_interface_TrackCandidatesSoA_h
0002 #define RecoTracker_LSTCore_interface_TrackCandidatesSoA_h
0003 
0004 #include <alpaka/alpaka.hpp>
0005 #include "DataFormats/Common/interface/StdArray.h"
0006 #include "DataFormats/SoATemplate/interface/SoALayout.h"
0007 
0008 #include "RecoTracker/LSTCore/interface/Common.h"
0009 
0010 namespace lst {
0011   GENERATE_SOA_LAYOUT(TrackCandidatesSoALayout,
0012                       SOA_COLUMN(short, trackCandidateType),                  // 4-T5 5-pT3 7-pT5 8-pLS
0013                       SOA_COLUMN(unsigned int, directObjectIndices),          // direct indices to each type containers
0014                       SOA_COLUMN(ArrayUx2, objectIndices),                    // tracklet and  triplet indices
0015                       SOA_COLUMN(Params_pT5::ArrayU8xLayers, logicalLayers),  //
0016                       SOA_COLUMN(Params_pT5::ArrayUxHits, hitIndices),        //
0017                       SOA_COLUMN(int, pixelSeedIndex),                        //
0018                       SOA_COLUMN(Params_pT5::ArrayU16xLayers, lowerModuleIndices),  //
0019                       SOA_COLUMN(FPX, centerX),                                     //
0020                       SOA_COLUMN(FPX, centerY),                                     //
0021                       SOA_COLUMN(FPX, radius),                                      //
0022                       SOA_SCALAR(unsigned int, nTrackCandidates),                   //
0023                       SOA_SCALAR(unsigned int, nTrackCandidatespT3),                //
0024                       SOA_SCALAR(unsigned int, nTrackCandidatespT5),                //
0025                       SOA_SCALAR(unsigned int, nTrackCandidatespLS),                //
0026                       SOA_SCALAR(unsigned int, nTrackCandidatesT5))                 //
0027 
0028   using TrackCandidatesSoA = TrackCandidatesSoALayout<>;
0029   using TrackCandidates = TrackCandidatesSoA::View;
0030   using TrackCandidatesConst = TrackCandidatesSoA::ConstView;
0031 }  // namespace lst
0032 #endif