CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CSCALCTHeader2006.h
Go to the documentation of this file.
1 #ifndef CSCRawToDigi_CSCALCTHeader2006_h
2 #define CSCRawToDigi_CSCALCTHeader2006_h
3 
4 #include <vector>
5 #include <strings.h>
7 class CSCDMBHeader;
8 
12  init();
13  }
14 
15  explicit CSCALCTHeader2006(int chamberType);
16 
17  void init() {
18  bzero(this, sizeInWords()*2);
19  }
20 
21  short unsigned int sizeInWords() const {
22  return 4;
23  }
24 
25  unsigned short int BXNCount() const { return bxnCount;}
26 
27  unsigned short nLCTChipRead() const;
28 
29  void setEventInformation(const CSCDMBHeader &);
30 
31  void setDAV(int afebBoard) {activeFEBs |= 1 << afebBoard;}
32 
34  unsigned l1Acc : 4;
36  unsigned cscID : 4;
38  unsigned boardID : 3;
40  unsigned flag_0 : 5;
41 
43  unsigned fifoMode : 2;
45  unsigned nTBins : 5;
47  unsigned l1aMatch : 1;
49  unsigned extTrig : 1;
51  unsigned promote1 : 1;
53  unsigned promote2 : 1;
55  unsigned reserved_1 : 3;
57  unsigned flag_1 : 2;
58 
60  unsigned bxnCount : 12;
62  unsigned reserved_2 : 2;
64  unsigned flag_2 : 2;
65 
67  unsigned lctChipRead : 7;
69  unsigned activeFEBs : 7;
71  unsigned flag_3 : 2;
72 
73 };
74 
75 
76 struct CSCALCTs2006 {
78  bzero(this, 8);
79  }
80 
81  short unsigned int sizeInWords() const {
82  return 4;
83  }
84 
85  std::vector<CSCALCTDigi> ALCTDigis() const;
86 
88  void add(const std::vector<CSCALCTDigi> & digis);
89  void addALCT0(const CSCALCTDigi & digi);
90  void addALCT1(const CSCALCTDigi & digi);
91 
94  unsigned alct0_valid : 1;
95  unsigned alct0_quality : 2;
96  unsigned alct0_accel : 1;
97  unsigned alct0_pattern : 1;
98  unsigned alct0_key_wire: 7;
99  unsigned alct0_bxn_low : 3;
101  unsigned flag_4 : 1;
102 
103  unsigned alct0_bxn_high :2;
104  unsigned alct0_reserved :13;
106  unsigned flag_5 : 1;
107 
109  unsigned alct1_valid : 1;
110  unsigned alct1_quality : 2;
111  unsigned alct1_accel : 1;
112  unsigned alct1_pattern : 1;
113  unsigned alct1_key_wire: 7;
114  unsigned alct1_bxn_low : 3;
115  unsigned flag_6 : 1;
116 
117  unsigned alct1_bxn_high :2;
118  unsigned alct1_reserved :13;
119  unsigned flag_7 : 1;
120 };
121 
122 
123 
124 
125 
126 #endif
unsigned flag_3
DDU+LCT special word flags.
unsigned alct0_pattern
unsigned bxnCount
full bunch crossing number
unsigned fifoMode
see the FIFO_MODE enum
unsigned alct0_reserved
unsigned promote1
promotion bit for 1st LCT pattern
unsigned reserved_2
reserved, set to 0
unsigned alct0_valid
short unsigned int sizeInWords() const
unsigned alct1_pattern
short unsigned int sizeInWords() const
unsigned alct1_key_wire
void addALCT0(const CSCALCTDigi &digi)
void setEventInformation(const CSCDMBHeader &)
unsigned extTrig
trigger source was external
unsigned alct1_bxn_high
unsigned short int BXNCount() const
unsigned alct1_accel
unsigned alct1_valid
2nd LCT lower 15 bits
unsigned alct1_reserved
unsigned flag_1
DDU+LCT special word flags.
void addALCT1(const CSCALCTDigi &digi)
ALCT Header consists of several modular units that are defined as structs below.
unsigned nTBins
of 25 ns time bins in the raw dump
unsigned alct0_key_wire
unsigned reserved_1
reserved, set to 0
unsigned flag_5
DDU+LCT special word flags.
unsigned alct0_bxn_high
std::vector< CSCALCTDigi > ALCTDigis() const
unsigned flag_4
DDU+LCT special word flags.
unsigned alct0_quality
void add(const std::vector< CSCALCTDigi > &digis)
should try to sort, but doesn&#39;t for now
unsigned l1Acc
l1 accept counter
unsigned promote2
promotion bit for 2nd LCT pattern
unsigned boardID
ALCT2000 board ID.
unsigned alct1_quality
unsigned lctChipRead
LCT chips read out in raw hit dump.
unsigned activeFEBs
LCT chips with ADB hits.
unsigned alct0_accel
unsigned flag_2
DDU+LCT special word flags.
unsigned cscID
chamber ID number
void setDAV(int afebBoard)
for packing
unsigned alct1_bxn_low
unsigned l1aMatch
exteran L1A arrived in L1A window
unsigned alct0_bxn_low
unsigned flag_0
should be &#39;01100&#39;, so it&#39;ll be a 6xxx in the ASCII dump
unsigned short nLCTChipRead() const
CSCALCTHeader2006()
this struct contains all 2006 ALCT Header words except ALCTs