CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes

sistrip::FEDBufferBase Class Reference

#include <SiStripFEDBufferComponents.h>

Inheritance diagram for sistrip::FEDBufferBase:
sistrip::FEDBuffer sistrip::FEDSpyBuffer

List of all members.

Public Member Functions

uint8_t apveAddress () const
FEDBufferFormat bufferFormat () const
size_t bufferSize () const
uint16_t calcCRC () const
const FEDChannelchannel (const uint8_t internalFEDChannelNum) const
const FEDChannelchannel (const uint8_t internalFEUnitNum, const uint8_t internalChannelNum) const
virtual bool channelGood (const uint8_t internalFEDChannelNum) const
bool channelGood (const uint8_t internalFEUnitNum, const uint8_t internalChannelNum) const
bool checkAPVEAddressValid () const
bool checkBufferFormat () const
bool checkCRC () const
bool checkHeaderType () const
bool checkLengthFromTrailer () const
bool checkMajorityAddresses () const
bool checkNoExtraHeadersOrTrailers () const
bool checkNoFEOverflows () const
bool checkNoSlinkCRCError () const
bool checkNoSLinkTransmissionError () const
bool checkNoUnexpectedSourceID () const
bool checkReadoutMode () const
bool checkSourceIDs () const
virtual std::string checkSummary () const
uint16_t daqBXID () const
uint16_t daqCRC () const
uint32_t daqEventLengthIn64bitWords () const
uint32_t daqEventLengthInBytes () const
FEDDAQEventType daqEventType () const
FEDDAQHeader daqHeader () const
uint32_t daqLvl1ID () const
uint16_t daqSourceID () const
FEDDAQTrailer daqTrailer () const
FEDTTSBits daqTTSState () const
FEDDataType dataType () const
virtual bool doChecks () const
bool doDAQHeaderAndTrailerChecks () const
bool doTrackerSpecialHeaderChecks () const
void dump (std::ostream &os) const
void dumpOriginalBuffer (std::ostream &os) const
 FEDBufferBase (const uint8_t *fedBuffer, const size_t fedBufferSize, const bool allowUnrecognizedFormat=false)
FEDStatusRegister fedStatusRegister () const
bool feEnabled (const uint8_t internalFEUnitNum) const
bool feOverflow (const uint8_t internalFEUnitNum) const
FEDHeaderType headerType () const
bool majorityAddressErrorForFEUnit (const uint8_t internalFEUnitNum) const
uint8_t nFEUnitsEnabled () const
virtual void print (std::ostream &os) const
FEDReadoutMode readoutMode () const
uint16_t sourceID () const
TrackerSpecialHeader trackerSpecialHeader () const
virtual ~FEDBufferBase ()

Protected Member Functions

 FEDBufferBase (const uint8_t *fedBuffer, const size_t fedBufferSize, const bool allowUnrecognizedFormat, const bool fillChannelVector)
const uint8_t * getPointerToByteAfterEndOfPayload () const
const uint8_t * getPointerToDataAfterTrackerSpecialHeader () const

Protected Attributes

std::vector< FEDChannelchannels_

Private Member Functions

void init (const uint8_t *fedBuffer, const size_t fedBufferSize, const bool allowUnrecognizedFormat)

Private Attributes

const size_t bufferSize_
FEDDAQHeader daqHeader_
FEDDAQTrailer daqTrailer_
const uint8_t * orderedBuffer_
const uint8_t * originalBuffer_
TrackerSpecialHeader specialHeader_

Detailed Description

Definition at line 535 of file SiStripFEDBufferComponents.h.


Constructor & Destructor Documentation

sistrip::FEDBufferBase::FEDBufferBase ( const uint8_t *  fedBuffer,
const size_t  fedBufferSize,
const bool  allowUnrecognizedFormat = false 
)

Definition at line 1202 of file SiStripFEDBufferComponents.cc.

