File indexing completed on 2024-12-12 03:12:13
0001 #ifndef DataFormats_SiPixelClusterSoA_interface_SiPixelClustersHost_h
0002 #define DataFormats_SiPixelClusterSoA_interface_SiPixelClustersHost_h
0003
0004 #include <alpaka/alpaka.hpp>
0005
0006 #include "DataFormats/Common/interface/Uninitialized.h"
0007 #include "DataFormats/Portable/interface/PortableHostCollection.h"
0008 #include "DataFormats/SiPixelClusterSoA/interface/SiPixelClustersSoA.h"
0009 #include "HeterogeneousCore/AlpakaInterface/interface/config.h"
0010
0011
0012
0013
0014 class SiPixelClustersHost : public PortableHostCollection<SiPixelClustersSoA> {
0015 public:
0016 SiPixelClustersHost(edm::Uninitialized) : PortableHostCollection<SiPixelClustersSoA>{edm::kUninitialized} {}
0017
0018 template <typename TQueue>
0019 explicit SiPixelClustersHost(size_t maxModules, TQueue queue)
0020 : PortableHostCollection<SiPixelClustersSoA>(maxModules + 1, queue) {}
0021
0022 void setNClusters(uint32_t nClusters, int32_t offsetBPIX2) {
0023 nClusters_h = nClusters;
0024 offsetBPIX2_h = offsetBPIX2;
0025 }
0026
0027 uint32_t nClusters() const { return nClusters_h; }
0028 int32_t offsetBPIX2() const { return offsetBPIX2_h; }
0029
0030 private:
0031 uint32_t nClusters_h = 0;
0032 int32_t offsetBPIX2_h = 0;
0033 };
0034
0035 #endif