CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
EcalPulseShapesGPU.h
Go to the documentation of this file.
1 #ifndef CondFormats_EcalObjects_interface_EcalPulseShapesGPU_h
2 #define CondFormats_EcalObjects_interface_EcalPulseShapesGPU_h
3 
5 
6 #ifndef __CUDACC__
9 #endif // __CUDACC__
10 
12 public:
13  struct Product {
14  ~Product();
15  EcalPulseShape* values = nullptr;
16  };
17 
18 #ifndef __CUDACC__
19  // rearrange pedestals
21 
22  // will call dealloation for Product thru ~Product
23  ~EcalPulseShapesGPU() = default;
24 
25  // get device pointers
26  Product const& getProduct(cudaStream_t) const;
27 
28  //
29  static std::string name() { return std::string{"ecalPulseShapesGPU"}; }
30 
31 private:
32  // reuse original vectors (although with default allocator)
33  std::vector<EcalPulseShape> const& valuesEB_;
34  std::vector<EcalPulseShape> const& valuesEE_;
35 
37 #endif // __CUDACC__
38 };
39 
40 #endif // CondFormats_EcalObjects_interface_EcalPulseShapesGPU_h
static std::string name()
EcalPulseShapesGPU(EcalPulseShapes const &)
Product const & getProduct(cudaStream_t) const
cms::cuda::ESProduct< Product > product_
~EcalPulseShapesGPU()=default
std::vector< EcalPulseShape > const & valuesEE_
std::vector< EcalPulseShape > const & valuesEB_