References init().

    : channels_(FEDCH_PER_FED,FEDChannel(NULL,0,0)),
      originalBuffer_(fedBuffer),
      bufferSize_(fedBufferSize)
  {
    init(fedBuffer,fedBufferSize,allowUnrecognizedFormat);
  }
sistrip::FEDBufferBase::~FEDBufferBase ( ) [virtual]

Definition at line 1279 of file SiStripFEDBufferComponents.cc.

References orderedBuffer_, and originalBuffer_.

  {
    //if the buffer was coppied and swapped then delete the copy
    if (orderedBuffer_ != originalBuffer_) delete[] orderedBuffer_;
  }
sistrip::FEDBufferBase::FEDBufferBase ( const uint8_t *  fedBuffer,
const size_t  fedBufferSize,
const bool  allowUnrecognizedFormat,
const bool  fillChannelVector 
) [protected]

Definition at line 1210 of file SiStripFEDBufferComponents.cc.

References channels_, sistrip::FEDCH_PER_FED, init(), and NULL.

    : originalBuffer_(fedBuffer),
      bufferSize_(fedBufferSize)
  {
    init(fedBuffer,fedBufferSize,allowUnrecognizedFormat);
    if (fillChannelVector) channels_.assign(FEDCH_PER_FED,FEDChannel(NULL,0,0));
  }

Member Function Documentation

uint8_t sistrip::FEDBufferBase::apveAddress ( ) const [inline]
FEDBufferFormat sistrip::FEDBufferBase::bufferFormat ( ) const [inline]

Definition at line 1414 of file SiStripFEDBufferComponents.h.

References sistrip::TrackerSpecialHeader::bufferFormat(), and specialHeader_.

Referenced by checkBufferFormat(), init(), and print().

    {
      return specialHeader_.bufferFormat();
    }
size_t sistrip::FEDBufferBase::bufferSize ( ) const [inline]
uint16_t sistrip::FEDBufferBase::calcCRC ( ) const [inline]
const FEDChannel & sistrip::FEDBufferBase::channel ( const uint8_t  internalFEDChannelNum) const [inline]
const FEDChannel & sistrip::FEDBufferBase::channel ( const uint8_t  internalFEUnitNum,
const uint8_t  internalChannelNum 
) const [inline]

Definition at line 1469 of file SiStripFEDBufferComponents.h.

References channel(), and sistrip::internalFEDChannelNum().

    {
      return channel(internalFEDChannelNum(internalFEUnitNum,internalChannelNum));
    }
bool sistrip::FEDBufferBase::channelGood ( const uint8_t  internalFEUnitNum,
const uint8_t  internalChannelNum 
) const [inline]

Definition at line 1459 of file SiStripFEDBufferComponents.h.

References channelGood(), and sistrip::internalFEDChannelNum().

    {
      return channelGood(internalFEDChannelNum(internalFEUnitNum,internalChannelNum));
    }
bool sistrip::FEDBufferBase::channelGood ( const uint8_t  internalFEDChannelNum) const [virtual]

Reimplemented in sistrip::FEDSpyBuffer.

Definition at line 1327 of file SiStripFEDBufferComponents.cc.

References sistrip::FEDCH_PER_FEUNIT, feEnabled(), feOverflow(), and majorityAddressErrorForFEUnit().

Referenced by channelGood().

  {
    const uint8_t feUnit = internalFEDChannelNum/FEDCH_PER_FEUNIT;
    return ( !majorityAddressErrorForFEUnit(feUnit) && feEnabled(feUnit) && !feOverflow(feUnit) );
  }
bool sistrip::FEDBufferBase::checkAPVEAddressValid ( ) const [inline]

Definition at line 1512 of file SiStripFEDBufferComponents.h.

References sistrip::APV_MAX_ADDRESS, and apveAddress().

    {
      return (apveAddress() <= APV_MAX_ADDRESS);
    }
