CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes
rpcrawtodigi::DataRecord Class Reference

#include <DataRecord.h>

Inheritance diagram for rpcrawtodigi::DataRecord:
rpcrawtodigi::EmptyWord rpcrawtodigi::ErrorRCDM rpcrawtodigi::ErrorRDDM rpcrawtodigi::ErrorRDM rpcrawtodigi::ErrorSDDM rpcrawtodigi::RecordBX rpcrawtodigi::RecordCD rpcrawtodigi::RecordSLD

Public Types

typedef uint16_t Data
 
enum  DataRecordType {
  None = 0, StartOfBXData = 1, StartOfTbLinkInputNumberData = 2, ChamberData = 3,
  Empty = 4, RDDM = 5, SDDM = 6, RCDM = 7,
  RDM = 8, UndefinedType = 9
}
 

Public Member Functions

const Datadata () const
 
 DataRecord (const Data &data=None)
 
std::string print () const
 
DataRecordType type () const
 
virtual ~DataRecord ()
 

Static Public Member Functions

static std::string name (const DataRecordType &code)
 
static std::string print (const DataRecord &record)
 

Protected Attributes

Data theData
 

Detailed Description

Definition at line 10 of file DataRecord.h.

Member Typedef Documentation

Definition at line 12 of file DataRecord.h.

Member Enumeration Documentation

Enumerator
None 
StartOfBXData 
StartOfTbLinkInputNumberData 
ChamberData 
Empty 
RDDM 
SDDM 
RCDM 
RDM 
UndefinedType 

Definition at line 13 of file DataRecord.h.

Constructor & Destructor Documentation

rpcrawtodigi::DataRecord::DataRecord ( const Data data = None)
inlineexplicit

Definition at line 28 of file DataRecord.h.

28 : theData(data) {}
virtual rpcrawtodigi::DataRecord::~DataRecord ( )
inlinevirtual

Definition at line 30 of file DataRecord.h.

30 {}

Member Function Documentation

const Data& rpcrawtodigi::DataRecord::data ( ) const
inline
std::string DataRecord::name ( const DataRecordType code)
static

Definition at line 44 of file DataRecord.cc.

References ChamberData, Empty, None, RCDM, RDDM, RDM, query::result, SDDM, StartOfBXData, and StartOfTbLinkInputNumberData.

Referenced by RPCRawDataCountsHistoMaker::emptyRecordTypeHisto(), and Vispa.Views.PropertyView.Property::valueChanged().

45 {
46  std::string result;
47  switch (code) {
48  case (None) : { result = "None"; break; }
49  case (StartOfBXData) : { result = "StartOfBXData"; break; }
50  case (StartOfTbLinkInputNumberData) : { result = "StartOfTBLnkData"; break; }
51  case (ChamberData) : { result = "ChamberData"; break; }
52  case (Empty) : { result = "Empty"; break; }
53  case (RDDM) : { result = "RDDM"; break; }
54  case (SDDM) : { result = "SDDM"; break; }
55  case (RCDM) : { result = "RCDM"; break; }
56  case (RDM) : { result = "RDM"; break; }
57  default : { result = "UndefinedType"; }
58  }
59  return result;
60 }
tuple result
Definition: query.py:137
std::string rpcrawtodigi::DataRecord::print ( void  ) const
inline

Definition at line 38 of file DataRecord.h.

References theData.

Referenced by RPCUnpackingModule::produce().

38  {
39  std::ostringstream str;
40  str << std::bitset<16>(theData);
41  return str.str();
42  }
std::string DataRecord::print ( const DataRecord record)
static

Definition at line 28 of file DataRecord.cc.

References rpcrawtodigi::EmptyWord::matchType(), rpcrawtodigi::ErrorRCDM::matchType(), rpcrawtodigi::ErrorSDDM::matchType(), rpcrawtodigi::ErrorRDDM::matchType(), rpcrawtodigi::ErrorRDM::matchType(), rpcrawtodigi::RecordBX::matchType(), rpcrawtodigi::RecordSLD::matchType(), rpcrawtodigi::RecordCD::matchType(), rpcrawtodigi::EmptyWord::print(), rpcrawtodigi::ErrorRDM::print(), rpcrawtodigi::ErrorRDDM::print(), rpcrawtodigi::ErrorRCDM::print(), rpcrawtodigi::ErrorSDDM::print(), rpcrawtodigi::RecordBX::print(), rpcrawtodigi::RecordSLD::print(), and rpcrawtodigi::RecordCD::print().

