CMS 3D CMS Logo

CSCTFTBSPHeader Class Reference

#include <EventFilter/CSCTFRawToDigi/old/CSCTFTBSPHeader.h>

List of all members.

Public Member Functions

bool check () const
 simple data integrity check
 CSCTFTBSPHeader (const CSCTFTBSPHeader &)
 CSCTFTBSPHeader ()
unsigned int getSEBit (unsigned int frontFPGA, unsigned int link) const
 Synch Error for given link.
unsigned int getTrackMode (unsigned int trk) const
 Track Mode (i.e. quality) for given track.
unsigned int getVPDTBit (unsigned int link) const
 Valid Pattern for given DT link.
CSCTFTBSPHeader operator= (const CSCTFTBSPHeader &)
unsigned int synchError () const
 Synch Error word (15 links/bits).
 ~CSCTFTBSPHeader ()

Static Public Member Functions

static unsigned size ()
 size of data bank in 16-bit words

Private Attributes

unsigned MB1A_flag_:1
unsigned MB1D_flag_:1
unsigned mode1_:4
unsigned mode2_:4
unsigned mode3_:4
unsigned synch_err_:15
unsigned zero1_:1
unsigned zero2_:2

Static Private Attributes

static const unsigned size_ = 2

Friends

std::ostream & operator<< (std::ostream &stream, const CSCTFTBSPHeader &)
 pretty-print


Detailed Description

Definition at line 83 of file CSCTFTBSPHeader.h.


Constructor & Destructor Documentation

CSCTFTBSPHeader::CSCTFTBSPHeader (  ) 

Definition at line 101 of file CSCTFTBSPHeader.cc.

00102 {}

CSCTFTBSPHeader::CSCTFTBSPHeader ( const CSCTFTBSPHeader parent  ) 

Definition at line 104 of file CSCTFTBSPHeader.cc.

References size().

00105 {
00106   memcpy(this,&parent,size()*sizeof(unsigned short));
00107 }

CSCTFTBSPHeader::~CSCTFTBSPHeader (  ) 

Definition at line 109 of file CSCTFTBSPHeader.cc.

00110 {
00111 }


Member Function Documentation

bool CSCTFTBSPHeader::check (  )  const [inline]

simple data integrity check

Definition at line 105 of file CSCTFTBSPHeader.h.

References zero1_, and zero2_.

00105 {return ((zero1_ == 0) && (zero2_ == 0));}

unsigned int CSCTFTBSPHeader::getSEBit ( unsigned int  frontFPGA,
unsigned int  link 
) const

Synch Error for given link.

Definition at line 122 of file CSCTFTBSPHeader.cc.

References synch_err_.

00124 {
00125   frontFPGA =  (frontFPGA >5 || frontFPGA < 1) ? 1 : frontFPGA;
00126   link =  (link >3 || link < 1) ? 1 : link;
00127   unsigned shift = ( (frontFPGA-1)*3 + (link-1) );
00128   return (synch_err_ & (1<<shift)) >> shift;
00129 }

unsigned int CSCTFTBSPHeader::getTrackMode ( unsigned int  trk  )  const

Track Mode (i.e. quality) for given track.

Definition at line 132 of file CSCTFTBSPHeader.cc.

References mode1_, mode2_, and mode3_.

Referenced by operator<<(), and CSCTFTBSPBlock::unpackData().

00133 {
00134   switch(trk)
00135     {
00136     case 1:
00137       return mode1_;
00138       break;
00139     case 2:
00140       return mode2_;
00141       break;
00142     case 3:
00143       return mode3_;
00144       break;
00145     default:
00146       return mode1_;
00147       break;
00148     }
00149 }

unsigned int CSCTFTBSPHeader::getVPDTBit ( unsigned int  link  )  const

Valid Pattern for given DT link.

Valid Pattern for given link.

Definition at line 152 of file CSCTFTBSPHeader.cc.

References MB1A_flag_, and MB1D_flag_.

Referenced by operator<<(), and CSCTFTBSPBlock::unpackData().

00153 {
00154   switch(link)
00155     {
00156     case 1:
00157       return MB1A_flag_;
00158       break;
00159     case 2:
00160       return MB1D_flag_;
00161       break;
00162     default:
00163       return MB1A_flag_;
00164       break;
00165     }
00166 }

