Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:26:23

0001 #ifndef RecoLocalTracker_SiPixelRecHits_PixelRecHitKernel_h
0002 #define RecoLocalTracker_SiPixelRecHits_PixelRecHitKernel_h
0003 
0004 #include <cstdint>
0005 
0006 #include <alpaka/alpaka.hpp>
0007 
0008 #include "DataFormats/BeamSpot/interface/BeamSpotPOD.h"
0009 #include "DataFormats/SiPixelClusterSoA/interface/alpaka/SiPixelClustersSoACollection.h"
0010 #include "DataFormats/SiPixelClusterSoA/interface/SiPixelClustersDevice.h"
0011 #include "DataFormats/SiPixelDigiSoA/interface/SiPixelDigisDevice.h"
0012 #include "DataFormats/SiPixelDigiSoA/interface/alpaka/SiPixelDigisSoACollection.h"
0013 #include "DataFormats/TrackingRecHitSoA/interface/TrackingRecHitsDevice.h"
0014 #include "DataFormats/TrackingRecHitSoA/interface/alpaka/TrackingRecHitsSoACollection.h"
0015 #include "HeterogeneousCore/AlpakaInterface/interface/config.h"
0016 #include "Geometry/CommonTopologies/interface/SimplePixelTopology.h"
0017 #include "RecoLocalTracker/SiPixelRecHits/interface/pixelCPEforDevice.h"
0018 
0019 namespace ALPAKA_ACCELERATOR_NAMESPACE {
0020   namespace pixelgpudetails {
0021     using namespace cms::alpakatools;
0022 
0023     template <typename TrackerTraits>
0024     class PixelRecHitKernel {
0025     public:
0026       PixelRecHitKernel() = default;
0027       ~PixelRecHitKernel() = default;
0028 
0029       PixelRecHitKernel(const PixelRecHitKernel&) = delete;
0030       PixelRecHitKernel(PixelRecHitKernel&&) = delete;
0031       PixelRecHitKernel& operator=(const PixelRecHitKernel&) = delete;
0032       PixelRecHitKernel& operator=(PixelRecHitKernel&&) = delete;
0033 
0034       using ParamsOnDevice = pixelCPEforDevice::ParamsOnDeviceT<TrackerTraits>;
0035 
0036       TrackingRecHitsSoACollection<TrackerTraits> makeHitsAsync(SiPixelDigisSoACollection const& digis_d,
0037                                                                 SiPixelClustersSoACollection const& clusters_d,
0038                                                                 BeamSpotPOD const* bs_d,
0039                                                                 ParamsOnDevice const* cpeParams,
0040                                                                 Queue queue) const;
0041     };
0042   }  // namespace pixelgpudetails
0043 }  // namespace ALPAKA_ACCELERATOR_NAMESPACE
0044 
0045 #endif  // RecoLocalTracker_SiPixelRecHits_PixelRecHitKernel_h