CMS 3D CMS Logo

L1CSCSPStatusDigi.h
Go to the documentation of this file.
1 #ifndef L1CSCSPStatusDigi_h
2 #define L1CSCSPStatusDigi_h
3 
4 #include <cstring>
5 
6 class CSCTFUnpacker;
7 
9 private:
10  unsigned short sp_slot; //
11  unsigned short l1a_bxn; // Take from the SP header
12  unsigned short fmm_status; // Take from the SP header
13 
14  unsigned short se; // Make logical OR of all tbins for each of 15(endcap) SE bits
15  unsigned short sm; // Make logical OR of all tbins for each of 15(endcap) SM bits
16  unsigned long bx; // Make logical OR of all tbins for each of 15(endcap)+2(barrel) BX bits
17  unsigned long af; // Make logical OR of all tbins for each of 15(endcap)+2(barrel) AF bits
18  unsigned long vp; // Make logical OR of all tbins for each of 15(endcap)+2(barrel) VP/VQ bits
19  enum {
20  IDLE = 1,
21  CARRIER = 2,
22  NORMAL = 4,
23  ERROR = 8,
24  FIFO = 16
25  }; // States of optical receivers + Alignment FIFO full OR empty status
26  unsigned short link_status[15]; // Optical receiver status ORed for all tbins
27  unsigned short mpc_link_id; // MPC_id and link# from MEx Data Record ORed for all tbins
28 
29  unsigned long track_cnt;
30  unsigned long orbit_cnt;
31 
32  friend class CSCTFUnpacker;
33 
34 public:
35  unsigned short slot(void) const throw() { return sp_slot; }
36  unsigned short BXN(void) const throw() { return l1a_bxn; }
37  unsigned short FMM(void) const throw() { return fmm_status; }
38  unsigned short SEs(void) const throw() { return se; }
39  unsigned short SMs(void) const throw() { return sm; }
40  unsigned long BXs(void) const throw() { return bx; }
41  unsigned long AFs(void) const throw() { return af; }
42  unsigned long VPs(void) const throw() { return vp; }
43  unsigned short link(int link) const throw() { return link_status[link]; }
44 
45  unsigned long track_counter(void) const throw() { return track_cnt; }
46  unsigned long orbit_counter(void) const throw() { return orbit_cnt; }
47 
48  L1CSCSPStatusDigi(void) { bzero(this, sizeof(L1CSCSPStatusDigi)); }
50 };
51 
52 #endif
unsigned short l1a_bxn
unsigned long orbit_cnt
unsigned long orbit_counter(void) const
unsigned long track_cnt
unsigned long track_counter(void) const
unsigned short FMM(void) const
unsigned short link(int link) const
unsigned short SEs(void) const
unsigned long AFs(void) const
unsigned short sm
unsigned long BXs(void) const
unsigned short sp_slot
unsigned short fmm_status
unsigned short BXN(void) const
unsigned long VPs(void) const
unsigned short se
unsigned short SMs(void) const
unsigned short link_status[15]
unsigned short mpc_link_id
unsigned short slot(void) const