38 {
39
40 if (ver < 3){
41
42 return;
43 }
44
45 size_t packet_size_w =
Size(ver);
46
47 if (std::size(payload) != packet_size_w) {
48 throw std::runtime_error(
49 Muon::nsw::format(
"Packet vector has size {} instead of expected size {}", std::size(payload), packet_size_w));
50 }
51
52 const auto packets = std::span{
payload.data(), std::size(payload)};
53 auto readPointer = std::size_t{0};
54 auto decode = [&packets](std::size_t& readPointer,
const std::size_t
size) {
56 };
57
58
72 if (!valid_segment)
73 {
81 }
82 }
84
85}
std::array< MMSegmentData, STGTPMMData::num_mm > m_segmentData
size_t Size(const int ver)
double decode(number_type binnedWeight)
Convert weight from unsigned to double.
constexpr int size_output_mm_dTheta
constexpr int size_output_mm_lowRes
constexpr int size_output_mm_phiID
constexpr int size_output_mm_rIndex
constexpr int size_output_mm_phiRes
constexpr std::size_t num_mm
constexpr int size_output_mm_monitor
constexpr int size_v3_padding
constexpr int size_output_mm_spare
constexpr int size_output_mm_valids
constexpr int mm_stream_invalid_dTheta
std::string format(const std::string &str, const T &arg)
constexpr Target decode_and_advance(const std::span< const Source > words, std::size_t &start, const std::size_t size)
Decode bits from data of words and advance the read pointer.