4#ifndef MUONNSWCOMMONDECODE_STGTPPACKETS_H
5#define MUONNSWCOMMONDECODE_STGTPPACKETS_H
31 explicit STGTPMMPacket(
const std::vector<std::uint32_t>& payload,
const int ver);
33 size_t Size(
const int ver);
36 [[nodiscard]]
const MMSegmentData&
Segment(std::size_t segment)
const;
38 [[nodiscard]] std::uint32_t
BCID()
const {
return m_BCID; };
48 explicit STGTPPadPacket(
const std::vector<std::uint32_t>& payload,
const int ver);
50 [[nodiscard]] std::uint32_t
BCID()
const {
return m_BCID; };
51 [[nodiscard]] std::uint32_t
BandID(
const std::size_t num)
const {
return m_bandIDs.at(num); };
52 [[nodiscard]] std::uint32_t
PhiID(
const std::size_t num)
const {
return m_phiIDs.at(num); };
58 std::array<std::uint32_t, STGTPPad::num_pads>
m_bandIDs{};
59 std::array<std::uint32_t, STGTPPad::num_pads>
m_phiIDs{};
62 size_t Size(
const int version);
85 [[nodiscard]]
const std::array<SegmentData, STGTPSegments::num_segments>&
Segments()
const {
return m_segmentData; }
88 [[nodiscard]] std::uint32_t
BCID()
const {
return m_BCID; };
100 size_t Size(
const int ver);
105 explicit STGTPStripPacket(
const std::vector<std::uint32_t>& payload,
const int ver);
109 [[nodiscard]]
const std::array<std::uint32_t, STGTPStrips::num_strips>&
Strips()
const {
return m_stripData; }
110 [[nodiscard]] std::uint32_t
Strip(std::size_t
strip)
const;
111 [[nodiscard]]
const std::array<std::uint32_t, STGTPStrips::num_offsets>&
Offsets()
const {
return m_offsets; }
112 [[nodiscard]] std::uint32_t
Offset(std::size_t offset)
const;
121 std::array<std::uint32_t, STGTPStrips::num_offsets>
m_offsets{};
126 size_t Size(
const int ver);
STGTPMMPacket(const std::vector< std::uint32_t > &payload, const int ver)
std::uint32_t BCID() const
const std::array< MMSegmentData, STGTPMMData::num_mm > & Segments() const
virtual ~STGTPMMPacket()=default
const MMSegmentData & Segment(std::size_t segment) const
std::array< MMSegmentData, STGTPMMData::num_mm > m_segmentData
size_t Size(const int ver)
std::uint32_t PadIdleFlag() const
std::uint32_t BCID() const
std::uint32_t CoincidenceWedge() const
virtual ~STGTPPadPacket()=default
std::array< std::uint32_t, STGTPPad::num_pads > m_bandIDs
std::array< std::uint32_t, STGTPPad::num_pads > m_phiIDs
size_t Size(const int version)
std::uint32_t m_coincWedge
STGTPPadPacket(const std::vector< std::uint32_t > &payload, const int ver)
std::uint32_t BandID(const std::size_t num) const
std::uint32_t PhiID(const std::size_t num) const
std::uint32_t m_lut_choice
STGTPSegmentPacket(const std::vector< std::uint32_t > &payload, const int ver)
size_t Size(const int ver)
const SegmentData & Segment(std::size_t segment) const
std::uint32_t LUT_ChoiceSelection() const
std::uint32_t m_valid_segment_selector
std::uint32_t ValidSegmentSelector() const
const std::array< SegmentData, STGTPSegments::num_segments > & Segments() const
std::uint32_t BCID() const
virtual ~STGTPSegmentPacket()=default
std::uint32_t NSW_SegmentSelector() const
std::uint32_t SectorID() const
std::array< SegmentData, STGTPSegments::num_segments > m_segmentData
std::uint32_t m_nsw_segment_selector
size_t Size(const int ver)
STGTPStripPacket(const std::vector< std::uint32_t > &payload, const int ver)
std::uint32_t PhiIdValue() const
std::uint32_t Offset(std::size_t offset) const
std::uint32_t Strip(std::size_t strip) const
std::array< std::uint32_t, STGTPStrips::num_strips > m_stripData
std::uint32_t BCID() const
std::uint32_t PhiIdSign() const
std::array< std::uint32_t, STGTPStrips::num_offsets > m_offsets
const std::array< std::uint32_t, STGTPStrips::num_offsets > & Offsets() const
std::uint32_t m_phiIdValue
std::uint32_t m_phiIdSign
std::uint32_t BandId() const
virtual ~STGTPStripPacket()=default
const std::array< std::uint32_t, STGTPStrips::num_strips > & Strips() const
nsw::STGTPPadPacket STGTPPadPacket
nsw::STGTPSegmentPacket STGTPSegmentPacket
nsw::STGTPMMPacket STGTPMMPacket
nsw::STGTPStripPacket STGTPStripPacket