CMS 3D CMS Logo

Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends

CSCDDUHeader Class Reference

#include <CSCDDUHeader.h>

List of all members.

Public Member Functions

int bxnum () const
bool check () const
 CSCDDUHeader (unsigned bx, unsigned l1num, unsigned sourceId)
 CSCDDUHeader ()
 CSCDDUHeader (const CSCDDUStatusDigi &digi)
unsigned short * data ()
int dmb_dav () const
int event_type () const
int format_version () const
int live_cscs () const
int lvl1num () const
int ncsc () const
int s_link_status () const
void setDMBDAV (int dduInput)
void setSourceId (unsigned sourceId)
int source_id () const

Static Public Member Functions

static unsigned sizeInWords ()

Private Member Functions

void init ()
 initializes constants

Private Attributes

unsigned bit64_: 4
 should always be 5
unsigned boe_status_: 8
unsigned bxnum_: 12
unsigned dmb_dav_: 16
unsigned dmb_full_: 16
 should be 8000/0001/8000
unsigned event_type_: 4
unsigned format_version_: 4
unsigned header2_1_: 16
unsigned header2_2_: 16
unsigned header2_3_: 16
unsigned live_cscs_: 16
unsigned lvl1num_: 24
unsigned ncsc_: 4
unsigned output_path_: 16
unsigned s_link_status_: 4
unsigned source_id_: 12
unsigned tts_status_: 4

Friends

class CSCDDUEventData

Detailed Description

Definition at line 10 of file CSCDDUHeader.h.


Constructor & Destructor Documentation

CSCDDUHeader::CSCDDUHeader ( )

Definition at line 5 of file CSCDDUHeader.cc.

References init(), and sizeInWords().

{
  bzero(this, sizeInWords()*2);
  init();
}
CSCDDUHeader::CSCDDUHeader ( unsigned  bx,
unsigned  l1num,
unsigned  sourceId 
)

Definition at line 12 of file CSCDDUHeader.cc.

References bxnum_, init(), lvl1num_, sizeInWords(), and source_id_.

  : source_id_(sourceId), bxnum_(bx), lvl1num_(l1num)
{
  bzero(this, sizeInWords()*2);
  source_id_ = sourceId;
  bxnum_ = bx;
  lvl1num_ = l1num;
  init();
}
CSCDDUHeader::CSCDDUHeader ( const CSCDDUStatusDigi digi) [inline]

Definition at line 15 of file CSCDDUHeader.h.

References CSCDDUStatusDigi::header(), and sizeInWords().

    {
      memcpy(this, digi.header(), sizeInWords()*2);
    }

Member Function Documentation

int CSCDDUHeader::bxnum ( ) const [inline]

Definition at line 22 of file CSCDDUHeader.h.

References bxnum_.

Referenced by CSCDDUEventData::add(), and cscdqm::EventProcessor::processDDU().

{ return bxnum_;}
bool CSCDDUHeader::check ( ) const

Definition at line 48 of file CSCDDUHeader.cc.

References bit64_, header2_1_, header2_2_, and header2_3_.

Referenced by CSCDDUEventData::check(), and CSCDDUDataItr::CSCDDUDataItr().

{
  //std::cout <<"SANDRIK"<<std::hex <<header2_1_<<" "<<header2_2_ <<" "<<header2_3_<<std::endl;
  return bit64_ == 5 && header2_1_ == 0x8000 && header2_3_ == 0x8000
  && header2_2_ == 0x0001;
}
unsigned short* CSCDDUHeader::data ( ) [inline]

Definition at line 31 of file CSCDDUHeader.h.

Referenced by CSCDDUEventData::pack().

{return (unsigned short *) this;}
int CSCDDUHeader::dmb_dav ( ) const [inline]

Definition at line 26 of file CSCDDUHeader.h.

References dmb_dav_.

Referenced by cscdqm::EventProcessor::processDDU().

{ return dmb_dav_;}
int CSCDDUHeader::event_type ( ) const [inline]

Definition at line 24 of file CSCDDUHeader.h.

References event_type_.

{ return event_type_;}
int CSCDDUHeader::format_version ( ) const [inline]

Definition at line 20 of file CSCDDUHeader.h.

References format_version_.

{ return format_version_;}
void CSCDDUHeader::init ( void  ) [private]

initializes constants

Definition at line 23 of file CSCDDUHeader.cc.

References bit64_, header2_1_, header2_2_, and header2_3_.

Referenced by CSCDDUHeader().

{
  bit64_ = 5;
  header2_2_ = 0x0001;
  header2_1_ = header2_3_ = 0x8000;
}
int CSCDDUHeader::live_cscs ( ) const [inline]

Definition at line 28 of file CSCDDUHeader.h.

References live_cscs_.

Referenced by cscdqm::EventProcessor::processDDU().

{return live_cscs_;}
int CSCDDUHeader::lvl1num ( ) const [inline]

