CMS 3D CMS Logo

RecordBX.h
Go to the documentation of this file.
1 #ifndef DataFormats_RPCDigi_RecordBX_H
2 #define DataFormats_RPCDigi_RecordBX_H
3 
5 
6 namespace rpcrawtodigi {
7  class RecordBX : public DataRecord {
8  private:
9  static const int BX_TYPE_FLAG = 0xD;
10  static const int BX_TYPE_SHIFT = 12;
11  static const int BX_MASK = 0xFFF;
12  static const int BX_SHIFT = 0;
13 
14  public:
15  // empty record
17 
18  // set BX
19  RecordBX(int bx) : DataRecord(0) {
20  theData = (BX_TYPE_FLAG << BX_TYPE_SHIFT);
21  theData |= (bx << BX_SHIFT);
22  }
23 
24  // specialize given recort to this type
25  RecordBX(const DataRecord& rec) : DataRecord(rec) {}
26 
27  ~RecordBX() override {}
28  int bx() const { return ((theData >> BX_SHIFT) & BX_MASK); }
29  std::string print() const;
30  static bool matchType(const DataRecord& record);
31  };
32 } // namespace rpcrawtodigi
33 #endif
JetCorrectorParameters::Record record
Definition: classes.h:7
static bool matchType(const DataRecord &record)
Definition: RecordBX.cc:4
static const int BX_SHIFT
Definition: RecordBX.h:12
static const int BX_TYPE_FLAG
Definition: RecordBX.h:9
static const int BX_MASK
Definition: RecordBX.h:11
std::string print() const
Definition: RecordBX.cc:6
~RecordBX() override
Definition: RecordBX.h:27
static const int BX_TYPE_SHIFT
Definition: RecordBX.h:10
int bx() const
Definition: RecordBX.h:28
RecordBX(const DataRecord &rec)
Definition: RecordBX.h:25