bool sistrip::FEDBufferBase::checkBufferFormat ( ) const [inline]
bool sistrip::FEDBufferBase::checkCRC ( ) const [inline]
bool sistrip::FEDBufferBase::checkHeaderType ( ) const [inline]
bool sistrip::FEDBufferBase::checkLengthFromTrailer ( ) const [inline]

Definition at line 1542 of file SiStripFEDBufferComponents.h.

References bufferSize(), and daqEventLengthInBytes().

Referenced by checkSummary(), and doDAQHeaderAndTrailerChecks().

    {
      return (bufferSize() == daqEventLengthInBytes());
    }
bool sistrip::FEDBufferBase::checkMajorityAddresses ( ) const

Definition at line 1318 of file SiStripFEDBufferComponents.cc.

References feEnabled(), sistrip::FEUNITS_PER_FED, and majorityAddressErrorForFEUnit().

Referenced by checkSummary().

  {
    for (uint8_t iFE = 0; iFE < FEUNITS_PER_FED; iFE++) {
      if (!feEnabled(iFE)) continue;
      if (majorityAddressErrorForFEUnit(iFE)) return false;
    }
    return true;
  }
bool sistrip::FEDBufferBase::checkNoExtraHeadersOrTrailers ( ) const [inline]

Definition at line 1537 of file SiStripFEDBufferComponents.h.

References sistrip::FEDDAQHeader::boeNibble(), daqHeader_, daqTrailer_, and sistrip::FEDDAQTrailer::eoeNibble().

Referenced by checkSummary(), and doDAQHeaderAndTrailerChecks().

    {
      return ( (daqHeader_.boeNibble() == 0x5) && (daqTrailer_.eoeNibble() == 0xA) );
    }
bool sistrip::FEDBufferBase::checkNoFEOverflows ( ) const [inline]

Definition at line 1517 of file SiStripFEDBufferComponents.h.

References sistrip::TrackerSpecialHeader::feOverflowRegister(), and specialHeader_.

Referenced by checkSummary(), and doTrackerSpecialHeaderChecks().

    {
      return !specialHeader_.feOverflowRegister();
    }
bool sistrip::FEDBufferBase::checkNoSlinkCRCError ( ) const [inline]

Definition at line 1522 of file SiStripFEDBufferComponents.h.

References daqTrailer_, and sistrip::FEDDAQTrailer::slinkCRCError().

Referenced by checkCRC(), and checkSummary().

    {
      return !daqTrailer_.slinkCRCError();
    }
bool sistrip::FEDBufferBase::checkNoSLinkTransmissionError ( ) const [inline]

Definition at line 1527 of file SiStripFEDBufferComponents.h.

References daqTrailer_, and sistrip::FEDDAQTrailer::slinkTransmissionError().

Referenced by checkSummary(), and doDAQHeaderAndTrailerChecks().

    {
      return !daqTrailer_.slinkTransmissionError();
    }
bool sistrip::FEDBufferBase::checkNoUnexpectedSourceID ( ) const [inline]

Definition at line 1532 of file SiStripFEDBufferComponents.h.

References sistrip::FEDDAQTrailer::badSourceID(), and daqTrailer_.

Referenced by checkSummary(), and doDAQHeaderAndTrailerChecks().

    {
      return !daqTrailer_.badSourceID();
    }
bool sistrip::FEDBufferBase::checkReadoutMode ( ) const [inline]
bool sistrip::FEDBufferBase::checkSourceIDs ( ) const
std::string sistrip::FEDBufferBase::checkSummary ( ) const [virtual]

Reimplemented in sistrip::FEDBuffer.

Definition at line 1338 of file SiStripFEDBufferComponents.cc.

References checkBufferFormat(), checkCRC(), checkHeaderType(), checkLengthFromTrailer(), checkMajorityAddresses(), checkNoExtraHeadersOrTrailers(), checkNoFEOverflows(), checkNoSlinkCRCError(), checkNoSLinkTransmissionError(), checkNoUnexpectedSourceID(), checkReadoutMode(), checkSourceIDs(), feEnabled(), feOverflow(), sistrip::FEUNITS_PER_FED, majorityAddressErrorForFEUnit(), and edmLumisInFiles::summary.

