ATLAS Offline Software
MMTrigPacket.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 #include <vector>
5 #include <exception>
6 #include <sstream>
7 #include <string>
8 #include <algorithm>
9 #include <tuple>
10 
13 
15 
16  std::size_t readPointer{0};
17  std::span<const std::uint32_t> data{payload.data(), 3};
18 
19  if (payload.size()!=2) {
20  throw std::runtime_error( Muon::nsw::format( "MM Trigger packet size not as expected: expected exactly 2 uint32_t, got {}", payload.size() ));
21  }
22 
23  m_trig_padding = Muon::nsw::decode_and_advance<uint64_t>(data, readPointer, Muon::nsw::MMTRIG::size_trig_padding);
24  m_trig_BCID = Muon::nsw::decode_and_advance<uint64_t>(data, readPointer, Muon::nsw::MMTRIG::size_trig_BCID);
25  m_trig_reserved = Muon::nsw::decode_and_advance<uint64_t>(data, readPointer, Muon::nsw::MMTRIG::size_trig_reserved);
26  m_trig_dTheta = Muon::nsw::decode_and_advance<uint64_t>(data, readPointer, Muon::nsw::MMTRIG::size_trig_dTheta);
27  m_trig_phiBin = Muon::nsw::decode_and_advance<uint64_t>(data, readPointer, Muon::nsw::MMTRIG::size_trig_phiBin);
28  m_trig_rBin = Muon::nsw::decode_and_advance<uint64_t>(data, readPointer, Muon::nsw::MMTRIG::size_trig_rBin);
29 
30 }
Muon::nsw::MMTRIG::size_trig_rBin
constexpr int size_trig_rBin
Definition: NSWMMTPDecodeBitmaps.h:101
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
Muon::nsw::MMTrigPacket::m_trig_reserved
uint32_t m_trig_reserved
Definition: MMTrigPacket.h:31
Muon::nsw::MMTRIG::size_trig_padding
constexpr int size_trig_padding
Definition: NSWMMTPDecodeBitmaps.h:96
Muon::nsw::MMTrigPacket::MMTrigPacket
MMTrigPacket(std::vector< uint32_t > &payload)
Definition: MMTrigPacket.cxx:14
Muon::nsw::MMTrigPacket::m_trig_padding
uint32_t m_trig_padding
Definition: MMTrigPacket.h:26
Muon::nsw::MMTrigPacket::m_trig_rBin
uint32_t m_trig_rBin
Definition: MMTrigPacket.h:34
Muon::nsw::MMTrigPacket::m_trig_phiBin
uint32_t m_trig_phiBin
Definition: MMTrigPacket.h:33
Muon::nsw::MMTRIG::size_trig_BCID
constexpr int size_trig_BCID
Definition: NSWMMTPDecodeBitmaps.h:97
Muon::nsw::MMTRIG::size_trig_phiBin
constexpr int size_trig_phiBin
Definition: NSWMMTPDecodeBitmaps.h:100
Muon::nsw::MMTRIG::size_trig_reserved
constexpr int size_trig_reserved
Definition: NSWMMTPDecodeBitmaps.h:98
Muon::nsw::MMTrigPacket::m_trig_BCID
uint32_t m_trig_BCID
Definition: MMTrigPacket.h:30
Muon::nsw::format
std::string format(const std::string &str, const T &arg)
Definition: NSWDecodeHelper.h:40
Muon::nsw::MMTrigPacket::m_trig_dTheta
uint32_t m_trig_dTheta
Definition: MMTrigPacket.h:32
PixelModuleFeMask_create_db.payload
string payload
Definition: PixelModuleFeMask_create_db.py:69
NSWMMTPDecodeBitmaps.h
Muon::nsw::MMTRIG::size_trig_dTheta
constexpr int size_trig_dTheta
Definition: NSWMMTPDecodeBitmaps.h:99
MMTrigPacket.h