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::FEDDAQTrailer Class Reference

#include <SiStripFEDBufferComponents.h>

Public Member Functions

bool badSourceID () const
 
bool cBit () const
 
uint16_t crc () const
 
const uint8_t * data () const
 
uint8_t eoeNibble () const
 
uint32_t eventLengthIn64BitWords () const
 
uint32_t eventLengthInBytes () const
 
uint8_t eventStatusNibble () const
 
bool fBit () const
 
 FEDDAQTrailer ()
 
 FEDDAQTrailer (const uint8_t *trailer)
 
 FEDDAQTrailer (const uint32_t eventLengthIn64BitWords, const uint16_t crc=0, const FEDTTSBits ttsBits=TTS_READY, const bool slinkTransmissionError=false, const bool badFEDID=false, const bool slinkCRCError=false, const uint8_t eventStatusNibble=0)
 
bool lastTrailer () const
 
void print (std::ostream &os) const
 
bool rBit () const
 
FEDDAQTrailersetBadSourceIDBit (const bool bitSet)
 
FEDDAQTrailersetCRC (const uint16_t crc)
 
FEDDAQTrailersetEventLengthIn64BitWords (const uint32_t eventLengthIn64BitWords)
 
FEDDAQTrailersetEventStatusNibble (const uint8_t eventStatusNibble)
 
FEDDAQTrailersetSLinkCRCErrorBit (const bool bitSet)
 
FEDDAQTrailersetSLinkTransmissionErrorBit (const bool bitSet)
 
FEDDAQTrailersetTTSBits (const FEDTTSBits ttsBits)
 
bool slinkCRCError () const
 
bool slinkTransmissionError () const
 
bool tBit () const
 
FEDTTSBits ttsBits () const
 
uint8_t ttsNibble () const
 

Private Attributes

uint8_t trailer_ [8]
 

Detailed Description

Definition at line 177 of file SiStripFEDBufferComponents.h.

Constructor & Destructor Documentation

sistrip::FEDDAQTrailer::FEDDAQTrailer ( )
inline

Definition at line 180 of file SiStripFEDBufferComponents.h.

180 { }
sistrip::FEDDAQTrailer::FEDDAQTrailer ( const uint8_t *  trailer)
inlineexplicit

Definition at line 1273 of file SiStripFEDBufferComponents.h.

References trailer_.

1274  {
1275  memcpy(trailer_,trailer,8);
1276  }
sistrip::FEDDAQTrailer::FEDDAQTrailer ( const uint32_t  eventLengthIn64BitWords,
const uint16_t  crc = 0,
const FEDTTSBits  ttsBits = TTS_READY,
const bool  slinkTransmissionError = false,
const bool  badFEDID = false,
const bool  slinkCRCError = false,
const uint8_t  eventStatusNibble = 0 
)

Definition at line 903 of file SiStripFEDBufferComponents.cc.

References setBadSourceIDBit(), setCRC(), setEventLengthIn64BitWords(), setEventStatusNibble(), setSLinkCRCErrorBit(), setSLinkTransmissionErrorBit(), setTTSBits(), and trailer_.

906  {
907  //clear everything (T,x,$ all set to 0)
908  memset(trailer_,0x0,8);
909  //set the EoE nibble to indicate this is the last fragment
910  trailer_[7] = 0xA0;
911  //set variable fields vith values supplied
915  setCRC(crc);
917  setBadSourceIDBit(badFEDID);
919  }
FEDDAQTrailer & setSLinkCRCErrorBit(const bool bitSet)
FEDDAQTrailer & setTTSBits(const FEDTTSBits ttsBits)
FEDDAQTrailer & setSLinkTransmissionErrorBit(const bool bitSet)
FEDDAQTrailer & setEventLengthIn64BitWords(const uint32_t eventLengthIn64BitWords)
FEDDAQTrailer & setEventStatusNibble(const uint8_t eventStatusNibble)
FEDDAQTrailer & setCRC(const uint16_t crc)
FEDDAQTrailer & setBadSourceIDBit(const bool bitSet)