Referenced by sistrip::operator<<().

  {
    std::ostringstream summary;
    summary << "Check buffer type valid: " << ( checkBufferFormat() ? "passed" : "FAILED" ) << std::endl;
    summary << "Check header format valid: " << ( checkHeaderType() ? "passed" : "FAILED" ) << std::endl;
    summary << "Check readout mode valid: " << ( checkReadoutMode() ? "passed" : "FAILED" ) << std::endl;
    //summary << "Check APVe address valid: " << ( checkAPVEAddressValid() ? "passed" : "FAILED" ) << std::endl;
    summary << "Check FE unit majority addresses: " << ( checkMajorityAddresses() ? "passed" : "FAILED" ) << std::endl;
    if (!checkMajorityAddresses()) {
      summary << "FEs with majority address error: ";
      unsigned int badFEs = 0;
      for (uint8_t iFE = 0; iFE < FEUNITS_PER_FED; iFE++) {
        if (!feEnabled(iFE)) continue;
        if (majorityAddressErrorForFEUnit(iFE)) {
          summary << uint16_t(iFE) << " ";
          badFEs++;
        }
      }
      summary << std::endl;
      summary << "Number of FE Units with bad addresses: " << badFEs << std::endl;
    }
    summary << "Check for FE unit buffer overflows: " << ( checkNoFEOverflows() ? "passed" : "FAILED" ) << std::endl;
    if (!checkNoFEOverflows()) {
      summary << "FEs which overflowed: ";
      unsigned int badFEs = 0;
      for (uint8_t iFE = 0; iFE < FEUNITS_PER_FED; iFE++) {
        if (feOverflow(iFE)) {
          summary << uint16_t(iFE) << " ";
          badFEs++;
        }
      }
      summary << std::endl;
      summary << "Number of FE Units which overflowed: " << badFEs << std::endl;
    }
    summary << "Check for S-Link CRC errors: " << ( checkNoSlinkCRCError() ? "passed" : "FAILED" ) << std::endl;
    summary << "Check for S-Link transmission error: " << ( checkNoSLinkTransmissionError() ? "passed" : "FAILED" ) << std::endl;
    summary << "Check CRC: " << ( checkCRC() ? "passed" : "FAILED" ) << std::endl;
    summary << "Check source ID is FED ID: " << ( checkSourceIDs() ? "passed" : "FAILED" ) << std::endl;
    summary << "Check for unexpected source ID at FRL: " << ( checkNoUnexpectedSourceID() ? "passed" : "FAILED" ) << std::endl;
    summary << "Check there are no extra headers or trailers: " << ( checkNoExtraHeadersOrTrailers() ? "passed" : "FAILED" ) << std::endl;
    summary << "Check length from trailer: " << ( checkLengthFromTrailer() ? "passed" : "FAILED" ) << std::endl;
    return summary.str();
  }
uint16_t sistrip::FEDBufferBase::daqBXID ( ) const [inline]

Definition at line 1384 of file SiStripFEDBufferComponents.h.

References sistrip::FEDDAQHeader::bxID(), and daqHeader_.

Referenced by print().

    {
      return daqHeader_.bxID();
    }
uint16_t sistrip::FEDBufferBase::daqCRC ( ) const [inline]

Definition at line 1404 of file SiStripFEDBufferComponents.h.

References sistrip::FEDDAQTrailer::crc(), and daqTrailer_.

Referenced by checkCRC().

    {
      return daqTrailer_.crc();
    }
uint32_t sistrip::FEDBufferBase::daqEventLengthIn64bitWords ( ) const [inline]

Definition at line 1394 of file SiStripFEDBufferComponents.h.

