CMS 3D CMS Logo

Public Member Functions | Private Attributes | Friends

CSCBadCFEBWord Class Reference

#include <CSCBadCFEBWord.h>

List of all members.

Public Member Functions

bool check () const
 make sure it really does start with a "B"
unsigned data () const
bool isBad () const

Private Attributes

unsigned short b_:4
unsigned short code_:3
unsigned short word1_:4
unsigned short word2_:4
unsigned short zero_:1

Friends

std::ostream & operator<< (std::ostream &os, const CSCBadCFEBWord &)

Detailed Description

When a time slice is bad, it only has four words, and they all start with "B"

Definition at line 9 of file CSCBadCFEBWord.h.


Member Function Documentation

bool CSCBadCFEBWord::check ( ) const [inline]

make sure it really does start with a "B"

Definition at line 12 of file CSCBadCFEBWord.h.

References b_.

Referenced by CSCBadCFEBTimeSlice::check(), and operator<<().

{return b_==0xb;}
unsigned CSCBadCFEBWord::data ( ) const [inline]

Definition at line 15 of file CSCBadCFEBWord.h.

References b_, code_, word1_, and word2_.

Referenced by CSCCFEBData::CSCCFEBData().

{return (word1_ + (word2_<<4) + (code_<<9) + (b_<<12) );}
bool CSCBadCFEBWord::isBad ( ) const [inline]

Definition at line 13 of file CSCBadCFEBWord.h.

{return true;}

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const CSCBadCFEBWord word 
) [friend]

Definition at line 4 of file CSCBadCFEBWord.cc.

{
  if(!word.check()) os << "Even the Bad CFEB word is bad!  Sheesh!" << std::endl;
  else 
    {
      switch(word.code_)
        {
        case 1:
          os << "CFEB: SCA Capacitors Full  block " << word.word2_ 
             << " FIFO1 count (4-bit) " << word.word1_ << std::endl;
          break;
        case 2:
          os << "CFEB: FPGA FIFO Full  FIFO3 count (4-bit) " << word.word2_ 
             << " FIFO1 count (4-bit) " << word.word1_ << std::endl;
          break;
        case 5:
          os << "CFEB: DMB FIFO Full " << std::endl;
          break;
        case 6:
          os << "CFEB: DMB FPGA FIFO Full GFIFO count (4-bit)" << word.word2_ 
             << " LFIFO count (4-bit) " << word.word1_ << std::endl;
          break;
        default:
          os << "Undefined CFEB error" << std::endl;
          break;
        }
    }
  return os;
}

Member Data Documentation

unsigned short CSCBadCFEBWord::b_ [private]

Definition at line 21 of file CSCBadCFEBWord.h.

Referenced by check(), and data().

unsigned short CSCBadCFEBWord::code_ [private]

Definition at line 20 of file CSCBadCFEBWord.h.

Referenced by data(), and operator<<().

unsigned short CSCBadCFEBWord::word1_ [private]

Definition at line 17 of file CSCBadCFEBWord.h.

Referenced by data(), and operator<<().

unsigned short CSCBadCFEBWord::word2_ [private]

Definition at line 18 of file CSCBadCFEBWord.h.

Referenced by data(), and operator<<().

unsigned short CSCBadCFEBWord::zero_ [private]

Definition at line 19 of file CSCBadCFEBWord.h.