CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
FEDHeader Class Reference

#include <FEDHeader.h>

Public Member Functions

int bxID ()
 The bunch crossing number. More...
 
int bxID ()
 The bunch crossing number. More...
 
bool check ()
 Check that the header is OK. More...
 
bool check ()
 Check that the header is OK. More...
 
 FEDHeader (const unsigned char *header)
 Constructor. More...
 
 FEDHeader (const unsigned char *header)
 Constructor. More...
 
int lvl1ID ()
 Level-1 event number generated by the TTC system. More...
 
int lvl1ID ()
 Level-1 event number generated by the TTC system. More...
 
bool moreHeaders ()
 
bool moreHeaders ()
 
int sourceID ()
 Identifier of the FED. More...
 
int sourceID ()
 Identifier of the FED. More...
 
int triggerType ()
 Event Trigger type identifier. More...
 
int triggerType ()
 Event Trigger type identifier. More...
 
int version ()
 Version identifier of the FED data format. More...
 
int version ()
 Version identifier of the FED data format. More...
 
 ~FEDHeader ()
 Destructor. More...
 
 ~FEDHeader ()
 Destructor. More...
 

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. More...
 
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. More...
 

Private Attributes

const fedh_ttheHeader
 
const fedh_structtheHeader
 

Detailed Description

TEMPORARY helper class to interpret/create FED header words. FIXME: will be replaced by the xdaq implementation.

Author
N. Amapane - CERN

TEMPORARY helper class to interpret/create FED header words.

Author
N. Amapane - CERN

Definition at line 13 of file FEDHeader.h.

Constructor & Destructor Documentation

FEDHeader::FEDHeader ( const unsigned char *  header)

Constructor.

Definition at line 9 of file FEDHeader.cc.

9  :
10  theHeader(reinterpret_cast<const fedh_t*>(header)) {}
const fedh_struct * theHeader
Definition: FEDHeader.h:54
FEDHeader::~FEDHeader ( )

Destructor.

Definition at line 13 of file FEDHeader.cc.

13 {}
FEDHeader::FEDHeader ( const unsigned char *  header)

Constructor.

FEDHeader::~FEDHeader ( )

Destructor.

Member Function Documentation

int FEDHeader::bxID ( )

The bunch crossing number.

int FEDHeader::bxID ( )
bool FEDHeader::check ( )

Check that the header is OK.

bool FEDHeader::check ( )
int FEDHeader::lvl1ID ( )

Level-1 event number generated by the TTC system.

int FEDHeader::lvl1ID ( )
bool FEDHeader::moreHeaders ( )

0 -> the current header word is the last one. 1-> other header words can follow (always 1 for ECAL)

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 36 of file FEDHeader.cc.

References FED_MORE_HEADERS, fedh_struct::sourceid, and theHeader.

Referenced by RPixErrorChecker::checkHeader(), ErrorChecker::checkHeader(), ESUnpacker::interpretRawData(), RPCUnpackingModule::produce(), omtf::OmtfUnpacker::produce(), L1GlobalTriggerEvmRawToDigi::unpackHeader(), and L1GlobalTriggerRawToDigi::unpackHeader().

36  {
37  return ((theHeader->sourceid & FED_MORE_HEADERS)!=0);
38 }
unsigned int sourceid
Definition: fed_header.h:32
const fedh_struct * theHeader
Definition: FEDHeader.h:54
#define FED_MORE_HEADERS
Definition: FEDHeader.cc:8
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 40 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, RecoTauValidation_cfi::header, and fedh_struct::sourceid.

Referenced by CSCDCCHeader::CSCDCCHeader(), ESDataFormatterV1_1::DigiToRaw(), ESDataFormatterV4::DigiToRaw(), DaqFakeReader::fillFEDs(), DaqFakeReader::fillGTPFED(), l1t::AMCDumpToRaw::formatRaw(), l1t::MP7BufferDumpToRaw::formatRaw(), PixelDataFormatter::formatRawData(), L1GTEvmDigiToRaw::packHeader(), L1GTDigiToRaw::packHeader(), DTDigiToRawModule::produce(), RPCTwinMuxDigiToRaw::produce(), CSCTFPacker::produce(), HcalDigiToRawuHTR::produce(), GctDigiToRaw::produce(), omtf::OmtfPacker::produce(), l1t::L1TDigiToRaw::produce(), and RPCPackingModule::rawData().

46  {
47 
48  // FIXME: should check that input ranges are OK!!!
49  fedh_t* h = reinterpret_cast<fedh_t*>(header);
50  h->eventid =
52  ( ( evt_ty << FED_EVTY_SHIFT) & FED_EVTY_MASK ) |
53  ( ( lvl1_ID << FED_LVL1_SHIFT) & FED_LVL1_MASK );
54 
55  h->sourceid =
56  ( ( bx_ID << FED_BXID_SHIFT) & FED_BXID_MASK ) |
57  ( ( source_ID << FED_SOID_SHIFT) & FED_SOID_MASK ) |
59 
60  if (H) h->sourceid |= FED_MORE_HEADERS;
61 
62 }
int version()
Version identifier of the FED data format.
Definition: FEDHeader.cc:32
#define FED_EVTY_MASK
Definition: fed_header.h:38
#define FED_VERSION_SHIFT
Definition: fed_header.h:56
#define FED_BXID_SHIFT
Definition: fed_header.h:54
#define FED_SOID_SHIFT
Definition: fed_header.h:55
#define FED_EVTY_SHIFT
Definition: fed_header.h:51
unsigned int sourceid
Definition: fed_header.h:32
#define FED_BXID_MASK
Definition: fed_header.h:41
#define FED_HCTRLID
Definition: FEDHeader.cc:9
#define FED_HCTRLID_MASK
Definition: fed_header.h:37
#define FED_LVL1_SHIFT
Definition: fed_header.h:52
unsigned int eventid
Definition: fed_header.h:33
#define FED_MORE_HEADERS
Definition: FEDHeader.cc:8
#define FED_SOID_MASK
Definition: fed_header.h:42
#define FED_LVL1_MASK
Definition: fed_header.h:39
#define FED_VERSION_MASK
Definition: fed_header.h:43
int FEDHeader::sourceID ( )

Identifier of the FED.

int FEDHeader::sourceID ( )
int FEDHeader::triggerType ( )

Event Trigger type identifier.

int FEDHeader::triggerType ( )
int FEDHeader::version ( )

Version identifier of the FED data format.

Referenced by validation.Sample::datasetpattern(), and validation.Sample::filename().

int FEDHeader::version ( )

Member Data Documentation

const fedh_t* FEDHeader::theHeader
private

Definition at line 53 of file FEDHeader.h.

const fedh_struct* FEDHeader::theHeader
private

Definition at line 54 of file FEDHeader.h.

Referenced by bxID(), check(), lvl1ID(), moreHeaders(), sourceID(), triggerType(), and version().