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 {IDLE=1, CARRIER=2, NORMAL=4, ERROR=8, FIFO=16}; // States of optical receivers + Alignment FIFO full OR empty status
20  unsigned short link_status[15]; // Optical receiver status ORed for all tbins
21  unsigned short mpc_link_id; // MPC_id and link# from MEx Data Record ORed for all tbins
22 
23  unsigned long track_cnt;
24  unsigned long orbit_cnt;
25 
26  friend class CSCTFUnpacker;
27 
28 public:
29 
30  unsigned short slot(void) const throw() { return sp_slot; }
31  unsigned short BXN (void) const throw() { return l1a_bxn; }
32  unsigned short FMM (void) const throw() { return fmm_status; }
33  unsigned short SEs (void) const throw() { return se; }
34  unsigned short SMs (void) const throw() { return sm; }
35  unsigned long BXs (void) const throw() { return bx; }
36  unsigned long AFs (void) const throw() { return af; }
37  unsigned long VPs (void) const throw() { return vp; }
38  unsigned short link(int link) const throw() { return link_status[link]; }
39 
40  unsigned long track_counter(void) const throw() { return track_cnt; }
41  unsigned long orbit_counter(void) const throw() { return orbit_cnt; }
42 
43  L1CSCSPStatusDigi(void){ bzero(this,sizeof(L1CSCSPStatusDigi)); }
45 };
46 
47 #endif
unsigned long BXs(void) const
unsigned short l1a_bxn
unsigned long orbit_cnt
unsigned long AFs(void) const
unsigned short FMM(void) const
unsigned long track_cnt
unsigned short BXN(void) const
unsigned short link(int link) const
unsigned short SMs(void) const
unsigned short SEs(void) const
unsigned short sm
unsigned short sp_slot
unsigned short fmm_status
unsigned short slot(void) const
unsigned long track_counter(void) const
unsigned short se
unsigned long VPs(void) const
unsigned short link_status[15]
unsigned long orbit_counter(void) const
unsigned short mpc_link_id