7 offsets_(totalChannels_ * numValuesPerChannel),
8 slopes_(totalChannels_ * numValuesPerChannel) {
9 auto const containers = qiedata.getAllContainers();
12 auto const& barrelValues = containers[0].second;
13 for (
uint64_t i = 0;
i < barrelValues.size(); ++
i) {
14 for (uint32_t
k = 0;
k < 4;
k++)
15 for (uint32_t
l = 0;
l < 4;
l++) {
17 offsets_[
i * numValuesPerChannel +
linear] = barrelValues[
i].offset(
k,
l);
18 slopes_[
i * numValuesPerChannel +
linear] = barrelValues[
i].slope(
k,
l);
23 auto const& endcapValues = containers[1].second;
24 auto const offset = barrelValues.size();
25 for (
uint64_t i = 0;
i < endcapValues.size(); ++
i) {
26 auto const off = (
i +
offset) * numValuesPerChannel;
27 for (uint32_t
k = 0;
k < 4;
k++)
28 for (uint32_t
l = 0;
l < 4;
l++) {
30 offsets_[off +
linear] = endcapValues[
i].offset(
k,
l);
31 slopes_[off +
linear] = endcapValues[
i].slope(
k,
l);
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > offsets
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 > > offsets_
Product const & getProduct(cudaStream_t) const
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[]> > slopes
const tAllContWithNames getAllContainers() const
cms::cuda::ESProduct< Product > product_
unsigned long long uint64_t
#define TYPELOOKUP_DATA_REG(_dataclass_)
HcalQIECodersGPU(HcalQIEData const &)
std::vector< float, cms::cuda::HostAllocator< float > > slopes_