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 }
0043 }
0044
0045 #endif