Definition at line 23 of file CSCDDUHeader.h.

References lvl1num_.

Referenced by CSCDDUEventData::add(), and cscdqm::EventProcessor::processDDU().

{ return lvl1num_;}
int CSCDDUHeader::ncsc ( ) const [inline]

Definition at line 25 of file CSCDDUHeader.h.

References ncsc_.

Referenced by cscdqm::EventProcessor::processDDU(), and CSCEventData::unpack_data().

{ return ncsc_;}
int CSCDDUHeader::s_link_status ( ) const [inline]

Definition at line 19 of file CSCDDUHeader.h.

References s_link_status_.

{ return s_link_status_;}
void CSCDDUHeader::setDMBDAV ( int  dduInput)

Definition at line 31 of file CSCDDUHeader.cc.

References dmb_dav_, and ncsc_.

Referenced by CSCDDUEventData::add().

{
  // Set appropriate bit in dmb_dav_

  dmb_dav_ |= (1 << dduInput);  // dduInput is 0-14

  // Count bits set in dmb_dav_... for the trick used see
  // https://en.wikipedia.org/wiki/Hamming_weight or https://graphics.stanford.edu/~seander/bithacks.html

  ncsc_ = 0;
  unsigned short dmbdav = dmb_dav_;
  for( ; dmbdav; ++ncsc_ )
  {
    dmbdav &= dmbdav - 1;
  }
}
void CSCDDUHeader::setSourceId ( unsigned  sourceId) [inline]

Definition at line 30 of file CSCDDUHeader.h.

References source_id_.

{source_id_ = sourceId;}
static unsigned CSCDDUHeader::sizeInWords ( ) [inline, static]

Definition at line 29 of file CSCDDUHeader.h.

Referenced by CSCDDUHeader(), CSCDDUEventData::pack(), and CSCEventData::unpack_data().

{return 12;}
int CSCDDUHeader::source_id ( ) const [inline]

Definition at line 21 of file CSCDDUHeader.h.

References source_id_.

Referenced by cscdqm::EventProcessor::processDDU(), and CSCEventData::unpack_data().

{ return source_id_;}

Friends And Related Function Documentation

friend class CSCDDUEventData [friend]

Definition at line 35 of file CSCDDUHeader.h.


Member Data Documentation

unsigned CSCDDUHeader::bit64_ [private]

should always be 5

Definition at line 48 of file CSCDDUHeader.h.

Referenced by check(), and init().

unsigned CSCDDUHeader::boe_status_ [private]

Definition at line 59 of file CSCDDUHeader.h.

unsigned CSCDDUHeader::bxnum_ [private]

Definition at line 43 of file CSCDDUHeader.h.

Referenced by bxnum(), and CSCDDUHeader().

unsigned CSCDDUHeader::dmb_dav_ [private]

Definition at line 60 of file CSCDDUHeader.h.

Referenced by dmb_dav(), and setDMBDAV().

unsigned CSCDDUHeader::dmb_full_ [private]

should be 8000/0001/8000

Definition at line 51 of file CSCDDUHeader.h.

unsigned CSCDDUHeader::event_type_ [private]

Definition at line 46 of file CSCDDUHeader.h.

Referenced by event_type().

unsigned CSCDDUHeader::format_version_ [private]

Definition at line 41 of file CSCDDUHeader.h.

Referenced by format_version().

unsigned CSCDDUHeader::header2_1_ [private]

Definition at line 52 of file CSCDDUHeader.h.

Referenced by check(), and init().

unsigned CSCDDUHeader::header2_2_ [private]

Definition at line 53 of file CSCDDUHeader.h.

Referenced by check(), and init().

unsigned CSCDDUHeader::header2_3_ [private]

Definition at line 54 of file CSCDDUHeader.h.

Referenced by check(), and init().

unsigned CSCDDUHeader::live_cscs_ [private]

Definition at line 62 of file CSCDDUHeader.h.

Referenced by live_cscs().

unsigned CSCDDUHeader::lvl1num_ [private]

Definition at line 45 of file CSCDDUHeader.h.

Referenced by CSCDDUHeader(), and lvl1num().

unsigned CSCDDUHeader::ncsc_ [private]

Definition at line 57 of file CSCDDUHeader.h.

Referenced by ncsc(), and setDMBDAV().

unsigned CSCDDUHeader::output_path_ [private]

Definition at line 61 of file CSCDDUHeader.h.

unsigned CSCDDUHeader::s_link_status_ [private]

Definition at line 40 of file CSCDDUHeader.h.

Referenced by s_link_status().

unsigned CSCDDUHeader::source_id_ [private]

Definition at line 42 of file CSCDDUHeader.h.

Referenced by CSCDDUHeader(), setSourceId(), and source_id().

unsigned CSCDDUHeader::tts_status_ [private]

Definition at line 58 of file CSCDDUHeader.h.