File indexing completed on 2024-12-12 03:12:13
0001 #ifndef DataFormats_SiPixelDigiSoA_interface_SiPixelDigiErrorsHost_h
0002 #define DataFormats_SiPixelDigiSoA_interface_SiPixelDigiErrorsHost_h
0003
0004 #include <utility>
0005
0006 #include <alpaka/alpaka.hpp>
0007
0008 #include "DataFormats/Common/interface/Uninitialized.h"
0009 #include "DataFormats/Portable/interface/PortableHostCollection.h"
0010 #include "DataFormats/SiPixelDigiSoA/interface/SiPixelDigiErrorsSoA.h"
0011 #include "DataFormats/SiPixelRawData/interface/SiPixelErrorCompact.h"
0012 #include "HeterogeneousCore/AlpakaInterface/interface/SimpleVector.h"
0013 #include "HeterogeneousCore/AlpakaInterface/interface/memory.h"
0014
0015 class SiPixelDigiErrorsHost : public PortableHostCollection<SiPixelDigiErrorsSoA> {
0016 public:
0017 SiPixelDigiErrorsHost(edm::Uninitialized) : PortableHostCollection<SiPixelDigiErrorsSoA>{edm::kUninitialized} {}
0018
0019 template <typename TQueue>
0020 explicit SiPixelDigiErrorsHost(int maxFedWords, TQueue queue)
0021 : PortableHostCollection<SiPixelDigiErrorsSoA>(maxFedWords, queue), maxFedWords_(maxFedWords) {}
0022
0023 int maxFedWords() const { return maxFedWords_; }
0024
0025 auto& error_data() { return (*view().pixelErrors()); }
0026 auto const& error_data() const { return (*view().pixelErrors()); }
0027
0028 private:
0029 int maxFedWords_ = 0;
0030 };
0031
0032 #endif