CMS 3D CMS Logo

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
EcalPulseShapesGPU::name
static std::string name()
Definition: EcalPulseShapesGPU.h:29
EcalPulseShape
Definition: EcalPulseShapes.h:8
EcalPulseShapesGPU::Product::~Product
~Product()
Definition: EcalPulseShapesGPU.cc:9
HostAllocator.h
EcalPulseShapesGPU::valuesEE_
std::vector< EcalPulseShape > const & valuesEE_
Definition: EcalPulseShapesGPU.h:34
EcalPulseShapesGPU::product_
cms::cuda::ESProduct< Product > product_
Definition: EcalPulseShapesGPU.h:36
EcalCondObjectContainer
Definition: EcalCondObjectContainer.h:13
EcalPulseShapesGPU::getProduct
Product const & getProduct(cudaStream_t) const
Definition: EcalPulseShapesGPU.cc:14
EcalPulseShapesGPU::EcalPulseShapesGPU
EcalPulseShapesGPU(EcalPulseShapes const &)
Definition: EcalPulseShapesGPU.cc:6
cms::cuda::ESProduct
Definition: ESProduct.h:19
EcalPulseShapesGPU
Definition: EcalPulseShapesGPU.h:11
EcalPulseShapesGPU::~EcalPulseShapesGPU
~EcalPulseShapesGPU()=default
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
EcalPulseShapes.h
EcalPulseShapesGPU::valuesEB_
std::vector< EcalPulseShape > const & valuesEB_
Definition: EcalPulseShapesGPU.h:33
EcalPulseShapesGPU::Product
Definition: EcalPulseShapesGPU.h:13
EcalPulseShapesGPU::Product::values
EcalPulseShape * values
Definition: EcalPulseShapesGPU.h:15
ESProduct.h