CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 173 of file SiStripFEDBufferComponents.h.

Constructor & Destructor Documentation

sistrip::FEDDAQHeader::FEDDAQHeader ( )
inline

Definition at line 176 of file SiStripFEDBufferComponents.h.

176 { }
sistrip::FEDDAQHeader::FEDDAQHeader ( const uint8_t *  header)
inlineexplicit

Definition at line 1242 of file SiStripFEDBufferComponents.h.

References header_.

1243  {
1244  memcpy(header_,header,8);
1245  }
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 910 of file SiStripFEDBufferComponents.cc.

References header_, setBXID(), setEventType(), setL1ID(), and setSourceID().

911  {
912  //clear everything (FOV,H,x,$ all set to 0)
913  memset(header_,0x0,8);
914  //set the BoE nibble to indicate this is the last fragment
915  header_[7] = 0x50;
916  //set variable fields vith values supplied
917  setEventType(evtType);
918  setL1ID(l1ID);
919  setBXID(bxID);
921  }
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

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

Definition at line 1247 of file SiStripFEDBufferComponents.h.

References header_.

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

1248  {
1249  return ( (header_[7] & 0xF0) >> 4 );
1250  }
uint16_t sistrip::FEDDAQHeader::bxID ( ) const
inline

Definition at line 1262 of file SiStripFEDBufferComponents.h.

References header_.

Referenced by sistrip::FEDBufferBase::daqBXID(), and sistrip::FEDBufferGenerator::getBXID().

1263  {
1264  return ( (header_[3]<<4) | ((header_[2]&0xF0)>>4) );
1265  }
const uint8_t * sistrip::FEDDAQHeader::data ( ) const
inline

Definition at line 1287 of file SiStripFEDBufferComponents.h.

References header_.

Referenced by cuy.FindIssue::__init__(), and sistrip::FEDBufferGenerator::fillBuffer().

1288  {
1289  return header_;
1290  }
FEDDAQEventType sistrip::FEDDAQHeader::eventType ( ) const

Definition at line 866 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().

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

Definition at line 1252 of file SiStripFEDBufferComponents.h.

References header_.

Referenced by eventType().

1253  {
1254  return (header_[7] & 0x0F);
1255  }
bool sistrip::FEDDAQHeader::hBit ( ) const
inline

Definition at line 1277 of file SiStripFEDBufferComponents.h.

References header_.

Referenced by lastHeader().

1278  {
1279  return (header_[0] & 0x8);
1280  }
uint32_t sistrip::FEDDAQHeader::l1ID ( ) const
inline

Definition at line 1257 of file SiStripFEDBufferComponents.h.

References header_.

Referenced by sistrip::FEDBufferBase::daqLvl1ID(), and sistrip::FEDBufferGenerator::getL1ID().

1258  {
1259  return ( header_[4] | (header_[5]<<8) | (header_[6]<<16) );
1260  }
bool sistrip::FEDDAQHeader::lastHeader ( ) const
inline

Definition at line 1282 of file SiStripFEDBufferComponents.h.

References hBit().

1283  {
1284  return !hBit();
1285  }
void sistrip::FEDDAQHeader::print ( std::ostream &  os) const
inline

Definition at line 1292 of file SiStripFEDBufferComponents.h.

References header_, and sistrip::printHex().

Referenced by sistrip::operator<<().

1293  {
1294  printHex(header_,8,os);
1295  }
void printHex(const void *pointer, const size_t length, std::ostream &os)
FEDDAQHeader & sistrip::FEDDAQHeader::setBXID ( const uint16_t  bxID)

Definition at line 896 of file SiStripFEDBufferComponents.cc.

References header_.

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

897  {
898  header_[3] = ( (bxID & 0x0FF0) >> 4);
899  header_[2] = ( (header_[2] & 0x0F) | ( (bxID & 0x000F) << 4) );
900  return *this;
901  }
FEDDAQHeader & sistrip::FEDDAQHeader::setEventType ( const FEDDAQEventType  evtType)

Definition at line 882 of file SiStripFEDBufferComponents.cc.

References header_.

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

883  {
884  header_[7] = ((header_[7] & 0xF0) | evtType);
885  return *this;
886  }
FEDDAQHeader & sistrip::FEDDAQHeader::setL1ID ( const uint32_t  l1ID)

Definition at line 888 of file SiStripFEDBufferComponents.cc.

References header_.

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

889  {
890  header_[4] = (l1ID & 0x000000FF);
891  header_[5] = ( (l1ID & 0x0000FF00) >> 8);
892  header_[6] = ( (l1ID & 0x00FF0000) >> 16);
893  return *this;
894  }
FEDDAQHeader & sistrip::FEDDAQHeader::setSourceID ( const uint16_t  sourceID)

Definition at line 903 of file SiStripFEDBufferComponents.cc.

References header_.

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

904  {
905  header_[2] = ( (header_[2] & 0xF0) | ( (sourceID & 0x0F00) >> 8) );
906  header_[1] = (sourceID & 0x00FF);
907  return *this;
908  }
uint16_t sistrip::FEDDAQHeader::sourceID ( ) const
inline

Definition at line 1267 of file SiStripFEDBufferComponents.h.

References header_.

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

1268  {
1269  return ( ((header_[2]&0x0F)<<8) | header_[1] );
1270  }
uint8_t sistrip::FEDDAQHeader::version ( ) const
inline

Definition at line 1272 of file SiStripFEDBufferComponents.h.

References header_.

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

1273  {
1274  return ( (header_[0] & 0xF0) >> 4 );
1275  }

Member Data Documentation

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