8 : totalChannels_{
gains.getAllContainers()[0].second.size() +
gains.getAllContainers()[1].second.size()},
9 value0_(totalChannels_),
10 value1_(totalChannels_),
11 value2_(totalChannels_),
12 value3_(totalChannels_) {
13 auto const gainContainers =
gains.getAllContainers();
16 auto const& barrelValues = gainContainers[0].second;
17 for (
uint64_t i = 0;
i < barrelValues.size(); ++
i) {
18 value0_[
i] = barrelValues[
i].getValue(0);
19 value1_[
i] = barrelValues[
i].getValue(1);
20 value2_[
i] = barrelValues[
i].getValue(2);
21 value3_[
i] = barrelValues[
i].getValue(3);
25 auto const& endcapValues = gainContainers[1].second;
26 auto const offset = barrelValues.size();
27 for (
uint64_t i = 0;
i < endcapValues.size(); ++
i) {
28 value0_[
i +
offset] = endcapValues[
i].getValue(0);
29 value1_[
i +
offset] = endcapValues[
i].getValue(1);
30 value2_[
i +
offset] = endcapValues[
i].getValue(2);
31 value3_[
i +
offset] = endcapValues[
i].getValue(3);
std::vector< float, cms::cuda::HostAllocator< float > > value2_
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > value2
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
HcalGainWidthsGPU(HcalGainWidths const &)
std::vector< float, cms::cuda::HostAllocator< float > > value1_
std::vector< float, cms::cuda::HostAllocator< float > > value3_
void copyAsync(device::unique_ptr< T > &dst, const host::unique_ptr< T > &src, cudaStream_t stream)
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > value1
constexpr float gains[NGAINS]
cms::cuda::ESProduct< Product > product_
unsigned long long uint64_t
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > value0
#define TYPELOOKUP_DATA_REG(_dataclass_)
Product const & getProduct(cudaStream_t) const
std::vector< float, cms::cuda::HostAllocator< float > > value0_
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > value3