CMS 3D CMS Logo

EcalMultifitParametersGPU.h
Go to the documentation of this file.
1 #ifndef CondFormats_EcalObjects_interface_EcalMultifitParametersGPU_h
2 #define CondFormats_EcalObjects_interface_EcalMultifitParametersGPU_h
3 
4 #include <array>
5 
8 
9 #ifndef __CUDACC__
12 #endif // __CUDACC__
13 
15 public:
16  struct Product {
21  };
22 
23 #ifndef __CUDACC__
24  EcalMultifitParametersGPU(std::vector<double> const& amplitudeEB,
25  std::vector<double> const& amplitudeEE,
26  std::vector<double> const& timeEB,
27  std::vector<double> const& timeEE);
28 
29  ~EcalMultifitParametersGPU() = default;
30 
31  Product const& getProduct(cudaStream_t) const;
32 
33  std::array<std::reference_wrapper<std::vector<double, cms::cuda::HostAllocator<double>> const>, 4> getValues() const {
35  }
36 
37 private:
38  std::vector<double, cms::cuda::HostAllocator<double>> amplitudeFitParametersEB_, amplitudeFitParametersEE_,
40 
42 #endif // __CUDACC__
43 };
44 
45 #endif // CondFormats_EcalObjects_interface_EcalMultifitParametersGPU_h
EcalMultifitParametersGPU::timeFitParametersEE_
std::vector< double, cms::cuda::HostAllocator< double > > timeFitParametersEE_
Definition: EcalMultifitParametersGPU.h:38
HostAllocator.h
device_unique_ptr.h
EcalMultifitParametersGPU::Product
Definition: EcalMultifitParametersGPU.h:16
EcalMultifitParametersGPU::amplitudeFitParametersEE_
std::vector< double, cms::cuda::HostAllocator< double > > amplitudeFitParametersEE_
Definition: EcalMultifitParametersGPU.h:38
EcalMultifitParametersGPU::getProduct
Product const & getProduct(cudaStream_t) const
Definition: EcalMultifitParametersGPU.cc:21
cms::cuda::ESProduct
Definition: ESProduct.h:20
EcalMultifitParametersGPU::amplitudeFitParametersEB_
std::vector< double, cms::cuda::HostAllocator< double > > amplitudeFitParametersEB_
Definition: EcalMultifitParametersGPU.h:38
EcalMultifitParametersGPU::~EcalMultifitParametersGPU
~EcalMultifitParametersGPU()=default
EcalMultifitParametersGPU
Definition: EcalMultifitParametersGPU.h:14
EcalMultifitParametersGPU::Product::timeFitParametersEB
edm::propagate_const_array< cms::cuda::device::unique_ptr< double[]> > timeFitParametersEB
Definition: EcalMultifitParametersGPU.h:19
EcalMultifitParametersGPU::getValues
std::array< std::reference_wrapper< std::vector< double, cms::cuda::HostAllocator< double > > const >, 4 > getValues() const
Definition: EcalMultifitParametersGPU.h:33
EcalMultifitParametersGPU::Product::timeFitParametersEE
edm::propagate_const_array< cms::cuda::device::unique_ptr< double[]> > timeFitParametersEE
Definition: EcalMultifitParametersGPU.h:20
EcalMultifitParametersGPU::EcalMultifitParametersGPU
EcalMultifitParametersGPU(std::vector< double > const &amplitudeEB, std::vector< double > const &amplitudeEE, std::vector< double > const &timeEB, std::vector< double > const &timeEE)
Definition: EcalMultifitParametersGPU.cc:6
edm::propagate_const_array
Definition: propagate_const_array.h:61
EcalMultifitParametersGPU::product_
cms::cuda::ESProduct< Product > product_
Definition: EcalMultifitParametersGPU.h:41
propagate_const_array.h
EcalMultifitParametersGPU::Product::amplitudeFitParametersEE
edm::propagate_const_array< cms::cuda::device::unique_ptr< double[]> > amplitudeFitParametersEE
Definition: EcalMultifitParametersGPU.h:18
EcalMultifitParametersGPU::Product::amplitudeFitParametersEB
edm::propagate_const_array< cms::cuda::device::unique_ptr< double[]> > amplitudeFitParametersEB
Definition: EcalMultifitParametersGPU.h:17
ESProduct.h
EcalMultifitParametersGPU::timeFitParametersEB_
std::vector< double, cms::cuda::HostAllocator< double > > timeFitParametersEB_
Definition: EcalMultifitParametersGPU.h:38