#include <FEDHeader.h>
Public Member Functions | |
int | bxID () |
The bunch crossing number. | |
int | bxID () |
The bunch crossing number. | |
bool | check () |
Check that the header is OK. | |
bool | check () |
Check that the header is OK. | |
FEDHeader (const unsigned char *header) | |
Constructor. | |
FEDHeader (const unsigned char *header) | |
Constructor. | |
int | lvl1ID () |
Level-1 event number generated by the TTC system. | |
int | lvl1ID () |
Level-1 event number generated by the TTC system. | |
bool | moreHeaders () |
bool | moreHeaders () |
int | sourceID () |
Identifier of the FED. | |
int | sourceID () |
Identifier of the FED. | |
int | triggerType () |
Event Trigger type identifier. | |
int | triggerType () |
Event Trigger type identifier. | |
int | version () |
Version identifier of the FED data format. | |
int | version () |
Version identifier of the FED data format. | |
~FEDHeader () | |
Destructor. | |
~FEDHeader () | |
Destructor. | |
Static Public Member Functions | |
static void | set (unsigned char *header, int evt_ty, int lvl1_ID, int bx_ID, int source_ID, int version=0, bool H=false) |
Set all fields in the header. | |
static void | set (unsigned char *header, int evt_ty, int lvl1_ID, int bx_ID, int source_ID, int version=0, bool H=false) |
Set all fields in the header. | |
Private Attributes | |
const fedh_struct * | theHeader |
const fedh_t * | theHeader |
TEMPORARY helper class to interpret/create FED header words. FIXME: will be replaced by the xdaq implementation.
TEMPORARY helper class to interpret/create FED header words.
Definition at line 15 of file FEDHeader.h.
FEDHeader::FEDHeader | ( | const unsigned char * | header | ) |
Constructor.
Definition at line 11 of file FEDHeader.cc.
: theHeader(reinterpret_cast<const fedh_t*>(header)) {}
FEDHeader::~FEDHeader | ( | ) |
FEDHeader::FEDHeader | ( | const unsigned char * | header | ) |
Constructor.
FEDHeader::~FEDHeader | ( | ) |
Destructor.
int FEDHeader::bxID | ( | ) |
The bunch crossing number.
Definition at line 26 of file FEDHeader.cc.
References FED_BXID_MASK, FED_BXID_SHIFT, fedh_struct::sourceid, and theHeader.
Referenced by BxTiming::analyze(), HcalTBWriter::extractEventInfo(), ESUnpacker::interpretRawData(), DTDDUUnpacker::interpretRawData(), DTDataIntegrityTask::processFED(), RPCUnpackingModule::produce(), L1GlobalTriggerEvmRawToDigi::unpackHeader(), and L1GlobalTriggerRawToDigi::unpackHeader().
{ return ((theHeader->sourceid & FED_BXID_MASK) >> FED_BXID_SHIFT); }
int FEDHeader::bxID | ( | ) |
The bunch crossing number.
bool FEDHeader::check | ( | ) |
Check that the header is OK.
Definition at line 66 of file FEDHeader.cc.
References fedh_struct::eventid, FED_HCTRLID, FED_HCTRLID_MASK, query::result, and theHeader.
Referenced by ErrorChecker::checkHeader(), ESUnpacker::interpretRawData(), DTDDUUnpacker::interpretRawData(), DTDDUFileReader::isHeader(), DTSpyReader::isHeader(), DTDataIntegrityTask::processFED(), and RPCUnpackingModule::produce().
{ // ...may report with finer detail bool result = true; result &= ((theHeader->eventid & FED_HCTRLID_MASK) == FED_HCTRLID); return result; }
bool FEDHeader::check | ( | ) |
Check that the header is OK.
int FEDHeader::lvl1ID | ( | ) |
Level-1 event number generated by the TTC system.
int FEDHeader::lvl1ID | ( | ) |
Level-1 event number generated by the TTC system.
Definition at line 22 of file FEDHeader.cc.
References fedh_struct::eventid, FED_LVL1_MASK, and theHeader.
Referenced by EBRawDataTask::analyze(), ESFEDIntegrityTask::analyze(), ESRawDataTask::analyze(), EERawDataTask::analyze(), HcalTBWriter::extractEventInfo(), ESUnpacker::interpretRawData(), DTDDUUnpacker::interpretRawData(), DTDataIntegrityTask::processFED(), RPCUnpackingModule::produce(), L1GlobalTriggerEvmRawToDigi::unpackHeader(), and L1GlobalTriggerRawToDigi::unpackHeader().
{ return (theHeader->eventid & FED_LVL1_MASK); }
bool FEDHeader::moreHeaders | ( | ) |
0 -> the current header word is the last one. 1-> other header words can follow (always 1 for ECAL)
Definition at line 38 of file FEDHeader.cc.
References FED_MORE_HEADERS, fedh_struct::sourceid, and theHeader.
Referenced by ErrorChecker::checkHeader(), ESUnpacker::interpretRawData(), RPCUnpackingModule::produce(), L1GlobalTriggerEvmRawToDigi::unpackHeader(), and L1GlobalTriggerRawToDigi::unpackHeader().
{ return ((theHeader->sourceid & FED_MORE_HEADERS)!=0); }
bool FEDHeader::moreHeaders | ( | ) |
0 -> the current header word is the last one. 1-> other header words can follow (always 1 for ECAL)
static void FEDHeader::set | ( | unsigned char * | header, |
int | evt_ty, | ||
int | lvl1_ID, | ||
int | bx_ID, | ||
int | source_ID, | ||
int | version = 0 , |
||
bool | H = false |
||
) | [static] |
Set all fields in the header.
void FEDHeader::set | ( | unsigned char * | header, |
int | evt_ty, | ||
int | lvl1_ID, | ||
int | bx_ID, | ||
int | source_ID, | ||
int | version = 0 , |
||
bool | H = false |
||
) | [static] |
Set all fields in the header.
Definition at line 42 of file FEDHeader.cc.
References fedh_struct::eventid, FED_BXID_MASK, FED_BXID_SHIFT, FED_EVTY_MASK, FED_EVTY_SHIFT, FED_HCTRLID, FED_HCTRLID_MASK, FED_LVL1_MASK, FED_LVL1_SHIFT, FED_MORE_HEADERS, FED_SOID_MASK, FED_SOID_SHIFT, FED_VERSION_MASK, FED_VERSION_SHIFT, h, and fedh_struct::sourceid.
Referenced by CSCDCCHeader::CSCDCCHeader(), ESDataFormatterV4::DigiToRaw(), ESDataFormatterV1_1::DigiToRaw(), PixelDataFormatter::formatRawData(), L1GTDigiToRaw::packHeader(), L1GTEvmDigiToRaw::packHeader(), CSCTFPacker::produce(), GctDigiToRaw::produce(), DTDigiToRawModule::produce(), and RPCPackingModule::rawData().
{ // FIXME: should check that input ranges are OK!!! fedh_t* h = reinterpret_cast<fedh_t*>(header); h->eventid = ( FED_HCTRLID & FED_HCTRLID_MASK) | ( ( evt_ty << FED_EVTY_SHIFT) & FED_EVTY_MASK ) | ( ( lvl1_ID << FED_LVL1_SHIFT) & FED_LVL1_MASK ); h->sourceid = ( ( bx_ID << FED_BXID_SHIFT) & FED_BXID_MASK ) | ( ( source_ID << FED_SOID_SHIFT) & FED_SOID_MASK ) | ( ( version << FED_VERSION_SHIFT) & FED_VERSION_MASK ); if (H) h->sourceid |= FED_MORE_HEADERS; }
int FEDHeader::sourceID | ( | ) |
Identifier of the FED.
Definition at line 30 of file FEDHeader.cc.
References FED_SOID_MASK, FED_SOID_SHIFT, fedh_struct::sourceid, and theHeader.
Referenced by ErrorChecker::checkHeader(), ESUnpacker::interpretRawData(), DTDDUFileReader::isHeader(), DTSpyReader::isHeader(), RPCUnpackingModule::produce(), L1GlobalTriggerEvmRawToDigi::unpackHeader(), and L1GlobalTriggerRawToDigi::unpackHeader().
{ return ((theHeader->sourceid & FED_SOID_MASK) >> FED_SOID_SHIFT); }
int FEDHeader::sourceID | ( | ) |
Identifier of the FED.
int FEDHeader::triggerType | ( | ) |
Event Trigger type identifier.
int FEDHeader::triggerType | ( | ) |
Event Trigger type identifier.
Definition at line 18 of file FEDHeader.cc.
References fedh_struct::eventid, FED_EVTY_MASK, FED_EVTY_SHIFT, and theHeader.
Referenced by DTDataIntegrityTask::processFED(), RPCUnpackingModule::produce(), L1GlobalTriggerEvmRawToDigi::unpackHeader(), and L1GlobalTriggerRawToDigi::unpackHeader().
{ return ((theHeader->eventid & FED_EVTY_MASK) >> FED_EVTY_SHIFT); }
int FEDHeader::version | ( | ) |
Version identifier of the FED data format.
Definition at line 34 of file FEDHeader.cc.
References FED_VERSION_MASK, FED_VERSION_SHIFT, fedh_struct::sourceid, and theHeader.
Referenced by RPCUnpackingModule::produce(), L1GlobalTriggerEvmRawToDigi::unpackHeader(), and L1GlobalTriggerRawToDigi::unpackHeader().
{ return ((theHeader->sourceid & FED_VERSION_MASK) >> FED_VERSION_SHIFT); }
int FEDHeader::version | ( | ) |
Version identifier of the FED data format.
const fedh_struct* FEDHeader::theHeader [private] |
Definition at line 56 of file FEDHeader.h.
Referenced by bxID(), check(), lvl1ID(), moreHeaders(), sourceID(), triggerType(), and version().
const fedh_t* FEDHeader::theHeader [private] |
Definition at line 55 of file FEDHeader.h.