#include <MMARTPacket.h>
Definition at line 16 of file MMARTPacket.h.
◆ MMARTPacket()
Muon::nsw::MMARTPacket::MMARTPacket |
( |
std::vector< uint32_t > & |
payload | ) |
|
Definition at line 15 of file MMARTPacket.cxx.
17 std::size_t readPointer{0};
18 std::span<const std::uint32_t>
data{
payload.data(), 3};
21 throw std::runtime_error(
Muon::nsw::format(
"ART Packet size not as expected: expected exactly 3 uint32_t, got {}",
payload.size() ));
36 std::vector<std::tuple<uint8_t,uint8_t,uint8_t>> artHitInfo =
VMMmapToHits();
38 for (
uint8_t i = 0;
i < artHitInfo.size();
i++){
◆ ~MMARTPacket()
virtual Muon::nsw::MMARTPacket::~MMARTPacket |
( |
| ) |
|
|
virtualdefault |
◆ art_ARTs()
const std::vector<uint32_t>& Muon::nsw::MMARTPacket::art_ARTs |
( |
| ) |
const |
|
inline |
◆ art_BCID()
uint32_t Muon::nsw::MMARTPacket::art_BCID |
( |
| ) |
const |
|
inline |
◆ art_fiberID()
uint32_t Muon::nsw::MMARTPacket::art_fiberID |
( |
| ) |
const |
|
inline |
◆ art_pipeID()
uint32_t Muon::nsw::MMARTPacket::art_pipeID |
( |
| ) |
const |
|
inline |
◆ art_VMMmap()
uint64_t Muon::nsw::MMARTPacket::art_VMMmap |
( |
| ) |
const |
|
inline |
◆ channels()
const std::vector<std::pair<uint8_t,uint16_t> >& Muon::nsw::MMARTPacket::channels |
( |
| ) |
const |
|
inline |
◆ getBoardPosition()
int Muon::nsw::MMARTPacket::getBoardPosition |
( |
int |
board | ) |
|
|
private |
Definition at line 67 of file MMARTPacket.cxx.
71 int flipBoardOrder = 0;
72 int flipFiberOrder = 0;
76 else {flipBoardOrder = 1;}
79 else {flipFiberOrder = 1;}
81 if (flipBoardOrder) board = 3-board;
93 int boardPosition = -1;
95 if (rightLeft==1) {boardPosition = (pcb-1) * 2;}
96 else {boardPosition = (pcb-1) * 2 + 1;}
98 if (rightLeft==0) {boardPosition = (pcb-1) * 2;}
99 else {boardPosition = (pcb-1) * 2 + 1;}
102 return boardPosition;
◆ getLayer()
uint8_t Muon::nsw::MMARTPacket::getLayer |
( |
| ) |
const |
|
inlineprivate |
◆ getVMMChannelPosition()
int Muon::nsw::MMARTPacket::getVMMChannelPosition |
( |
int |
boardPosition, |
|
|
int |
vmm, |
|
|
int |
ch |
|
) |
| |
|
private |
Definition at line 106 of file MMARTPacket.cxx.
108 if (boardPosition%2==0){vmmPosition = 7-vmm;}
109 else {vmmPosition = vmm;}
111 vmmPosition += boardPosition*8;
112 int chPosition = 64*vmmPosition;
114 if (boardPosition%2==0){chPosition += (63 -
ch);}
115 else {chPosition +=
ch;}
◆ VMMmapToHits()
std::vector< std::tuple< uint8_t, uint8_t, uint8_t > > Muon::nsw::MMARTPacket::VMMmapToHits |
( |
| ) |
|
|
private |
Definition at line 45 of file MMARTPacket.cxx.
46 std::vector<std::tuple<uint8_t,uint8_t>> hitmapBoardVMM;
47 std::vector<std::tuple<uint8_t,uint8_t,uint8_t>> artHitInfo;
51 hitmapBoardVMM.push_back( std::make_tuple( (
int)(
i/8),
i%8 ) );
55 if (hitmapBoardVMM.size()>8) {
56 throw std::runtime_error(
"ART Packet cannot contain more than 8 ART hits!");
59 for (
uint8_t i = 0;
i<hitmapBoardVMM.size();
i++){
60 artHitInfo.push_back( std::make_tuple( std::get<0>(hitmapBoardVMM[
i]), std::get<1>(hitmapBoardVMM[
i]),
m_art_ARTs[
i] ) );
◆ m_art_ARTs
std::vector<uint32_t> Muon::nsw::MMARTPacket::m_art_ARTs |
|
private |
◆ m_art_BCID
uint32_t Muon::nsw::MMARTPacket::m_art_BCID |
|
private |
◆ m_art_fiberID
uint32_t Muon::nsw::MMARTPacket::m_art_fiberID |
|
private |
◆ m_art_pipeID
uint32_t Muon::nsw::MMARTPacket::m_art_pipeID |
|
private |
◆ m_art_VMMmap
uint64_t Muon::nsw::MMARTPacket::m_art_VMMmap |
|
private |
◆ m_channels
std::vector< std::pair<uint8_t,uint16_t> > Muon::nsw::MMARTPacket::m_channels |
|
private |
The documentation for this class was generated from the following files: