ATLAS Offline Software
MuonSpectrometer
MuonCnv
MuonNSWCommonDecode
src
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
11
#include "
MuonNSWCommonDecode/MMTrigPacket.h
"
12
#include "
MuonNSWCommonDecode/NSWMMTPDecodeBitmaps.h
"
13
14
Muon::nsw::MMTrigPacket::MMTrigPacket
(std::vector<uint32_t>&
payload
){
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:43
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
Generated on Thu Nov 7 2024 21:21:19 for ATLAS Offline Software by
1.8.18