References daqTrailer_, and sistrip::FEDDAQTrailer::eventLengthIn64BitWords().

    {
      return daqTrailer_.eventLengthIn64BitWords();
    }
uint32_t sistrip::FEDBufferBase::daqEventLengthInBytes ( ) const [inline]

Definition at line 1399 of file SiStripFEDBufferComponents.h.

References daqTrailer_, and sistrip::FEDDAQTrailer::eventLengthInBytes().

Referenced by checkLengthFromTrailer(), and print().

    {
      return daqTrailer_.eventLengthInBytes();
    }
FEDDAQEventType sistrip::FEDBufferBase::daqEventType ( ) const [inline]

Definition at line 1374 of file SiStripFEDBufferComponents.h.

References daqHeader_, and sistrip::FEDDAQHeader::eventType().

Referenced by print(), and sistrip::RawToDigiUnpacker::updateEventSummary().

    {
      return daqHeader_.eventType();
    }
FEDDAQHeader sistrip::FEDBufferBase::daqHeader ( ) const [inline]

Definition at line 1354 of file SiStripFEDBufferComponents.h.

References daqHeader_.

    {
      return daqHeader_;
    }
uint32_t sistrip::FEDBufferBase::daqLvl1ID ( ) const [inline]

Definition at line 1379 of file SiStripFEDBufferComponents.h.

References daqHeader_, and sistrip::FEDDAQHeader::l1ID().

Referenced by print().

    {
      return daqHeader_.l1ID();
    }
uint16_t sistrip::FEDBufferBase::daqSourceID ( ) const [inline]

Definition at line 1389 of file SiStripFEDBufferComponents.h.

References daqHeader_, and sistrip::FEDDAQHeader::sourceID().

Referenced by checkSourceIDs(), and print().

    {
      return daqHeader_.sourceID();
    }
FEDDAQTrailer sistrip::FEDBufferBase::daqTrailer ( ) const [inline]

Definition at line 1359 of file SiStripFEDBufferComponents.h.

References daqTrailer_.

    {
      return daqTrailer_;
    }
FEDTTSBits sistrip::FEDBufferBase::daqTTSState ( ) const [inline]

Definition at line 1409 of file SiStripFEDBufferComponents.h.

References daqTrailer_, and sistrip::FEDDAQTrailer::ttsBits().

Referenced by print().

    {
      return daqTrailer_.ttsBits();
    }
FEDDataType sistrip::FEDBufferBase::dataType ( ) const [inline]

Definition at line 1429 of file SiStripFEDBufferComponents.h.

References sistrip::TrackerSpecialHeader::dataType(), and specialHeader_.

Referenced by print().

    {
      return specialHeader_.dataType();
    }
bool sistrip::FEDBufferBase::doChecks ( ) const [virtual]
bool sistrip::FEDBufferBase::doDAQHeaderAndTrailerChecks ( ) const [inline]
bool sistrip::FEDBufferBase::doTrackerSpecialHeaderChecks ( ) const [inline]

Definition at line 1474 of file SiStripFEDBufferComponents.h.

References checkBufferFormat(), checkHeaderType(), checkNoFEOverflows(), and checkReadoutMode().

Referenced by doChecks().

    {
      return ( checkBufferFormat() &&
               checkHeaderType() &&
               checkReadoutMode() &&
               //checkAPVEAddressValid() &&
               checkNoFEOverflows() ); 
    }
void sistrip::FEDBufferBase::dump ( std::ostream &  os) const [inline]
void sistrip::FEDBufferBase::dumpOriginalBuffer ( std::ostream &  os) const [inline]
FEDStatusRegister sistrip::FEDBufferBase::fedStatusRegister ( ) const [inline]

Definition at line 1454 of file SiStripFEDBufferComponents.h.

References sistrip::TrackerSpecialHeader::fedStatusRegister(), and specialHeader_.

