CMS 3D CMS Logo

CSCVTMBHeaderFormat.h
Go to the documentation of this file.
1 #ifndef EventFilter_CSCRawToDigi_CSCVTMBHeaderFormat_h
2 #define EventFilter_CSCRawToDigi_CSCVTMBHeaderFormat_h
3 
10 #include <vector>
11 #include <iosfwd>
12 #include <strings.h>
13 class CSCDMBHeader;
14 
16 public:
17  virtual ~CSCVTMBHeaderFormat() {}
18 
19  virtual void setEventInformation(const CSCDMBHeader&) = 0;
20  virtual uint16_t BXNCount() const = 0;
21  virtual uint16_t ALCTMatchTime() const = 0;
22  virtual uint16_t CLCTOnly() const = 0;
23  virtual uint16_t ALCTOnly() const = 0;
24  virtual uint16_t TMBMatch() const = 0;
25  virtual uint16_t Bxn0Diff() const = 0;
26  virtual uint16_t Bxn1Diff() const = 0;
27  virtual uint16_t L1ANumber() const = 0;
28  virtual uint16_t syncError() const = 0;
29  virtual uint16_t syncErrorCLCT() const = 0;
30  virtual uint16_t syncErrorMPC0() const = 0;
31  virtual uint16_t syncErrorMPC1() const = 0;
32 
34  virtual uint16_t clct0_ComparatorCode() const = 0;
35  virtual uint16_t clct1_ComparatorCode() const = 0;
36  virtual uint16_t clct0_xky() const = 0;
37  virtual uint16_t clct1_xky() const = 0;
38  virtual uint16_t hmt_nhits() const = 0;
39  virtual uint16_t hmt_ALCTMatchTime() const = 0;
40  virtual uint16_t alctHMT() const = 0;
41  virtual uint16_t clctHMT() const = 0;
42  virtual uint16_t gem_enabled_fibers() const = 0;
43  virtual uint16_t gem_fifo_tbins() const = 0;
44  virtual uint16_t gem_fifo_pretrig() const = 0;
45  virtual uint16_t gem_zero_suppress() const = 0;
46  virtual uint16_t gem_sync_dataword() const = 0;
47  virtual uint16_t gem_timing_dataword() const = 0;
48  virtual uint16_t run3_CLCT_patternID() const = 0;
49 
50  uint16_t sizeInBytes() const { return sizeInWords() * 2; }
51  virtual uint16_t NTBins() const = 0;
52  virtual uint16_t NCFEBs() const = 0;
53  virtual void setNCFEBs(uint16_t ncfebs) = 0;
54  virtual uint16_t firmwareRevision() const = 0;
56  virtual std::vector<CSCCLCTDigi> CLCTDigis(uint32_t idlayer) = 0;
58  virtual std::vector<CSCCorrelatedLCTDigi> CorrelatedLCTDigis(uint32_t idlayer) const = 0;
60  virtual CSCShowerDigi showerDigi(uint32_t idlayer) const = 0;
62  virtual CSCShowerDigi anodeShowerDigi(uint32_t idlayer) const = 0;
64  virtual CSCShowerDigi cathodeShowerDigi(uint32_t idlayer) const = 0;
65 
68  virtual unsigned short int sizeInWords() const = 0;
69 
70  virtual unsigned short int NHeaderFrames() const = 0;
71  virtual unsigned short* data() = 0;
72  virtual bool check() const = 0;
73 
75  virtual void addCLCT0(const CSCCLCTDigi& digi) = 0;
76  virtual void addCLCT1(const CSCCLCTDigi& digi) = 0;
77  virtual void addALCT0(const CSCALCTDigi& digi) = 0;
78  virtual void addALCT1(const CSCALCTDigi& digi) = 0;
79  virtual void addCorrelatedLCT0(const CSCCorrelatedLCTDigi& digi) = 0;
80  virtual void addCorrelatedLCT1(const CSCCorrelatedLCTDigi& digi) = 0;
81  virtual void addShower(const CSCShowerDigi& digi) = 0;
82  virtual void addAnodeShower(const CSCShowerDigi& digi) = 0;
83  virtual void addCathodeShower(const CSCShowerDigi& digi) = 0;
84 
85  virtual void print(std::ostream& os) const = 0;
86 
87 protected:
88  void swapCLCTs(CSCCLCTDigi& digi1, CSCCLCTDigi& digi2);
89 };
90 
91 #endif
virtual void addCorrelatedLCT0(const CSCCorrelatedLCTDigi &digi)=0
virtual CSCShowerDigi cathodeShowerDigi(uint32_t idlayer) const =0
returns Run3 cathode HMT Shower digi
virtual uint16_t gem_timing_dataword() const =0
virtual uint16_t gem_fifo_pretrig() const =0
virtual uint16_t gem_enabled_fibers() const =0
virtual unsigned short * data()=0
virtual uint16_t NCFEBs() const =0
virtual uint16_t CLCTOnly() const =0
virtual uint16_t hmt_ALCTMatchTime() const =0
virtual uint16_t TMBMatch() const =0
virtual void addCorrelatedLCT1(const CSCCorrelatedLCTDigi &digi)=0
virtual uint16_t ALCTMatchTime() const =0
virtual uint16_t gem_sync_dataword() const =0
virtual uint16_t run3_CLCT_patternID() const =0
virtual uint16_t syncErrorCLCT() const =0
virtual void addALCT1(const CSCALCTDigi &digi)=0
virtual CSCShowerDigi anodeShowerDigi(uint32_t idlayer) const =0
returns Run3 anode HMT Shower digi
virtual uint16_t clct0_xky() const =0
virtual uint16_t firmwareRevision() const =0
virtual void print(std::ostream &os) const =0
virtual void addCLCT0(const CSCCLCTDigi &digi)=0
for data packing
virtual uint16_t alctHMT() const =0
virtual unsigned short int NHeaderFrames() const =0
virtual void addALCT0(const CSCALCTDigi &digi)=0
virtual std::vector< CSCCorrelatedLCTDigi > CorrelatedLCTDigis(uint32_t idlayer) const =0
returns CorrelatedLCT digis
virtual uint16_t Bxn0Diff() const =0
virtual void addCathodeShower(const CSCShowerDigi &digi)=0
virtual void setEventInformation(const CSCDMBHeader &)=0
virtual uint16_t hmt_nhits() const =0
virtual uint16_t ALCTOnly() const =0
virtual uint16_t Bxn1Diff() const =0
virtual void addCLCT1(const CSCCLCTDigi &digi)=0
virtual void setNCFEBs(uint16_t ncfebs)=0
virtual uint16_t syncErrorMPC0() const =0
virtual std::vector< CSCCLCTDigi > CLCTDigis(uint32_t idlayer)=0
returns CLCT digis
virtual void addShower(const CSCShowerDigi &digi)=0
virtual void addAnodeShower(const CSCShowerDigi &digi)=0
virtual uint16_t gem_fifo_tbins() const =0
virtual unsigned short int sizeInWords() const =0
uint16_t sizeInBytes() const
virtual uint16_t BXNCount() const =0
virtual uint16_t syncError() const =0
void swapCLCTs(CSCCLCTDigi &digi1, CSCCLCTDigi &digi2)
virtual uint16_t gem_zero_suppress() const =0
virtual uint16_t clctHMT() const =0
virtual uint16_t NTBins() const =0
virtual CSCShowerDigi showerDigi(uint32_t idlayer) const =0
returns Run3 lct HMT Shower digi
virtual uint16_t clct1_xky() const =0
virtual uint16_t L1ANumber() const =0
virtual uint16_t clct0_ComparatorCode() const =0
== Run 3 CSC-GEM Trigger Format
virtual bool check() const =0
virtual uint16_t clct1_ComparatorCode() const =0
virtual uint16_t syncErrorMPC1() const =0