4#ifndef MUONNSWCOMMONDECODE_NSWTRIGGERSTGL1AELINK_H
5#define MUONNSWCOMMONDECODE_NSWTRIGGERSTGL1AELINK_H
95 void decode_data(std::size_t& readPointer,
int version);
117 [[nodiscard]] std::vector<std::vector<std::uint32_t>>
decode_data_payload(std::size_t& readPointer,
141 [[nodiscard]] std::uint64_t
decode(std::size_t& readPointer, std::size_t size)
const;
142 [[nodiscard]] std::uint64_t
decode_v3(std::size_t& readPointer, std::size_t size)
const;
NSWTriggerElink(const uint32_t *bs, uint32_t remaining)
std::uint32_t head_spare() const
std::uint32_t m_head_BCID
virtual ~NSWTriggerSTGL1AElink()=default
std::uint32_t l1a_local_rel_BCID() const
void decode_data(std::size_t &readPointer, int version)
Decode the pad and segment data.
std::uint32_t head_overflowCount() const
std::vector< STGTPMMPacket > m_mm_packets
const std::vector< std::uint32_t > & stream_head_streamID() const
std::vector< std::uint32_t > m_stream_head_streamID
std::vector< STGTPSegmentPacket > m_segment_packets
std::uint32_t l1a_req_BCID() const
std::uint32_t head_sectID() const
const std::vector< STGTPMMPacket > & mm_packet() const
std::uint32_t l1a_close_BCID() const
const std::vector< STGTPStripPacket > & strip_packet() const
const std::vector< std::uint32_t > & stream_head_nwords() const
std::uint64_t decode_v3(std::size_t &readPointer, std::size_t size) const
std::vector< std::vector< std::vector< std::uint32_t > > > m_stream_data
std::uint32_t l1a_close_BCID_offset() const
std::uint32_t m_l1a_open_BCID_offset
std::uint32_t m_l1a_local_req_BCID
static constexpr auto WORD_SIZE_DOUBLE
std::vector< STGTPStripPacket > m_strip_packets
std::vector< std::uint32_t > m_stream_head_fifo_size
std::uint32_t m_l1a_padding
std::uint32_t m_head_flags
std::uint32_t m_l1a_close_BCID
std::uint32_t head_wdw_matching_engines_usage() const
DataHeader decode_data_header_v3(std::size_t &readPointer, int version)
const std::vector< std::vector< std::vector< std::uint32_t > > > & stream_data() const
std::uint32_t m_head_orbit
std::uint32_t m_l1a_close_BCID_offset
std::vector< std::vector< std::uint32_t > > decode_data_payload(std::size_t &readPointer, const DataHeader &header, int version) const
Decode the payload of each data segment.
NSWTriggerSTGL1AElink(const std::uint32_t *bs, std::uint32_t remaining)
std::uint32_t m_trailer_CRC
std::uint32_t head_fragID() const
void decode_data_v3(std::size_t &readPointer, int version)
void decode_header(std::size_t &readPointer, int &version)
Decode the header.
std::uint32_t l1a_timeout() const
std::uint32_t m_l1a_link_const
std::uint32_t m_l1a_timeout
std::uint32_t m_l1a_open_BCID
const std::vector< STGTPSegmentPacket > & segment_packet() const
std::uint32_t m_l1a_req_BCID
std::vector< std::vector< std::uint32_t > > decode_data_payload_v3(std::size_t &readPointer, const DataHeader &header, int version) const
std::uint32_t head_EC() const
void analyze_data(int version)
Analyze data chunks and create decoded objects.
static std::uint64_t correct_size_for_padding(std::uint64_t initial)
std::uint32_t m_l1a_req_BCID_offset
static constexpr auto WORD_SIZE
std::uint32_t l1a_busy_thr() const
void analyze_data_v3(int version)
int parse_version_workaround(std::size_t &readPointer)
parse version workaround
std::uint32_t m_l1a_engine_snapshot
std::uint32_t l1a_timeout_config() const
std::uint32_t l1a_link_const() const
DataHeader decode_data_header(std::size_t &readPointer, int version)
Decode the header of each data segment.
std::uint32_t m_l1a_timeout_config
const std::vector< STGTPPadPacket > & pad_packets() const
void decode_header_v3(std::size_t &readPointer, int &version)
std::uint32_t m_l1a_versionID
std::uint32_t m_head_sectID
std::uint32_t m_l1a_local_rel_BCID
std::uint32_t L1ID() const
void decode_trailer(std::size_t &readPointer)
Decode the trailer.
const std::vector< std::uint32_t > & stream_head_nbits() const
std::uint32_t m_head_spare
std::uint32_t l1a_open_BCID() const
std::uint32_t l1a_req_BCID_offset() const
std::uint32_t m_l1a_wdw_matching_engines_usage
std::span< const std::uint32_t > m_data
std::uint32_t l1a_engine_snapshot() const
const std::vector< std::uint32_t > & stream_head_fifo_size() const
std::vector< STGTPPadPacket > m_pad_packets
std::uint32_t l1a_open_BCID_offset() const
std::uint32_t head_BCID() const
std::uint32_t head_flags() const
std::vector< std::uint32_t > m_stream_head_nbits
std::uint32_t m_head_fragID
std::uint32_t l1a_versionID() const
std::uint32_t m_l1a_busy_thr
std::uint32_t trailer_CRC() const
std::uint64_t decode(std::size_t &readPointer, std::size_t size) const
Decode a value.
std::uint32_t head_orbit() const
std::uint32_t l1a_padding() const
std::uint32_t l1a_local_req_BCID() const
std::vector< std::uint32_t > m_stream_head_nwords