CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DataRecord.h
Go to the documentation of this file.
1 #ifndef DataFormats_RPCDigi_DataRecord_H
2 #define DataFormats_RPCDigi_DataRecord_H
3 
4 #include <boost/cstdint.hpp>
5 #include <string>
6 #include <bitset>
7 #include <sstream>
8 
9 namespace rpcrawtodigi {
10 class DataRecord {
11 public:
12  typedef uint16_t Data;
14  None = 0,
18  Empty = 4,
19  RDDM = 5,
20  SDDM = 6,
21  RCDM = 7,
22  RDM = 8,
24  };
25 
26 public:
27 
28  explicit DataRecord(const Data& data = None) : theData(data) {}
29 
30  virtual ~DataRecord() {}
31 
32  const Data & data() const { return theData; }
33 
34  DataRecordType type() const;
35 
36  static std::string name(const DataRecordType& code);
37 
38  std::string print() const {
39  std::ostringstream str;
40  str << std::bitset<16>(theData);
41  return str.str();
42  }
43 
44  static std::string print(const DataRecord & record);
45 
46 protected:
48 
49 };
50 }
51 #endif
JetCorrectorParameters::Record record
Definition: classes.h:11
DataRecord(const Data &data=None)
Definition: DataRecord.h:28
static std::string name(const DataRecordType &code)
Definition: DataRecord.cc:44
const Data & data() const
Definition: DataRecord.h:32
std::string print() const
Definition: DataRecord.h:38
DataRecordType type() const
Definition: DataRecord.cc:13