Referenced by sistrip::FEDBuffer::FEDBuffer(), and print().

    {
      return specialHeader_.fedStatusRegister();
    }
bool sistrip::FEDBufferBase::feEnabled ( const uint8_t  internalFEUnitNum) const [inline]
bool sistrip::FEDBufferBase::feOverflow ( const uint8_t  internalFEUnitNum) const [inline]
const uint8_t * sistrip::FEDBufferBase::getPointerToByteAfterEndOfPayload ( ) const [inline, protected]

Definition at line 1552 of file SiStripFEDBufferComponents.h.

References bufferSize_, and orderedBuffer_.

Referenced by sistrip::FEDBuffer::FEDBuffer().

    {
      return orderedBuffer_+bufferSize_-8;
    }
const uint8_t * sistrip::FEDBufferBase::getPointerToDataAfterTrackerSpecialHeader ( ) const [inline, protected]
FEDHeaderType sistrip::FEDBufferBase::headerType ( ) const [inline]
void sistrip::FEDBufferBase::init ( const uint8_t *  fedBuffer,
const size_t  fedBufferSize,
const bool  allowUnrecognizedFormat 
) [private]

Definition at line 1218 of file SiStripFEDBufferComponents.cc.

References sistrip::BUFFER_FORMAT_INVALID, sistrip::BUFFER_FORMAT_NEW, sistrip::BUFFER_FORMAT_OLD_VME, sistrip::TrackerSpecialHeader::bufferFormat(), bufferFormat(), bufferSize_, daqHeader_, daqTrailer_, Exception, i, orderedBuffer_, originalBuffer_, and specialHeader_.

Referenced by FEDBufferBase().

  {
    //min buffer length. DAQ header, DAQ trailer, tracker special header. 
    static const size_t MIN_BUFFER_SIZE = 8+8+8;
    //check size is non zero and data pointer is not NULL
    if (!originalBuffer_) throw cms::Exception("FEDBuffer") << "Buffer pointer is NULL.";
    if (bufferSize_ < MIN_BUFFER_SIZE) {
      std::ostringstream ss;
      ss << "Buffer is too small. "
         << "Min size is " << MIN_BUFFER_SIZE << ". "
         << "Buffer size is " << bufferSize_ << ". ";
      throw cms::Exception("FEDBuffer") << ss.str();
    }
  
    //construct tracker special header using second 64 bit word
    specialHeader_ = TrackerSpecialHeader(originalBuffer_+8);
  
    //check the buffer format
    const FEDBufferFormat bufferFormat = specialHeader_.bufferFormat();
    if (bufferFormat == BUFFER_FORMAT_INVALID && !allowUnrecognizedFormat) {
      std::ostringstream ss;
      ss << "Buffer format not recognized. "
         << "Tracker special header: " << specialHeader_;
      throw cms::Exception("FEDBuffer") << ss.str();
    }
    //swap the buffer words so that the whole buffer is in slink ordering
    if ( (bufferFormat == BUFFER_FORMAT_OLD_VME) || (bufferFormat == BUFFER_FORMAT_NEW) ) {
      uint8_t* newBuffer = new uint8_t[bufferSize_];
      const uint32_t* originalU32 = reinterpret_cast<const uint32_t*>(originalBuffer_);
      const size_t sizeU32 = bufferSize_/4;
      uint32_t* newU32 = reinterpret_cast<uint32_t*>(newBuffer);
      if (bufferFormat == BUFFER_FORMAT_OLD_VME) {
        //swap whole buffer
        for (size_t i = 0; i < sizeU32; i+=2) {
          newU32[i] = originalU32[i+1];
          newU32[i+1] = originalU32[i];
        }
      }
      if (bufferFormat == BUFFER_FORMAT_NEW) {
        //copy DAQ header
        memcpy(newU32,originalU32,8);
        //copy DAQ trailer
        memcpy(newU32+sizeU32-2,originalU32+sizeU32-2,8);
        //swap the payload
        for (size_t i = 2; i < sizeU32-2; i+=2) {
          newU32[i] = originalU32[i+1];
          newU32[i+1] = originalU32[i];
        }
      }
      orderedBuffer_ = newBuffer;
    } //if ( (bufferFormat == BUFFER_FORMAT_OLD_VME) || (bufferFormat == BUFFER_FORMAT_NEW) )
    else {
      orderedBuffer_ = originalBuffer_;
    }
  
    //construct header object at begining of buffer
    daqHeader_ = FEDDAQHeader(orderedBuffer_);
    //construct trailer object using last 64 bit word of buffer
    daqTrailer_ = FEDDAQTrailer(orderedBuffer_+bufferSize_-8);
  }
