#include <L1TopoPhase1ByteStreamTool.h>
◆ L1TopoPhase1ByteStreamTool()
L1TopoPhase1ByteStreamTool::L1TopoPhase1ByteStreamTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~L1TopoPhase1ByteStreamTool()
virtual L1TopoPhase1ByteStreamTool::~L1TopoPhase1ByteStreamTool |
( |
| ) |
|
|
overridevirtualdefault |
◆ convert()
Definition at line 66 of file L1TopoPhase1ByteStreamTool.cxx.
67 ATH_MSG_DEBUG(
"executing convert() from ROBFragment to xAOD::L1TopoRawData");
69 uint32_t rodId = rob->rob_source_id();
71 ATH_MSG_DEBUG(
"ROD sub-detector ID: 0x" << MSG::hex << rodId << MSG::dec);
74 bool error_rob(
false);
75 bool error_rod(
false);
77 if (rob->check_rob()) {
85 if (rob->check_rod()) {
96 <<
" rod_version 0x" << rob->rod_version() <<
" \n"
97 <<
" rod_run_no 0x" << MSG::dec
98 << rob->rod_run_no() <<
" \n"
99 <<
" rod_lvl1_id 0x" << MSG::hex
100 << rob->rod_lvl1_id() <<
" \n"
101 <<
" rod_bc_id 0x" << rob->rod_bc_id() <<
" \n"
102 <<
" rod_lvl1_trigger_type 0x" << rob->rod_lvl1_trigger_type()
104 <<
" nchildren 0x" << rob->nchildren() <<
" \n"
109 const uint32_t nstatus = rob->rod_nstatus();
111 std::vector<uint32_t> vStatusWords;
112 vStatusWords.reserve(nstatus);
114 for (
uint32_t i = 0;
i < nstatus; ++
i, ++it_status) {
115 vStatusWords.push_back(
static_cast<uint32_t>(*it_status));
117 << *it_status << MSG::dec);
124 bool error_status(
false);
125 if (vStatusWords.size() == 0) {
128 if (vStatusWords.size() > 0 && vStatusWords.at(0) != 0) {
129 ATH_MSG_WARNING(
"Non-zero first status word, payload may not be valid");
135 const uint32_t ndata = rob->rod_ndata();
139 std::vector<uint32_t> vDataWords;
140 vDataWords.reserve(ndata);
142 vDataWords.push_back(
static_cast<uint32_t>(*it_data));
144 << *it_data << MSG::dec);
160 container->
push_back(std::make_unique<xAOD::L1TopoRawData>());
161 container->
back()->initialize(vDataWords,vStatusWords,
error,rodId);
163 return StatusCode::SUCCESS;
◆ convertFromBS()
BS->xAOD conversion.
Definition at line 41 of file L1TopoPhase1ByteStreamTool.cxx.
44 auto l1topoContainer = std::make_unique<xAOD::L1TopoRawDataContainer> ();
45 auto l1topoAuxContainer = std::make_unique<xAOD::L1TopoRawDataAuxContainer> ();
46 l1topoContainer->setStore(l1topoAuxContainer.get());
49 for (
const ROBF* rob : vrobf) {
54 ATH_CHECK(l1topo_cont.record(std::move(l1topoContainer),std::move(l1topoAuxContainer)));
55 ATH_MSG_DEBUG(
"Recorded L1TopoRawDataContainer with key " << l1topo_cont.key());
57 return StatusCode::SUCCESS;
◆ convertToBS()
◆ initialize()
StatusCode L1TopoPhase1ByteStreamTool::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 26 of file L1TopoPhase1ByteStreamTool.cxx.
32 ATH_MSG_DEBUG((topoRawMode==ConversionMode::Encoding ?
"Encoding" :
"Decoding") <<
" topoRaw ROB IDs: "
33 << std::hex << std::showbase <<
m_robIds.value() << std::dec);
36 return StatusCode::SUCCESS;
◆ robIds()
virtual const std::vector<uint32_t>& L1TopoPhase1ByteStreamTool::robIds |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ m_robIds
Gaudi::Property<std::vector<uint32_t> > L1TopoPhase1ByteStreamTool::m_robIds {this, "ROBIDs", {}, "List of ROB IDs required for conversion to/from xAOD RoI"} |
|
private |
◆ m_topoRawReadKey
◆ m_topoRawWriteKey
The documentation for this class was generated from the following files: