CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
sistrip::FEDDAQHeader Class Reference

#include <SiStripFEDBufferComponents.h>

Public Member Functions

uint8_t boeNibble () const
 
uint16_t bxID () const
 
const uint8_t * data () const
 
FEDDAQEventType eventType () const
 
uint8_t eventTypeNibble () const
 
 FEDDAQHeader ()
 
 FEDDAQHeader (const uint8_t *header)
 
 FEDDAQHeader (const uint32_t l1ID, const uint16_t bxID, const uint16_t sourceID, const FEDDAQEventType evtType=DAQ_EVENT_TYPE_PHYSICS)
 
bool hBit () const
 
uint32_t l1ID () const
 
bool lastHeader () const
 
void print (std::ostream &os) const
 
FEDDAQHeadersetBXID (const uint16_t bxID)
 
FEDDAQHeadersetEventType (const FEDDAQEventType evtType)
 
FEDDAQHeadersetL1ID (const uint32_t l1ID)
 
FEDDAQHeadersetSourceID (const uint16_t sourceID)
 
uint16_t sourceID () const
 
uint8_t version () const
 

Private Attributes

uint8_t header_ [8]
 

Detailed Description

Definition at line 198 of file SiStripFEDBufferComponents.h.

Constructor & Destructor Documentation

◆ FEDDAQHeader() [1/3]

sistrip::FEDDAQHeader::FEDDAQHeader ( )
inline

Definition at line 200 of file SiStripFEDBufferComponents.h.

200 {}

◆ FEDDAQHeader() [2/3]

sistrip::FEDDAQHeader::FEDDAQHeader ( const uint8_t *  header)
inlineexplicit

◆ FEDDAQHeader() [3/3]

sistrip::FEDDAQHeader::FEDDAQHeader ( const uint32_t  l1ID,
const uint16_t  bxID,
const uint16_t  sourceID,
const FEDDAQEventType  evtType = DAQ_EVENT_TYPE_PHYSICS 
)

Definition at line 949 of file SiStripFEDBufferComponents.cc.

References bxID(), header_, l1ID(), setBXID(), setEventType(), setL1ID(), setSourceID(), and sourceID().

952  {
953  //clear everything (FOV,H,x,$ all set to 0)
954  memset(header_, 0x0, 8);
955  //set the BoE nibble to indicate this is the last fragment
956  header_[7] = 0x50;
957  //set variable fields vith values supplied
958  setEventType(evtType);
959  setL1ID(l1ID);
960  setBXID(bxID);
962  }
FEDDAQHeader & setEventType(const FEDDAQEventType evtType)
FEDDAQHeader & setL1ID(const uint32_t l1ID)
FEDDAQHeader & setSourceID(const uint16_t sourceID)
FEDDAQHeader & setBXID(const uint16_t bxID)

Member Function Documentation

◆ boeNibble()

uint8_t sistrip::FEDDAQHeader::boeNibble ( ) const
inline

Definition at line 1343 of file SiStripFEDBufferComponents.h.

References header_.

Referenced by sistrip::FEDBufferBase::checkNoExtraHeadersOrTrailers().

1343 { return ((header_[7] & 0xF0) >> 4); }

◆ bxID()

uint16_t sistrip::FEDDAQHeader::bxID ( ) const
inline

◆ data()

const uint8_t * sistrip::FEDDAQHeader::data ( ) const
inline

Definition at line 1359 of file SiStripFEDBufferComponents.h.

References header_.

Referenced by sistrip::FEDBufferGenerator::fillBuffer().

1359 { return header_; }

◆ eventType()

FEDDAQEventType sistrip::FEDDAQHeader::eventType ( ) const

Definition at line 910 of file SiStripFEDBufferComponents.cc.

References sistrip::DAQ_EVENT_TYPE_CALIBRATION, sistrip::DAQ_EVENT_TYPE_ERROR, sistrip::DAQ_EVENT_TYPE_INVALID, sistrip::DAQ_EVENT_TYPE_PHYSICS, sistrip::DAQ_EVENT_TYPE_SIMULATED, sistrip::DAQ_EVENT_TYPE_TECHNICAL, sistrip::DAQ_EVENT_TYPE_TEST, sistrip::DAQ_EVENT_TYPE_TRACED, and eventTypeNibble().

