![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
13 #include <boost/io/ios_state.hpp>
26 boost::io::ios_all_saver ias(
os);
37 os <<
" Status words:\n";
42 os <<
" Data words:\n";
79 os <<
" JET TOB crate 1\n";
84 os <<
" JET TOB crate 2\n";
89 os <<
" Energy TOB\n";
112 std::ostringstream
s;
113 s << std::showbase << std::hex << std::internal << std::setfill (
'0') << std::setw(10) << word << std::dec << std::noshowbase;
118 std::ostringstream
s;
119 s << std::showbase << std::hex << std::internal << std::setfill (
'0') << std::setw( 6 ) << word << std::dec << std::noshowbase;
126 std::ostringstream
s;
128 for (
auto elem:
vec){
129 s<<std::hex<<std::showbase<<std::setfill(
'0')<<std::setw(10)
130 <<elem<<
" "<<std::dec<<std::noshowbase;
154 index += bitIdx<16 ? 2*(bitIdx) : 2*(bitIdx-16)+1;
172 std::bitset<128> decision;
173 std::bitset<128> overflow;
178 const std::vector<uint32_t>
data = (*pRDO)->getDataWords();
183 const uint32_t triggerByte =
c.trigger_bits();
184 const uint32_t overflowByte =
c.overflow_bits();
187 for (
unsigned int i=0;
i<8; ++
i){
189 decision[
index]=( triggerByte >>
i)&1;
190 overflow[
index]=(overflowByte >>
i)&1;
200 return std::pair< std::bitset<128>,std::bitset<128> >(decision,overflow);
The class that represents the raw data received from an L1Topo board.
char data[hepevt_bytes_allocation_ATLAS]
unsigned int triggerBitIndexNew(uint32_t moduleId, const L1Topo::L1TopoTOB &, unsigned int bitIdx)
Helper to calculate the index needed to pack trigger bits into the full 128-bit decision....
Const iterator class for DataVector/DataList.
const std::vector< uint32_t > & getDataWords() const
get the data words
Represents the L1Topo TOB word of the L1Topo ROI data, with decode and encoder.
std::pair< std::bitset< 128 >, std::bitset< 128 > > getDecisionAndOverflowBits(const L1TopoRDOCollection &)
Get the trigger decision and overflow bits from the L1Topo ROI data block 'L1Topo TOB' and order them...
std::ostream & operator<<(std::ostream &os, const L1TopoRDO &rdo)
This file contains some static helper functions to help users of L1TopoRDO.
bool isDAQModule() const
check the module type, derived from the source ID and the L1Topo module
const std::string formatVecHex8(const std::vector< uint32_t > &vec)
Helper function to format a vector of 32-bit integers as 8-digit hex numbers for printing.
Represents the L1Topo status word of the L1Topo DAQ header, with decoder and encoder.
L1Topo::BlockTypes blockType(const uint32_t word, uint32_t offset=28, uint32_t size=0x0f)
Function to return the block type of a data word from L1Topo
std::vector< size_t > vec
uint32_t getSourceID() const
get the source identifier, i.e. the word representing the subdet type and
const std::vector< uint32_t > & getStatusWords() const
get the status words
Container of L1TopoRDOs (standard Athena boilerplate)
std::string formatHex4(uint32_t word)
Helper function to format a 32-bit integer as a 4-digit hex number for printing.
std::string formatHex8(uint32_t word)
Helper function to format a 32-bit integer as an 8-digit hex number for printing.
uint32_t decode(const uint32_t &word, const uint32_t &offset, const uint32_t &size)
Helper function to decode word based on offset and size.
unsigned int triggerBitIndexPhase1(uint32_t topo, uint32_t fpga, size_t bitIdx)
bool isROIModule() const
check the module type, derived from the source ID and the L1Topo module
Represents the L1Topo fibre word of the L1Topo DAQ header, with decoder and encoder.
std::vector< L1Topo::Error > getErrors() const
get a vector of Errors found during RAW to RDO conversion; see enum and
unsigned int triggerBitIndex(uint32_t moduleId, const L1Topo::L1TopoTOB &)
OUT OF DATE DO NOT USE Helper to calculate the index needed to pack trigger bits into the full 128-bi...