File indexing completed on 2024-04-06 12:05:08
0001 #ifndef DataFormats_RPCDigi_RecordBX_H
0002 #define DataFormats_RPCDigi_RecordBX_H
0003
0004 #include "DataFormats/RPCDigi/interface/DataRecord.h"
0005
0006 namespace rpcrawtodigi {
0007 class RecordBX : public DataRecord {
0008 private:
0009 static const int BX_TYPE_FLAG = 0xD;
0010 static const int BX_TYPE_SHIFT = 12;
0011 static const int BX_MASK = 0xFFF;
0012 static const int BX_SHIFT = 0;
0013
0014 public:
0015
0016 RecordBX() : DataRecord() {}
0017
0018
0019 RecordBX(int bx) : DataRecord(0) {
0020 theData = (BX_TYPE_FLAG << BX_TYPE_SHIFT);
0021 theData |= (bx << BX_SHIFT);
0022 }
0023
0024
0025 RecordBX(const DataRecord& rec) : DataRecord(rec) {}
0026
0027 ~RecordBX() override {}
0028 int bx() const { return ((theData >> BX_SHIFT) & BX_MASK); }
0029 std::string print() const;
0030 static bool matchType(const DataRecord& record);
0031 };
0032 }
0033 #endif