Member Function Documentation

bool sistrip::FEDDAQTrailer::badSourceID ( ) const
inline

Definition at line 192 of file SiStripFEDBufferComponents.h.

References fBit().

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

192 { return fBit(); }
bool sistrip::FEDDAQTrailer::cBit ( ) const
inline

Definition at line 1298 of file SiStripFEDBufferComponents.h.

References trailer_.

Referenced by slinkTransmissionError().

1299  {
1300  return (trailer_[1] & 0x80);
1301  }
uint16_t sistrip::FEDDAQTrailer::crc ( void  ) const
inline

Definition at line 1293 of file SiStripFEDBufferComponents.h.

References trailer_.

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

1294  {
1295  return ( trailer_[2] | (trailer_[3]<<8) );
1296  }
const uint8_t * sistrip::FEDDAQTrailer::data ( ) const
inline

Definition at line 1333 of file SiStripFEDBufferComponents.h.

References trailer_.

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

1334  {
1335  return trailer_;
1336  }
uint8_t sistrip::FEDDAQTrailer::eoeNibble ( ) const
inline

Definition at line 1278 of file SiStripFEDBufferComponents.h.

References trailer_.

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

1279  {
1280  return ( (trailer_[7] & 0xF0) >> 4 );
1281  }
uint32_t sistrip::FEDDAQTrailer::eventLengthIn64BitWords ( ) const
inline

Definition at line 1283 of file SiStripFEDBufferComponents.h.

References trailer_.

Referenced by sistrip::FEDBufferBase::daqEventLengthIn64bitWords(), and eventLengthInBytes().

1284  {
1285  return ( trailer_[4] | (trailer_[5]<<8) | (trailer_[6]<<16) );
1286  }
uint32_t sistrip::FEDDAQTrailer::eventLengthInBytes ( ) const
inline

Definition at line 1288 of file SiStripFEDBufferComponents.h.

References eventLengthIn64BitWords().

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

1289  {
1290  return eventLengthIn64BitWords()*8;
1291  }
uint8_t sistrip::FEDDAQTrailer::eventStatusNibble ( ) const
inline

Definition at line 1308 of file SiStripFEDBufferComponents.h.

References trailer_.

1309  {
1310  return (trailer_[1] & 0x0F);
1311  }
bool sistrip::FEDDAQTrailer::fBit ( ) const
inline

Definition at line 1303 of file SiStripFEDBufferComponents.h.

References trailer_.

Referenced by badSourceID().

1304  {
1305  return (trailer_[1] & 0x40);
1306  }
bool sistrip::FEDDAQTrailer::lastTrailer ( ) const
inline

Definition at line 198 of file SiStripFEDBufferComponents.h.

References tBit().

198 { return !tBit(); }
void sistrip::FEDDAQTrailer::print ( std::ostream &  os) const
inline

Definition at line 1328 of file SiStripFEDBufferComponents.h.

References sistrip::printHex(), and trailer_.

Referenced by sistrip::operator<<().

1329  {
1330  printHex(trailer_,8,os);
1331  }
void printHex(const void *pointer, const size_t length, std::ostream &os)
bool sistrip::FEDDAQTrailer::rBit ( ) const
inline

Definition at line 1323 of file SiStripFEDBufferComponents.h.

References trailer_.

Referenced by slinkCRCError().

1324  {
1325  return (trailer_[0] & 0x04);
1326  }
FEDDAQTrailer & sistrip::FEDDAQTrailer::setBadSourceIDBit ( const bool  bitSet)

Definition at line 943 of file SiStripFEDBufferComponents.cc.

References trailer_.

Referenced by FEDDAQTrailer().

944  {
945  if (bitSet) trailer_[1] |= 0x40;
946  else trailer_[1] &= (~0x40);
947  return *this;
948  }
FEDDAQTrailer & sistrip::FEDDAQTrailer::setCRC ( const uint16_t  crc)

