@@ -151,21 +151,12 @@ void EcalDigisFromPortableProducer::produce(edm::Event& event, edm::EventSetup c
151151 auto const digisEEDataSize = digisEESize * ecalPh1::sampleSize;
152152
153153 // Intermediate containers because the DigiCollection containers are accessible only as const
154- EBDigiCollection::IdContainer digisIdsEB;
155- EEDigiCollection::IdContainer digisIdsEE;
156- EBDigiCollection::DataContainer digisDataEB;
157- EEDigiCollection::DataContainer digisDataEE;
158-
159- digisIdsEB.resize (digisEBSize);
160- digisIdsEE.resize (digisEESize);
161- digisDataEB.resize (digisEBDataSize);
162- digisDataEE.resize (digisEEDataSize);
163-
164- // copy data
165- std::memcpy (digisIdsEB.data (), digisEBSoAView.id (), digisEBSize * sizeof (uint32_t ));
166- std::memcpy (digisIdsEE.data (), digisEESoAView.id (), digisEESize * sizeof (uint32_t ));
167- std::memcpy (digisDataEB.data (), digisEBSoAView.data ()->data (), digisEBDataSize * sizeof (uint16_t ));
168- std::memcpy (digisDataEE.data (), digisEESoAView.data ()->data (), digisEEDataSize * sizeof (uint16_t ));
154+ EBDigiCollection::IdContainer digisIdsEB (digisEBSoAView.id (), digisEBSoAView.id () + digisEBSize);
155+ EEDigiCollection::IdContainer digisIdsEE (digisEESoAView.id (), digisEESoAView.id () + digisEESize);
156+ EBDigiCollection::DataContainer digisDataEB (digisEBSoAView.data ()->data (),
157+ digisEBSoAView.data ()->data () + digisEBDataSize);
158+ EEDigiCollection::DataContainer digisDataEE (digisEESoAView.data ()->data (),
159+ digisEESoAView.data ()->data () + digisEEDataSize);
169160
170161 digisEB->swap (digisIdsEB, digisDataEB);
171162 digisEE->swap (digisIdsEE, digisDataEE);
0 commit comments