File indexing completed on 2023-03-17 10:51:20
0001 #ifndef DataFormats_SiPixelDigi_interface_SiPixelDigisSoA_h
0002 #define DataFormats_SiPixelDigi_interface_SiPixelDigisSoA_h
0003
0004 #include <cstddef>
0005 #include <cstdint>
0006 #include <vector>
0007
0008
0009
0010
0011
0012
0013
0014 class SiPixelDigisSoA {
0015 public:
0016 SiPixelDigisSoA() = default;
0017 explicit SiPixelDigisSoA(
0018 size_t nDigis, const uint32_t* pdigi, const uint32_t* rawIdArr, const uint16_t* adc, const int32_t* clus);
0019 ~SiPixelDigisSoA() = default;
0020
0021 auto size() const { return pdigi_.size(); }
0022
0023 uint32_t pdigi(size_t i) const { return pdigi_[i]; }
0024 uint32_t rawIdArr(size_t i) const { return rawIdArr_[i]; }
0025 uint16_t adc(size_t i) const { return adc_[i]; }
0026 int32_t clus(size_t i) const { return clus_[i]; }
0027
0028 const std::vector<uint32_t>& pdigiVector() const { return pdigi_; }
0029 const std::vector<uint32_t>& rawIdArrVector() const { return rawIdArr_; }
0030 const std::vector<uint16_t>& adcVector() const { return adc_; }
0031 const std::vector<int32_t>& clusVector() const { return clus_; }
0032
0033 private:
0034 std::vector<uint32_t> pdigi_;
0035 std::vector<uint32_t> rawIdArr_;
0036 std::vector<uint16_t> adc_;
0037 std::vector<int32_t> clus_;
0038 };
0039
0040 #endif