Referenced by sistrip::FEDBufferBase::daqEventType(), and sistrip::FEDBufferGenerator::getDAQEventType().

◆ eventTypeNibble()

uint8_t sistrip::FEDDAQHeader::eventTypeNibble ( ) const
inline

Definition at line 1345 of file SiStripFEDBufferComponents.h.

References header_.

Referenced by eventType().

1345 { return (header_[7] & 0x0F); }

◆ hBit()

bool sistrip::FEDDAQHeader::hBit ( ) const
inline

Definition at line 1355 of file SiStripFEDBufferComponents.h.

References header_.

Referenced by lastHeader().

1355 { return (header_[0] & 0x8); }

◆ l1ID()

uint32_t sistrip::FEDDAQHeader::l1ID ( ) const
inline

◆ lastHeader()

bool sistrip::FEDDAQHeader::lastHeader ( ) const
inline

Definition at line 1357 of file SiStripFEDBufferComponents.h.

References hBit().

1357 { return !hBit(); }

◆ print()

void sistrip::FEDDAQHeader::print ( std::ostream &  os) const
inline

Definition at line 1361 of file SiStripFEDBufferComponents.h.

References header_, l1tGTMenu_BTagSeeds_cff::os, and sistrip::printHex().

1361 { printHex(header_, 8, os); }
void printHex(const void *pointer, const size_t length, std::ostream &os)

◆ setBXID()

FEDDAQHeader & sistrip::FEDDAQHeader::setBXID ( const uint16_t  bxID)

Definition at line 937 of file SiStripFEDBufferComponents.cc.

References bxID(), and header_.

Referenced by FEDDAQHeader(), and sistrip::FEDBufferGenerator::setBXID().

937  {
938  header_[3] = ((bxID & 0x0FF0) >> 4);
939  header_[2] = ((header_[2] & 0x0F) | ((bxID & 0x000F) << 4));
940  return *this;
941  }

◆ setEventType()

FEDDAQHeader & sistrip::FEDDAQHeader::setEventType ( const FEDDAQEventType  evtType)

Definition at line 925 of file SiStripFEDBufferComponents.cc.

References header_.

Referenced by FEDDAQHeader(), and sistrip::FEDBufferGenerator::setDAQEventType().

925  {
926  header_[7] = ((header_[7] & 0xF0) | evtType);
927  return *this;
928  }

◆ setL1ID()

FEDDAQHeader & sistrip::FEDDAQHeader::setL1ID ( const uint32_t  l1ID)

Definition at line 930 of file SiStripFEDBufferComponents.cc.

References header_, and l1ID().

Referenced by FEDDAQHeader(), and sistrip::FEDBufferGenerator::setL1ID().

930  {
931  header_[4] = (l1ID & 0x000000FF);
932  header_[5] = ((l1ID & 0x0000FF00) >> 8);
933  header_[6] = ((l1ID & 0x00FF0000) >> 16);
934  return *this;
935  }

◆ setSourceID()

FEDDAQHeader & sistrip::FEDDAQHeader::setSourceID ( const uint16_t  sourceID)

Definition at line 943 of file SiStripFEDBufferComponents.cc.

References header_, and sourceID().

Referenced by FEDDAQHeader(), and sistrip::FEDBufferGenerator::generateBuffer().

943  {
944  header_[2] = ((header_[2] & 0xF0) | ((sourceID & 0x0F00) >> 8));
945  header_[1] = (sourceID & 0x00FF);
946  return *this;
947  }

◆ sourceID()

uint16_t sistrip::FEDDAQHeader::sourceID ( ) const
inline

Definition at line 1351 of file SiStripFEDBufferComponents.h.

References header_.

Referenced by sistrip::FEDBufferBase::daqSourceID(), FEDDAQHeader(), and setSourceID().

1351 { return (((header_[2] & 0x0F) << 8) | header_[1]); }

◆ version()

uint8_t sistrip::FEDDAQHeader::version ( ) const
inline

Definition at line 1353 of file SiStripFEDBufferComponents.h.

References header_.

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

1353 { return ((header_[0] & 0xF0) >> 4); }

Member Data Documentation

◆ header_

uint8_t sistrip::FEDDAQHeader::header_[8]
private