CSCTFTBSPHeader CSCTFTBSPHeader::operator= ( const CSCTFTBSPHeader parent  ) 

Definition at line 113 of file CSCTFTBSPHeader.cc.

References size().

00114 {
00115   memcpy(this,&parent,size()*sizeof(unsigned short));
00116   return *this;
00117 }

static unsigned CSCTFTBSPHeader::size ( void   )  [inline, static]

size of data bank in 16-bit words

Definition at line 108 of file CSCTFTBSPHeader.h.

References size_.

Referenced by CSCTFTBSPHeader(), operator=(), and CSCTFTBSPBlock::unpackData().

00108 {return size_;};

unsigned int CSCTFTBSPHeader::synchError (  )  const [inline]

Synch Error word (15 links/bits).

Definition at line 111 of file CSCTFTBSPHeader.h.

References synch_err_.

Referenced by operator<<().

00111 {return  synch_err_;}


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  stream,
const CSCTFTBSPHeader bx 
) [friend]

pretty-print

Definition at line 169 of file CSCTFTBSPHeader.cc.

00170 {
00171   if(bx.synchError()||bx.getTrackMode(1)||bx.getTrackMode(2)
00172      ||bx.getTrackMode(3)||bx.getVPDTBit(1) || bx.getVPDTBit(2))
00173     {
00174       stream <<"\tSP Header Data:"<< std::endl;
00175       stream <<"\t Synch Error Bits   : "<< std::hex << bx.synchError()<< std::dec <<std::endl;
00176       if(bx.getTrackMode(1)||bx.getTrackMode(2)||bx.getTrackMode(3))
00177         {
00178           stream <<"\t Track Modes:\n";
00179           if(bx.getTrackMode(1)) stream<<"\t\tTrack 1: "<< bx.getTrackMode(1)<< "\n";
00180           if(bx.getTrackMode(2)) stream<<"\t\tTrack 2: "<< bx.getTrackMode(2)<< "\n";
00181           if(bx.getTrackMode(3)) stream<<"\t\tTrack 3: "<< bx.getTrackMode(3)<< "\n";
00182         }
00183       if(bx.getVPDTBit(1) || bx.getVPDTBit(2))
00184         {
00185           stream <<"\t DT Valid Patterns:\n";
00186           if(bx.getVPDTBit(1)) stream <<"\t\tValid DT pattern in link 1!\n";
00187           if(bx.getVPDTBit(2)) stream <<"\t\tValid DT pattern in link 2!\n";
00188         }
00189     }
00190   return stream;
00191 }


Member Data Documentation

unsigned CSCTFTBSPHeader::MB1A_flag_ [private]

Definition at line 141 of file CSCTFTBSPHeader.h.

Referenced by getVPDTBit().

unsigned CSCTFTBSPHeader::MB1D_flag_ [private]

Definition at line 142 of file CSCTFTBSPHeader.h.

Referenced by getVPDTBit().

unsigned CSCTFTBSPHeader::mode1_ [private]

Definition at line 138 of file CSCTFTBSPHeader.h.

Referenced by getTrackMode().

unsigned CSCTFTBSPHeader::mode2_ [private]

Definition at line 139 of file CSCTFTBSPHeader.h.

Referenced by getTrackMode().

unsigned CSCTFTBSPHeader::mode3_ [private]

Definition at line 140 of file CSCTFTBSPHeader.h.

Referenced by getTrackMode().

const unsigned CSCTFTBSPHeader::size_ = 2 [static, private]

Definition at line 156 of file CSCTFTBSPHeader.h.

Referenced by size().

unsigned CSCTFTBSPHeader::synch_err_ [private]

Definition at line 135 of file CSCTFTBSPHeader.h.

Referenced by getSEBit(), and synchError().

unsigned CSCTFTBSPHeader::zero1_ [private]

Definition at line 136 of file CSCTFTBSPHeader.h.

Referenced by check().

unsigned CSCTFTBSPHeader::zero2_ [private]

Definition at line 143 of file CSCTFTBSPHeader.h.

Referenced by check().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:17:30 2009 for CMSSW by  doxygen 1.5.4