CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Static Private Attributes
rpcrawtodigi::RecordCD Class Reference

#include <RecordCD.h>

Inheritance diagram for rpcrawtodigi::RecordCD:
rpcrawtodigi::DataRecord

Public Member Functions

int eod () const
 
int halfP () const
 
int lbInLink () const
 
std::vector< int > packedStrips () const
 
int partitionData () const
 
int partitionNumber () const
 
std::string print () const
 
 RecordCD ()
 
 RecordCD (int chamber, int partitionNumber, int eod, int halfP, const std::vector< int > &packedStrips)
 
 RecordCD (const Data &lbData)
 
 RecordCD (const DataRecord &rec)
 
 ~RecordCD () override
 
- Public Member Functions inherited from rpcrawtodigi::DataRecord
const Datadata () const
 
 DataRecord (const Data &data=None)
 
std::string print () const
 
DataRecordType type () const
 
virtual ~DataRecord ()
 

Static Public Member Functions

static bool matchType (const DataRecord &record)
 
- Static Public Member Functions inherited from rpcrawtodigi::DataRecord
static std::string name (const DataRecordType &code)
 
static std::string print (const DataRecord &record)
 

Static Private Attributes

static const int BITS_PER_PARTITION = 8
 
static const int CD_TYPE_LESSTHENFLAG = 0x3
 
static const int CD_TYPE_SHIFT = 14
 
static const int CHAMBER_MASK = 0X3
 
static const int CHAMBER_SHIFT = 14
 
static const int EOD_MASK = 0X1
 
static const int EOD_SHIFT = 9
 
static const int HALFP_MASK = 0X1
 
static const int HALFP_SHIFT = 8
 
static const int PARTITION_DATA_MASK = 0XFF
 
static const int PARTITION_DATA_SHIFT = 0
 
static const int PARTITION_NUMBER_MASK = 0XF
 
static const int PARTITION_NUMBER_SHIFT = 10
 

Additional Inherited Members

- Public Types inherited from rpcrawtodigi::DataRecord
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
}
 
- Protected Attributes inherited from rpcrawtodigi::DataRecord
Data theData
 

Detailed Description

Definition at line 8 of file RecordCD.h.

Constructor & Destructor Documentation

rpcrawtodigi::RecordCD::RecordCD ( )
inline

Definition at line 32 of file RecordCD.h.

References relativeConstraints::chamber, eod(), halfP(), packedStrips(), and partitionNumber().

32 : DataRecord() {}
DataRecord(const Data &data=None)
Definition: DataRecord.h:27
RecordCD::RecordCD ( int  chamber,
int  partitionNumber,
int  eod,
int  halfP,
const std::vector< int > &  packedStrips 
)

Definition at line 8 of file RecordCD.cc.

References BITS_PER_PARTITION, CHAMBER_SHIFT, EOD_SHIFT, HALFP_SHIFT, PARTITION_DATA_SHIFT, PARTITION_NUMBER_SHIFT, partitionData(), partitionNumber(), and rpcrawtodigi::DataRecord::theData.

9  : DataRecord(0) {
10  theData = 0;
11 
13 
15 
16  theData |= (eod << EOD_SHIFT);
17 
18  theData |= (halfP << HALFP_SHIFT);
19 
20  int partitionData = 0;
21  for (vector<int>::const_iterator iv = packedStrips.begin(); iv != packedStrips.end(); iv++) {
22  int ibit = (partitionNumber) ? (*iv) % (partitionNumber * BITS_PER_PARTITION) : (*iv);
23  partitionData |= (1 << ibit);
24  }
25  theData |= (partitionData << PARTITION_DATA_SHIFT);
26 }
int eod() const
Definition: RecordCD.cc:32
int lbInLink() const
Definition: RecordCD.cc:28
static const int HALFP_SHIFT
Definition: RecordCD.h:20
static const int CHAMBER_SHIFT
Definition: RecordCD.h:26
int partitionData() const
Definition: RecordCD.cc:36
DataRecord(const Data &data=None)
Definition: DataRecord.h:27
int halfP() const
Definition: RecordCD.cc:34
int partitionNumber() const
Definition: RecordCD.cc:30
static const int PARTITION_DATA_SHIFT
Definition: RecordCD.h:14
std::vector< int > packedStrips() const
Definition: RecordCD.cc:38
static const int PARTITION_NUMBER_SHIFT
Definition: RecordCD.h:17
static const int EOD_SHIFT
Definition: RecordCD.h:23
static const int BITS_PER_PARTITION
Definition: RecordCD.h:28
rpcrawtodigi::RecordCD::RecordCD ( const Data lbData)
inline

Definition at line 38 of file RecordCD.h.

38 : DataRecord(lbData) {}
DataRecord(const Data &data=None)
Definition: DataRecord.h:27
rpcrawtodigi::RecordCD::RecordCD ( const DataRecord rec)
inline

Definition at line 41 of file RecordCD.h.

41 : DataRecord(rec) {}
DataRecord(const Data &data=None)
Definition: DataRecord.h:27
rpcrawtodigi::RecordCD::~RecordCD ( )
inlineoverride

Definition at line 43 of file RecordCD.h.

43 {}

Member Function Documentation

int RecordCD::eod ( ) const

Definition at line 32 of file RecordCD.cc.

References EOD_MASK, EOD_SHIFT, and rpcrawtodigi::DataRecord::theData.

Referenced by matchType(), RecordCD(), and RPCRecordFormatter::recordUnpack().

32 { return (theData >> EOD_SHIFT) & EOD_MASK; }
static const int EOD_MASK
Definition: RecordCD.h:22
static const int EOD_SHIFT
Definition: RecordCD.h:23
int RecordCD::halfP ( ) const

