CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
EcalGainRatiosGPU.h
Go to the documentation of this file.
1 #ifndef CondFormats_EcalObjects_interface_EcalGainRatiosGPU_h
2 #define CondFormats_EcalObjects_interface_EcalGainRatiosGPU_h
3 
7 
8 #ifndef __CUDACC__
11 #endif // __CUDACC__
12 
14 public:
15  struct Product {
18  };
19 
20 #ifndef __CUDACC__
21 
22  // rearrange pedestals
24 
25  // will call dealloation for Product thru ~Product
26  ~EcalGainRatiosGPU() = default;
27 
28  // get device pointers
29  Product const& getProduct(cudaStream_t) const;
30 
31  //
32  static std::string name() { return std::string{"ecalGainRatiosGPU"}; }
33 
34 private:
35  // in the future, we need to arrange so to avoid this copy on the host
36  // store eb first then ee
37  std::vector<float, cms::cuda::HostAllocator<float>> gain12Over6_;
38  std::vector<float, cms::cuda::HostAllocator<float>> gain6Over1_;
39 
41 
42 #endif // __CUDACC__
43 };
44 
45 #endif // CondFormats_EcalObjects_interface_EcalGainRatiosGPU_h
static std::string name()
std::vector< float, cms::cuda::HostAllocator< float > > gain12Over6_
Product const & getProduct(cudaStream_t) const
~EcalGainRatiosGPU()=default
std::vector< float, cms::cuda::HostAllocator< float > > gain6Over1_
EcalGainRatiosGPU(EcalGainRatios const &)
cms::cuda::ESProduct< Product > product_
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > gain6Over1
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > gain12Over6