bool sistrip::FEDBufferBase::majorityAddressErrorForFEUnit ( const uint8_t  internalFEUnitNum) const [inline]
uint8_t sistrip::FEDBufferBase::nFEUnitsEnabled ( ) const

Definition at line 1303 of file SiStripFEDBufferComponents.cc.

References feEnabled(), sistrip::FEUNITS_PER_FED, and query::result.

Referenced by print().

  {
    uint8_t result = 0;
    for (uint8_t iFE = 0; iFE < FEUNITS_PER_FED; iFE++) {
      if (feEnabled(iFE)) result++;
    }
    return result;
  }
void sistrip::FEDBufferBase::print ( std::ostream &  os) const [virtual]

Reimplemented in sistrip::FEDSpyBuffer, and sistrip::FEDBuffer.

Definition at line 1285 of file SiStripFEDBufferComponents.cc.

References apveAddress(), bufferFormat(), bufferSize(), daqBXID(), daqEventLengthInBytes(), daqEventType(), daqLvl1ID(), daqSourceID(), daqTTSState(), dataType(), fedStatusRegister(), headerType(), nFEUnitsEnabled(), sistrip::FEDStatusRegister::printFlags(), and readoutMode().

Referenced by sistrip::operator<<().

  {
    os << "buffer format: " << bufferFormat() << std::endl;
    os << "Buffer size: " << bufferSize() << " bytes" << std::endl;
    os << "Event length from DAQ trailer: " << daqEventLengthInBytes() << " bytes" << std::endl;
    os << "Source ID: " << daqSourceID() << std::endl;
    os << "Header type: " << headerType() << std::endl;
    os << "Readout mode: " << readoutMode() << std::endl;
    os << "Data type: " << dataType() << std::endl;
    os << "DAQ event type: " << daqEventType() << std::endl;
    os << "TTS state: " << daqTTSState() << std::endl;
    os << "L1 ID: " << daqLvl1ID() << std::endl;
    os << "BX ID: " << daqBXID() << std::endl;
    os << "FED status register flags: "; fedStatusRegister().printFlags(os); os << std::endl;
    os << "APVe Address: " << uint16_t(apveAddress()) << std::endl;
    os << "Enabled FE units: " << uint16_t(nFEUnitsEnabled()) << std::endl;
  }
FEDReadoutMode sistrip::FEDBufferBase::readoutMode ( ) const [inline]
uint16_t sistrip::FEDBufferBase::sourceID ( ) const
TrackerSpecialHeader sistrip::FEDBufferBase::trackerSpecialHeader ( ) const [inline]

Definition at line 1369 of file SiStripFEDBufferComponents.h.

References specialHeader_.

Referenced by sistrip::FEDBuffer::FEDBuffer().

    { 
      return specialHeader_;
    }

Member Data Documentation

const size_t sistrip::FEDBufferBase::bufferSize_ [private]
const uint8_t* sistrip::FEDBufferBase::orderedBuffer_ [private]
const uint8_t* sistrip::FEDBufferBase::originalBuffer_ [private]

Definition at line 616 of file SiStripFEDBufferComponents.h.

Referenced by dumpOriginalBuffer(), init(), and ~FEDBufferBase().