29 {
30  std::ostringstream str;
31 
32  if (RecordBX::matchType(record)) return RecordBX(record).print();
33  if (RecordSLD::matchType(record)) return RecordSLD(record).print();
34  if (RecordCD::matchType(record)) return RecordCD(record).print();
35  if (EmptyWord::matchType(record)) return EmptyWord().print();
36  if (ErrorRCDM::matchType(record)) return ErrorRCDM(record).print();
37  if (ErrorSDDM::matchType(record)) return ErrorSDDM(record).print();
38  if (ErrorRDDM::matchType(record)) return ErrorRDDM(record).print();
39  if (ErrorRDM::matchType(record)) return ErrorRDM(record).print();
40 
41  return str.str();
42 }
static bool matchType(const DataRecord &record)
Definition: RecordSLD.h:40
static bool matchType(const DataRecord &record)
Definition: RecordBX.cc:4
static bool matchType(const DataRecord &record)
Definition: ErrorRDM.cc:5
static bool matchType(const DataRecord &record)
Definition: RecordCD.h:48
std::string print() const
Definition: EmptyWord.h:14
std::string print() const
Definition: RecordCD.cc:65
std::string print() const
Definition: ErrorRDDM.cc:21
std::string print() const
Definition: RecordBX.cc:10
static bool matchType(const DataRecord &record)
Definition: ErrorRCDM.cc:5
static bool matchType(const DataRecord &record)
Definition: ErrorSDDM.h:15
std::string print() const
Definition: RecordSLD.cc:4
static bool matchType(const DataRecord &record)
Definition: EmptyWord.h:15
std::string print() const
Definition: ErrorRCDM.cc:21
std::string print() const
Definition: ErrorSDDM.h:16
static bool matchType(const DataRecord &record)
Definition: ErrorRDDM.cc:5
std::string print() const
Definition: ErrorRDM.cc:15
DataRecord::DataRecordType DataRecord::type ( ) const

Definition at line 13 of file DataRecord.cc.

References ChamberData, Empty, rpcrawtodigi::EmptyWord::matchType(), rpcrawtodigi::ErrorRDM::matchType(), rpcrawtodigi::ErrorRCDM::matchType(), rpcrawtodigi::ErrorSDDM::matchType(), rpcrawtodigi::ErrorRDDM::matchType(), rpcrawtodigi::RecordBX::matchType(), rpcrawtodigi::RecordSLD::matchType(), rpcrawtodigi::RecordCD::matchType(), RCDM, RDDM, RDM, SDDM, StartOfBXData, StartOfTbLinkInputNumberData, and UndefinedType.

Referenced by rpcrawtodigi::EventRecords::add(), RPCRawDataCounts::addDccRecord(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::inputCommands(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::outputCommands(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::outputEventContent(), RPCUnpackingModule::produce(), and Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::properties().

14 {
15  DataRecordType wordType = UndefinedType;
16  if (RecordBX::matchType(*this)) wordType = StartOfBXData;
18  if (RecordCD::matchType(*this)) wordType = ChamberData;
19  if (EmptyWord::matchType(*this)) wordType = Empty;
20  if (ErrorRCDM::matchType(*this)) wordType = RCDM;
21  if (ErrorSDDM::matchType(*this)) wordType = SDDM;
22  if (ErrorRDDM::matchType(*this)) wordType = RDDM;
23  if (ErrorRDM::matchType(*this)) wordType = RDM;
24 
25  return wordType;
26 }
static bool matchType(const DataRecord &record)
Definition: RecordSLD.h:40
static bool matchType(const DataRecord &record)
Definition: RecordBX.cc:4
static bool matchType(const DataRecord &record)
Definition: ErrorRDM.cc:5
static bool matchType(const DataRecord &record)
Definition: RecordCD.h:48
static bool matchType(const DataRecord &record)
Definition: ErrorRCDM.cc:5
static bool matchType(const DataRecord &record)
Definition: ErrorSDDM.h:15
static bool matchType(const DataRecord &record)
Definition: EmptyWord.h:15
static bool matchType(const DataRecord &record)
Definition: ErrorRDDM.cc:5

Member Data Documentation

Data rpcrawtodigi::DataRecord::theData
protected