CMS 3D CMS Logo

CSCDMBHeader2013.cc
Go to the documentation of this file.
2 #include <iostream>
3 
4 
6 {
7  bzero(data(), sizeInWords()*2);
8  bits.ddu_code_1 = bits.ddu_code_2 = bits.ddu_code_3 = bits.ddu_code_4 = 0xA;
9  bits.newddu_code_1 = bits.newddu_code_2 = bits.newddu_code_3 = bits.newddu_code_4 = 0x9;
10 }
11 
12 CSCDMBHeader2013::CSCDMBHeader2013(const uint16_t * buf)
13 {
14  memcpy(data(), buf, sizeInWords()*2);
15 }
16 
17 
18 unsigned CSCDMBHeader2013::cfebMovlp() const
19 {
20  return bits.cfeb_movlp;
21 }
22 
23 
25 {
26  return bits.dmb_cfeb_sync;
27 }
28 
30 {
31  return bits.clct_dav_mismatch;
32 }
33 
35 {
36  return bits.fmt_version;
37 }
38 
39 
41 {
42  return bits.cfeb_dav;
43 }
44 
45 
46 unsigned CSCDMBHeader2013::nalct() const
47 {
48  return bits.alct_dav;
49 }
50 
51 unsigned CSCDMBHeader2013::nclct() const
52 {
53  return bits.tmb_dav;
54 }
55 
56 unsigned CSCDMBHeader2013::crateID() const
57 {
58  return bits.dmb_crate;
59 }
60 
61 unsigned CSCDMBHeader2013::dmbID() const
62 {
63  return bits.dmb_id;
64 }
65 
66 unsigned CSCDMBHeader2013::bxn() const
67 {
68  return bits.dmb_bxn;
69 }
70 
71 unsigned CSCDMBHeader2013::bxn12() const
72 {
73  return bits.dmb_bxn1;
74 }
75 
76 unsigned CSCDMBHeader2013::l1a() const
77 {
78  return bits.dmb_l1a;
79 }
80 
81 unsigned CSCDMBHeader2013::l1a24() const
82 {
83  return (bits.dmb_l1a_lowo | (bits.dmb_l1a_hiwo << 12)) ;
84 }
85 
87 {
88  bits.dmb_l1a = l1a & 0x1F;
89 }
90 
92 {
93  bits.dmb_l1a_lowo = l1a & 0xFFF;
94  bits.dmb_l1a_hiwo = (l1a>>12) & 0xFFF;
95 }
96 
97 
99 {
100  bits.dmb_bxn1 = bxn & 0xFFF;
101  bits.dmb_bxn = bxn & 0x1F;
102 }
103 
104 
105 void CSCDMBHeader2013::setCrateAddress(int crate, int dmbId)
106 {
107  this->bits.dmb_crate = crate;
108  this->bits.dmb_id = dmbId;
109 }
110 
112 {
113  return 8;
114 }
115 
118 {
119  assert (icfeb < 7);
120  return (cfebAvailable() >> icfeb) & 1;
121 }
122 
124 {
125  assert(icfeb < 7);
126  bits.cfeb_dav |= (1 << icfeb);
127  bits.cfeb_clct_sent |= (1 << icfeb);
128 }
129 
131 {
132  bits.tmb_dav = bits.tmb_dav_copy = bits.tmb_dav_copy2 = 1;
133 }
134 
136 {
137  bits.alct_dav = bits.alct_dav_copy = bits.alct_dav_copy2 = 1;
138 }
139 
140 
142 {
143  return (bits.ddu_code_1==0xA && bits.ddu_code_2==0xA &&
144  bits.ddu_code_3==0xA && bits.ddu_code_4==0xA &&
145  bits.newddu_code_1==0x9 && bits.newddu_code_2==0x9 &&
146  bits.newddu_code_3==0x9 && bits.newddu_code_4==0x9);
147 }
148 
struct CSCDMBHeader2013::@424 bits
unsigned dmbID() const override
unsigned cfebAvailable() const override
unsigned sizeInWords() const override
unsigned cfebMovlp() const override
bool check() const override
void setL1A(int l1a) override
unsigned format_version() const override
void addNALCT() override
unsigned l1a() const override
void setL1A24(int l1a) override
unsigned activeDavMismatch() const override
void addCFEB(int icfeb) override
unsigned nclct() const override
unsigned dmbCfebSync() const override
unsigned bxn() const override
unsigned nalct() const override
unsigned l1a24() const override
unsigned short * data() override
unsigned bxn12() const override
void setBXN(int bxn) override
void addNCLCT() override
unsigned crateID() const override
void setCrateAddress(int crate, int dmbId) override