File indexing completed on 2024-04-06 12:26:23
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
0015
0016 namespace pixelgpudetails {
0017
0018 template <typename TrackerTraits>
0019 class PixelRecHitGPUKernel {
0020 public:
0021 PixelRecHitGPUKernel() = default;
0022 ~PixelRecHitGPUKernel() = default;
0023
0024 PixelRecHitGPUKernel(const PixelRecHitGPUKernel&) = delete;
0025 PixelRecHitGPUKernel(PixelRecHitGPUKernel&&) = delete;
0026 PixelRecHitGPUKernel& operator=(const PixelRecHitGPUKernel&) = delete;
0027 PixelRecHitGPUKernel& operator=(PixelRecHitGPUKernel&&) = delete;
0028
0029 using ParamsOnGPU = pixelCPEforGPU::ParamsOnGPUT<TrackerTraits>;
0030
0031 TrackingRecHitSoADevice<TrackerTraits> makeHitsAsync(SiPixelDigisCUDA const& digis_d,
0032 SiPixelClustersCUDA const& clusters_d,
0033 BeamSpotCUDA const& bs_d,
0034 ParamsOnGPU const* cpeParams,
0035 cudaStream_t stream) const;
0036 };
0037
0038 }
0039
0040 #endif