CondFormats
EcalObjects
interface
EcalPulseShapesGPU.h
Go to the documentation of this file.
1
#ifndef CondFormats_EcalObjects_interface_EcalPulseShapesGPU_h
2
#define CondFormats_EcalObjects_interface_EcalPulseShapesGPU_h
3
4
#include "
CondFormats/EcalObjects/interface/EcalPulseShapes.h
"
5
6
#ifndef __CUDACC__
7
#include "
HeterogeneousCore/CUDAUtilities/interface/HostAllocator.h
"
8
#include "
HeterogeneousCore/CUDACore/interface/ESProduct.h
"
9
#endif // __CUDACC__
10
11
class
EcalPulseShapesGPU
{
12
public
:
13
struct
Product
{
14
~Product
();
15
EcalPulseShape
*
values
=
nullptr
;
16
};
17
18
#ifndef __CUDACC__
19
// rearrange pedestals
20
EcalPulseShapesGPU
(
EcalPulseShapes
const
&);
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
36
cms::cuda::ESProduct<Product>
product_
;
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
Generated for CMSSW Reference Manual by
1.8.16