Definition at line 34 of file RecordCD.cc.

References HALFP_MASK, HALFP_SHIFT, and rpcrawtodigi::DataRecord::theData.

Referenced by matchType(), and RecordCD().

34 { return (theData >> HALFP_SHIFT) & HALFP_MASK; }
static const int HALFP_SHIFT
Definition: RecordCD.h:20
static const int HALFP_MASK
Definition: RecordCD.h:19
int RecordCD::lbInLink ( ) const

Definition at line 28 of file RecordCD.cc.

References CHAMBER_MASK, CHAMBER_SHIFT, and rpcrawtodigi::DataRecord::theData.

Referenced by matchType(), and omtf::RpcUnpacker::unpack().

28 { return (theData >> CHAMBER_SHIFT) & CHAMBER_MASK; }
static const int CHAMBER_SHIFT
Definition: RecordCD.h:26
static const int CHAMBER_MASK
Definition: RecordCD.h:25
static bool rpcrawtodigi::RecordCD::matchType ( const DataRecord record)
inlinestatic

Definition at line 45 of file RecordCD.h.

References CD_TYPE_SHIFT, rpcrawtodigi::DataRecord::data(), eod(), halfP(), lbInLink(), packedStrips(), partitionData(), partitionNumber(), print(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by rpcrawtodigi::DataRecord::print(), and rpcrawtodigi::DataRecord::type().

45  {
46  return ((record.data() >> CD_TYPE_SHIFT) < CD_TYPE_LESSTHENFLAG);
47  }
JetCorrectorParameters::Record record
Definition: classes.h:7
static const int CD_TYPE_SHIFT
Definition: RecordCD.h:11
static const int CD_TYPE_LESSTHENFLAG
Definition: RecordCD.h:10
std::vector< int > RecordCD::packedStrips ( ) const

Definition at line 38 of file RecordCD.cc.

References BITS_PER_PARTITION, cuy::ib, partitionData(), partitionNumber(), and RecoTauPiZeroBuilderPlugins_cfi::strips.

Referenced by matchType(), and RecordCD().

38  {
39  int partitionNumber = this->partitionNumber();
40  int partitionData = this->partitionData();
41  std::vector<int> strips;
42  for (int ib = 0; ib < 8; ++ib) {
43  if ((partitionData >> ib) & 1)
44  strips.push_back(partitionNumber * BITS_PER_PARTITION + ib);
45  }
46  return strips;
47 }
int partitionData() const
Definition: RecordCD.cc:36
int partitionNumber() const
Definition: RecordCD.cc:30
static const int BITS_PER_PARTITION
Definition: RecordCD.h:28
ib
Definition: cuy.py:662
int RecordCD::partitionData ( ) const
int RecordCD::partitionNumber ( ) const
std::string RecordCD::print ( void  ) const

Definition at line 49 of file RecordCD.cc.

References str.

Referenced by matchType(), rpcrawtodigi::DataRecord::print(), and rpcrawtodigi::EventRecords::print().

49  {
50  std::ostringstream str;
51  str << " DATA";
52  return str.str();
53 }
#define str(s)

Member Data Documentation

const int rpcrawtodigi::RecordCD::BITS_PER_PARTITION = 8
staticprivate

Definition at line 28 of file RecordCD.h.

Referenced by packedStrips(), and RecordCD().

const int rpcrawtodigi::RecordCD::CD_TYPE_LESSTHENFLAG = 0x3
staticprivate

Definition at line 10 of file RecordCD.h.

const int rpcrawtodigi::RecordCD::CD_TYPE_SHIFT = 14
staticprivate

Definition at line 11 of file RecordCD.h.

Referenced by matchType().

const int rpcrawtodigi::RecordCD::CHAMBER_MASK = 0X3
staticprivate

Definition at line 25 of file RecordCD.h.

Referenced by lbInLink().

const int rpcrawtodigi::RecordCD::CHAMBER_SHIFT = 14
staticprivate

Definition at line 26 of file RecordCD.h.

Referenced by lbInLink(), and RecordCD().

const int rpcrawtodigi::RecordCD::EOD_MASK = 0X1
staticprivate

Definition at line 22 of file RecordCD.h.

Referenced by eod().

const int rpcrawtodigi::RecordCD::EOD_SHIFT = 9
staticprivate

Definition at line 23 of file RecordCD.h.

Referenced by eod(), and RecordCD().

const int rpcrawtodigi::RecordCD::HALFP_MASK = 0X1
staticprivate

Definition at line 19 of file RecordCD.h.

Referenced by halfP().

const int rpcrawtodigi::RecordCD::HALFP_SHIFT = 8
staticprivate

Definition at line 20 of file RecordCD.h.

Referenced by halfP(), and RecordCD().

const int rpcrawtodigi::RecordCD::PARTITION_DATA_MASK = 0XFF
staticprivate

Definition at line 13 of file RecordCD.h.

Referenced by partitionData().

const int rpcrawtodigi::RecordCD::PARTITION_DATA_SHIFT = 0
staticprivate

Definition at line 14 of file RecordCD.h.

Referenced by partitionData(), and RecordCD().

const int rpcrawtodigi::RecordCD::PARTITION_NUMBER_MASK = 0XF
staticprivate

Definition at line 16 of file RecordCD.h.

Referenced by partitionNumber().

const int rpcrawtodigi::RecordCD::PARTITION_NUMBER_SHIFT = 10
staticprivate

Definition at line 17 of file RecordCD.h.

Referenced by partitionNumber(), and RecordCD().