14#include "GaudiKernel/MsgStream.h"
19CTP_RDO::CTP_RDO(
unsigned int ctpVersionNumber,
const uint32_t nBCs, uint32_t nExtraWords)
38 m_numberOfBunches = 0u;
40 uint32_t dataWords = static_cast<uint32_t>(m_dataWords.size()) - m_ctpDataFormat.getNumberTimeWords() - nExtraWords;
41 m_numberOfBunches = dataWords / m_ctpDataFormat.getDAQwordsPerBunch();
47const CTPdataformatVersion &
51 log << MSG::WARNING <<
"CTPVersion has not been set, no information about data format available, please fix your code" <<
endmsg;
232 log << MSG::WARNING <<
"ignoring word " << word <<
" for position " << i <<
endmsg;
240 unsigned int nWords = 0;
241 unsigned int offset = 0;
242 std::vector<uint32_t>
vec;
281 for(
unsigned int tbp = 0; tbp < nWords; ++tbp) {
283 unsigned int index = offset + tbp;
295 std::ostringstream s;
304 std::ostringstream s;
308 if (longFormat) s << std::endl;
310 if (longFormat) s << std::endl;
314 if (i == 0 || longFormat) s <<
"\n Time";
315 if (longFormat) s << std::setw(1) << i;
317 if (longFormat) s << std::endl;
333 if (i == 0 || longFormat) s <<
"\n TIP";
334 if (longFormat) s << std::setw(1) << i;
336 if (longFormat) s << std::endl;
344 if (i == 0 || longFormat) s <<
"\n TBP";
345 if (longFormat) s << std::setw(1) << i;
347 if (longFormat) s << std::endl;
354 if (i == 0 || longFormat) s <<
"\n TAP";
355 if (longFormat) s << std::setw(1) << i;
357 if (longFormat) s << std::endl;
364 if (i == 0 || longFormat) s <<
"\n TAV";
365 if (longFormat) s << std::setw(1) << i;
367 if (longFormat) s << std::endl;
375 if (longFormat) s << std::setw(1) << i;
377 if (longFormat) s << std::endl;
std::vector< size_t > vec
char data[hepevt_bytes_allocation_ATLAS]
void setNumberOfBunches(const uint32_t nBCs)
void selectBunch(const uint32_t iBC)
std::vector< uint32_t > getTBPWords() const
void setCTPVersionNumber(unsigned int ctpVersion)
const std::string print(const bool longFormat=false) const
print object content in a human readable format to string
const std::vector< uint32_t > & getDataWords() const
uint32_t m_turnCounter
turn counter
void setTimeNanoSec(const uint32_t nano)
uint32_t getTimeSec() const
uint32_t m_numberOfAdditionalWords
number of configurable extra words in the fragment
std::vector< uint32_t > getWords(WordType type) const
void setTIPWord(const unsigned int i, const uint32_t word)
std::vector< uint32_t > getTAPWords() const
uint32_t getTimeNanoSec() const
void setTimeSec(const uint32_t sec)
void setNumberOfAdditionalWords(const uint32_t nExtraWords)
uint8_t m_l1AcceptPosition
bunch position, from which the level1 accept was calculated
uint32_t getTimeSinceLastL1A() const
uint32_t m_numberOfBunches
number of bunches in raw data (transient)
std::vector< uint32_t > getEXTRAWords() const
void setTAVWord(const unsigned int i, const uint32_t word)
void setTBPWord(const unsigned int i, const uint32_t word)
unsigned int m_ctpVersionNumber
number of the CTP version to be used
void setTAPWord(const unsigned int i, const uint32_t word)
uint32_t m_activeBunch
active bunch, for book keepting (transient)
uint32_t getTurnCounter() const
uint32_t getNumberOfBunches() const
void setL1AcceptBunchPosition(const uint8_t)
const CTPdataformatVersion & getCTPVersion() const
CTPdataformatVersion m_ctpDataFormat
CTP data format for a specified version.
std::vector< uint32_t > getTIPWords() const
std::vector< uint32_t > m_dataWords
raw data words
void setWord(const unsigned int i, const uint32_t word)
CTP_RDO()=default
Default constructor needed for pool converters.
~CTP_RDO()
empty default destructor
uint32_t getL1AcceptBunchPosition() const
const std::string dump() const
dump raw object content to string
uint32_t getNumberOfAdditionalWords() const
std::vector< uint32_t > getTAVWords() const
void setTurnCounter(const uint32_t)
singleton-like access to IMessageSvc via open function and helper
IMessageSvc * getMessageSvc(bool quiet=false)
const std::string convertToHex(const uint32_t word)
helper function to dump a number in hex format