![]() |
![]() |
#include <EventFilter/CSCTFRawToDigi/old/CSCTFTBSPHeader.h>
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 |
Definition at line 83 of file CSCTFTBSPHeader.h.
CSCTFTBSPHeader::CSCTFTBSPHeader | ( | ) |
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 | ( | ) |
bool CSCTFTBSPHeader::check | ( | ) | const [inline] |
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 }
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 }
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_;}
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 }
unsigned CSCTFTBSPHeader::MB1A_flag_ [private] |
unsigned CSCTFTBSPHeader::MB1D_flag_ [private] |
unsigned CSCTFTBSPHeader::mode1_ [private] |
unsigned CSCTFTBSPHeader::mode2_ [private] |
unsigned CSCTFTBSPHeader::mode3_ [private] |
const unsigned CSCTFTBSPHeader::size_ = 2 [static, private] |
unsigned CSCTFTBSPHeader::synch_err_ [private] |
unsigned CSCTFTBSPHeader::zero1_ [private] |
unsigned CSCTFTBSPHeader::zero2_ [private] |