File indexing completed on 2023-03-17 11:19:39
0001 #ifndef RecoLocalTracker_SiPixelRecHits_plugins_PixelRecHitGPUKernel_h
0002 #define RecoLocalTracker_SiPixelRecHits_plugins_PixelRecHitGPUKernel_h
0003
0004 #include <cstdint>
0005
0006 #include <cuda_runtime.h>
0007
0008 #include "CUDADataFormats/BeamSpot/interface/BeamSpotCUDA.h"
0009 #include "CUDADataFormats/SiPixelCluster/interface/SiPixelClustersCUDA.h"
0010 #include "CUDADataFormats/SiPixelDigi/interface/SiPixelDigisCUDA.h"
0011 #include "CUDADataFormats/TrackingRecHit/interface/TrackingRecHitSoADevice.h"
0012 #include "Geometry/CommonTopologies/interface/SimplePixelTopology.h"
0013
0014 namespace pixelgpudetails {
0015
0016 template <typename TrackerTraits>
0017 class PixelRecHitGPUKernel {
0018 public:
0019 PixelRecHitGPUKernel() = default;
0020 ~PixelRecHitGPUKernel() = default;
0021
0022 PixelRecHitGPUKernel(const PixelRecHitGPUKernel&) = delete;
0023 PixelRecHitGPUKernel(PixelRecHitGPUKernel&&) = delete;
0024 PixelRecHitGPUKernel& operator=(const PixelRecHitGPUKernel&) = delete;
0025 PixelRecHitGPUKernel& operator=(PixelRecHitGPUKernel&&) = delete;
0026
0027 using ParamsOnGPU = pixelCPEforGPU::ParamsOnGPUT<TrackerTraits>;
0028
0029 TrackingRecHitSoADevice<TrackerTraits> makeHitsAsync(SiPixelDigisCUDA const& digis_d,
0030 SiPixelClustersCUDA const& clusters_d,
0031 BeamSpotCUDA const& bs_d,
0032 ParamsOnGPU const* cpeParams,
0033 cudaStream_t stream) const;
0034 };
0035
0036 }
0037
0038 #endif