CMS 3D CMS Logo

RecordSLD.h
Go to the documentation of this file.
1 #ifndef DataFormats_RPCDigi_RecordSLD_H
2 #define DataFormats_RPCDigi_RecordSLD_H
3 
5 
6 namespace rpcrawtodigi {
7  class RecordSLD : public DataRecord {
8  private:
9  static const int SLD_TYPE_FLAG = 0x1F;
10  static const int SLD_TYPE_SHIFT = 11;
11  static const int TB_LINK_INPUT_NUMBER_MASK = 0x1F;
12  static const int TB_LINK_INPUT_NUMBER_SHIFT = 0;
13  static const int TB_RMB_MASK = 0X3F;
14  static const int TB_RMB_SHIFT = 5;
15 
16  public:
17  // empty record
19 
20  // set TB
22  theData = SLD_TYPE_FLAG << SLD_TYPE_SHIFT;
23  theData |= (tbLinkInputNumber << TB_LINK_INPUT_NUMBER_SHIFT);
24  theData |= (rmb << TB_RMB_SHIFT);
25  }
26 
27  // specialize given recort to this type
28  RecordSLD(const DataRecord& rec) : DataRecord(rec) {}
29 
30  ~RecordSLD() override {}
31 
32  int tbLinkInputNumber() const { return (theData >> TB_LINK_INPUT_NUMBER_SHIFT) & TB_LINK_INPUT_NUMBER_MASK; }
33 
34  int rmb() const { return (theData >> TB_RMB_SHIFT) & TB_RMB_MASK; }
35 
36  static bool matchType(const DataRecord& record) { return (SLD_TYPE_FLAG == (record.data() >> SLD_TYPE_SHIFT)); }
37  std::string print() const;
38  };
39 } // namespace rpcrawtodigi
40 #endif
static bool matchType(const DataRecord &record)
Definition: RecordSLD.h:36
static const int TB_LINK_INPUT_NUMBER_MASK
Definition: RecordSLD.h:11
JetCorrectorParameters::Record record
Definition: classes.h:7
static const int TB_RMB_MASK
Definition: RecordSLD.h:13
static const int TB_RMB_SHIFT
Definition: RecordSLD.h:14
const Data & data() const
Definition: DataRecord.h:31
int tbLinkInputNumber() const
Definition: RecordSLD.h:32
RecordSLD(const DataRecord &rec)
Definition: RecordSLD.h:28
~RecordSLD() override
Definition: RecordSLD.h:30
std::string print() const
Definition: RecordSLD.cc:4
static const int SLD_TYPE_SHIFT
Definition: RecordSLD.h:10
int rmb() const
Definition: RecordSLD.h:34
static const int TB_LINK_INPUT_NUMBER_SHIFT
Definition: RecordSLD.h:12
RecordSLD(int tbLinkInputNumber, int rmb)
Definition: RecordSLD.h:21
static const int SLD_TYPE_FLAG
Definition: RecordSLD.h:9