CMS 3D CMS Logo

EcalTimeCalibConstantsGPU.h
Go to the documentation of this file.
1 #ifndef CondFormats_EcalObjects_interface_EcalTimeCalibConstantsGPU_h
2 #define CondFormats_EcalObjects_interface_EcalTimeCalibConstantsGPU_h
3 
7 
8 #ifndef __CUDACC__
11 #endif // __CUDACC__
12 
14 public:
15  struct Product {
17  };
18 
19 #ifndef __CUDACC__
20  // rearrange pedestals
22 
23  // will call dealloation for Product thru ~Product
24  ~EcalTimeCalibConstantsGPU() = default;
25 
26  // get device pointers
27  Product const& getProduct(cudaStream_t) const;
28 
29  // TODO: do this centrally
30  // get offset for hashes. equals number of barrel items
31  uint32_t getOffset() const { return offset_; }
32 
33  //
34  static std::string name() { return std::string{"ecalTimeCalibConstantsGPU"}; }
35 
36 private:
37  std::vector<float, cms::cuda::HostAllocator<float>> values_;
38  uint32_t offset_;
39 
41 #endif // __CUDACC__
42 };
43 
44 #endif // CondFormats_EcalObjects_interface_EcalTimeCalibConstantsGPU_h
Product const & getProduct(cudaStream_t) const
std::vector< float, cms::cuda::HostAllocator< float > > values_
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > values
EcalTimeCalibConstantsGPU(EcalTimeCalibConstants const &)
~EcalTimeCalibConstantsGPU()=default
cms::cuda::ESProduct< Product > product_