171 {
172 size_t packet_size_w =
Size(ver);
173
174 if (std::size(payload) != packet_size_w) {
175 throw std::runtime_error(
176 Muon::nsw::format(
"Packet vector has size {} instead of expected size {}", std::size(payload), packet_size_w));
177 }
178 auto readPointer = std::size_t{0};
179 const auto packets = std::span{
payload.data(), std::size(payload)};
180 auto decode = [&packets](std::size_t& readPointer,
const std::size_t
size) {
182 };
183
184 if (ver < 3)
185 {
186
187
188
192 }
193 else
194 {
198 }
199
209
210 }
211
214
215
216}
size_t size() const
Number of registered mappings.
std::uint32_t m_lut_choice
size_t Size(const int ver)
std::uint32_t m_valid_segment_selector
std::array< SegmentData, STGTPSegments::num_segments > m_segmentData
std::uint32_t m_nsw_segment_selector
double decode(number_type binnedWeight)
Convert weight from unsigned to double.
constexpr int size_output_segment_dTheta
constexpr int size_output_segment_phiRes
constexpr int size_output_segment_phiID
constexpr int size_sectorID
constexpr int size_nsw_segment_selector
constexpr int size_v3_padding
constexpr int size_output_segment_monitor
constexpr int size_output_segment_spare
constexpr int size_lut_choice_selection
constexpr std::size_t num_segments
constexpr std::size_t size_valid_segment_v3
constexpr int size_output_segment_lowRes
constexpr int size_valid_segment_selector
constexpr int size_output_segment_rIndex
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.