File indexing completed on 2024-04-06 12:25:46
0001 #ifndef RecoLocalCalo_HcalRecAlgos_interface_HcalMahiPulseOffsetsGPU_h
0002 #define RecoLocalCalo_HcalRecAlgos_interface_HcalMahiPulseOffsetsGPU_h
0003
0004 #ifndef __CUDACC__
0005 #include "HeterogeneousCore/CUDAUtilities/interface/HostAllocator.h"
0006 #include "HeterogeneousCore/CUDACore/interface/ESProduct.h"
0007 #endif
0008
0009 class HcalMahiPulseOffsetsGPU {
0010 public:
0011 struct Product {
0012 ~Product();
0013 int* values;
0014 };
0015
0016 #ifndef __CUDACC__
0017
0018 HcalMahiPulseOffsetsGPU(std::vector<int> const& values);
0019
0020
0021 ~HcalMahiPulseOffsetsGPU() = default;
0022
0023 std::vector<int, cms::cuda::HostAllocator<int>> const& getValues() const { return values_; }
0024
0025
0026 Product const& getProduct(cudaStream_t) const;
0027
0028 private:
0029 std::vector<int, cms::cuda::HostAllocator<int>> values_;
0030
0031 cms::cuda::ESProduct<Product> product_;
0032 #endif
0033 };
0034
0035 #endif