8 : unitIsADC_{pedestals.
isADC()},
9 totalChannels_{pedestals.getAllContainers()[0].second.size() + pedestals.getAllContainers()[1].second.size()},
10 offsetForHashes_{
static_cast<uint32_t
>(pedestals.getAllContainers()[0].second.size())},
11 values_(totalChannels_ * 4),
12 widths_(totalChannels_ * 4) {
13 #ifdef HCAL_MAHI_CPUDEBUG 14 std::cout <<
"unitIsADC = " << unitIsADC_ << std::endl;
17 auto const containers = pedestals.getAllContainers();
20 auto const& barrelValues = containers[0].second;
21 for (
uint64_t i = 0;
i < barrelValues.size(); ++
i) {
22 values_[
i * 4] = barrelValues[
i].getValue(0);
23 values_[
i * 4 + 1] = barrelValues[
i].getValue(1);
24 values_[
i * 4 + 2] = barrelValues[
i].getValue(2);
25 values_[
i * 4 + 3] = barrelValues[
i].getValue(3);
27 widths_[
i * 4] = barrelValues[
i].getWidth(0);
28 widths_[
i * 4 + 1] = barrelValues[
i].getWidth(1);
29 widths_[
i * 4 + 2] = barrelValues[
i].getWidth(2);
30 widths_[
i * 4 + 3] = barrelValues[
i].getWidth(3);
34 auto const& endcapValues = containers[1].second;
35 auto const offset = barrelValues.size();
36 for (
uint64_t i = 0;
i < endcapValues.size(); ++
i) {
38 values_[off * 4] = endcapValues[
i].getValue(0);
39 values_[off * 4 + 1] = endcapValues[
i].getValue(1);
40 values_[off * 4 + 2] = endcapValues[
i].getValue(2);
41 values_[off * 4 + 3] = endcapValues[
i].getValue(3);
43 widths_[off * 4] = endcapValues[
i].getWidth(0);
44 widths_[off * 4 + 1] = endcapValues[
i].getWidth(1);
45 widths_[off * 4 + 2] = endcapValues[
i].getWidth(2);
46 widths_[off * 4 + 3] = endcapValues[
i].getWidth(3);
Product const & getProduct(cudaStream_t) const
HcalPedestalsGPU(HcalPedestals const &)
cms::cuda::ESProduct< Product > product_
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
std::vector< float, cms::cuda::HostAllocator< float > > widths_
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > values
void copyAsync(device::unique_ptr< T > &dst, const host::unique_ptr< T > &src, cudaStream_t stream)
#define TYPELOOKUP_DATA_REG(_dataclass_)
std::vector< float, cms::cuda::HostAllocator< float > > values_
unsigned long long uint64_t
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > widths