Definition at line 929 of file SiStripFEDBufferComponents.cc.

References trailer_.

Referenced by FEDDAQTrailer(), and sistrip::FEDBufferGenerator::fillBuffer().

930  {
931  trailer_[2] = (crc & 0x00FF);
932  trailer_[3] = ( (crc >> 8) & 0x00FF );
933  return *this;
934  }
FEDDAQTrailer & sistrip::FEDDAQTrailer::setEventLengthIn64BitWords ( const uint32_t  eventLengthIn64BitWords)

Definition at line 921 of file SiStripFEDBufferComponents.cc.

References trailer_.

Referenced by FEDDAQTrailer(), and sistrip::FEDBufferGenerator::fillBuffer().

922  {
923  trailer_[4] = (eventLengthIn64BitWords & 0x000000FF);
924  trailer_[5] = ( (eventLengthIn64BitWords & 0x0000FF00) >> 8);
925  trailer_[6] = ( (eventLengthIn64BitWords & 0x00FF0000) >> 16);
926  return *this;
927  }
FEDDAQTrailer & sistrip::FEDDAQTrailer::setEventStatusNibble ( const uint8_t  eventStatusNibble)

Definition at line 957 of file SiStripFEDBufferComponents.cc.

References trailer_.

Referenced by FEDDAQTrailer().

958  {
959  trailer_[1] = ( (trailer_[1] & 0xF0) | (eventStatusNibble & 0x0F) );
960  return *this;
961  }
FEDDAQTrailer & sistrip::FEDDAQTrailer::setSLinkCRCErrorBit ( const bool  bitSet)

Definition at line 950 of file SiStripFEDBufferComponents.cc.

References trailer_.

Referenced by FEDDAQTrailer().

951  {
952  if (bitSet) trailer_[0] |= 0x04;
953  else trailer_[0] &= (~0x40);
954  return *this;
955  }
FEDDAQTrailer & sistrip::FEDDAQTrailer::setSLinkTransmissionErrorBit ( const bool  bitSet)

Definition at line 936 of file SiStripFEDBufferComponents.cc.

References trailer_.

Referenced by FEDDAQTrailer().

937  {
938  if (bitSet) trailer_[1] |= 0x80;
939  else trailer_[1] &= (~0x80);
940  return *this;
941  }
FEDDAQTrailer & sistrip::FEDDAQTrailer::setTTSBits ( const FEDTTSBits  ttsBits)

Definition at line 963 of file SiStripFEDBufferComponents.cc.

References trailer_.

Referenced by FEDDAQTrailer().

964  {
965  trailer_[0] = ( (trailer_[0] & 0x0F) | (ttsBits & 0xF0) );
966  return *this;
967  }
bool sistrip::FEDDAQTrailer::slinkCRCError ( ) const
inline

Definition at line 201 of file SiStripFEDBufferComponents.h.

References rBit().

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

201 { return rBit(); }
bool sistrip::FEDDAQTrailer::slinkTransmissionError ( ) const
inline

Definition at line 189 of file SiStripFEDBufferComponents.h.

References cBit().

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

189 { return cBit(); }
bool sistrip::FEDDAQTrailer::tBit ( ) const
inline

Definition at line 1318 of file SiStripFEDBufferComponents.h.

References trailer_.

Referenced by lastTrailer().

1319  {
1320  return (trailer_[0] & 0x08);
1321  }
FEDTTSBits sistrip::FEDDAQTrailer::ttsBits ( ) const
uint8_t sistrip::FEDDAQTrailer::ttsNibble ( ) const
inline

Definition at line 1313 of file SiStripFEDBufferComponents.h.

References trailer_.

Referenced by ttsBits().

1314  {
1315  return ( (trailer_[0] & 0xF0) >> 4);
1316  }

Member Data Documentation

uint8_t sistrip::FEDDAQTrailer::trailer_[8]
private