CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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)
 
virtual ~RecordCD ()
 
- 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 34 of file RecordCD.h.

34 : DataRecord() { }
DataRecord(const Data &data=None)
Definition: DataRecord.h:28
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 {
11  theData = 0;
12 
14 
16 
17  theData |= (eod<<EOD_SHIFT );
18 
20 
21  int partitionData = 0;
22  for (vector<int>::const_iterator iv = packedStrips.begin(); iv != packedStrips.end(); iv++ ) {
23  int ibit = (partitionNumber) ? (*iv)%(partitionNumber*BITS_PER_PARTITION) : (*iv);
24  partitionData |= (1<<ibit);
25  }
26  theData |= (partitionData<<PARTITION_DATA_SHIFT);
27 }
int eod() const
Definition: RecordCD.cc:39
int lbInLink() const
Definition: RecordCD.cc:29
static const int HALFP_SHIFT
Definition: RecordCD.h:21
static const int CHAMBER_SHIFT
Definition: RecordCD.h:27
int partitionData() const
Definition: RecordCD.cc:49
DataRecord(const Data &data=None)
Definition: DataRecord.h:28
int halfP() const
Definition: RecordCD.cc:44
int partitionNumber() const
Definition: RecordCD.cc:34
static const int PARTITION_DATA_SHIFT
Definition: RecordCD.h:15
std::vector< int > packedStrips() const
Definition: RecordCD.cc:54
static const int PARTITION_NUMBER_SHIFT
Definition: RecordCD.h:18
static const int EOD_SHIFT
Definition: RecordCD.h:24
static const int BITS_PER_PARTITION
Definition: RecordCD.h:29
rpcrawtodigi::RecordCD::RecordCD ( const Data lbData)
inline

Definition at line 41 of file RecordCD.h.

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

Definition at line 44 of file RecordCD.h.

44 : DataRecord(rec) {}
DataRecord(const Data &data=None)
Definition: DataRecord.h:28
virtual rpcrawtodigi::RecordCD::~RecordCD ( )
inlinevirtual

Definition at line 46 of file RecordCD.h.

46 {}

Member Function Documentation

int RecordCD::eod ( ) const

Definition at line 39 of file RecordCD.cc.

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

Referenced by RPCRecordFormatter::recordUnpack().

40 {
41  return (theData >> EOD_SHIFT ) & EOD_MASK;
42 }
static const int EOD_MASK
Definition: RecordCD.h:23
static const int EOD_SHIFT
Definition: RecordCD.h:24
int RecordCD::halfP ( ) const

Definition at line 44 of file RecordCD.cc.

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

45 {
46  return (theData >> HALFP_SHIFT ) & HALFP_MASK;
47 }
static const int HALFP_SHIFT
Definition: RecordCD.h:21
static const int HALFP_MASK
Definition: RecordCD.h:20
int RecordCD::lbInLink ( ) const

Definition at line 29 of file RecordCD.cc.

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

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

Definition at line 48 of file RecordCD.h.

References CD_TYPE_LESSTHENFLAG, CD_TYPE_SHIFT, and rpcrawtodigi::DataRecord::data().

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

48  {
49  return ( (record.data() >> CD_TYPE_SHIFT) < CD_TYPE_LESSTHENFLAG);
50  }
JetCorrectorParameters::Record record
Definition: classes.h:11
static const int CD_TYPE_SHIFT
Definition: RecordCD.h:12
static const int CD_TYPE_LESSTHENFLAG
Definition: RecordCD.h:11
std::vector< int > RecordCD::packedStrips ( ) const

Definition at line 54 of file RecordCD.cc.

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

55 {
56  int partitionNumber = this->partitionNumber();
57  int partitionData = this->partitionData();
58  std::vector<int> strips;
59  for (int ib=0; ib <8; ++ib) {
60  if ((partitionData>>ib)& 1) strips.push_back( partitionNumber* BITS_PER_PARTITION + ib);
61  }
62  return strips;
63 }
int partitionData() const
Definition: RecordCD.cc:49
int partitionNumber() const
Definition: RecordCD.cc:34
static const int BITS_PER_PARTITION
Definition: RecordCD.h:29
int RecordCD::partitionData ( ) const

Definition at line 49 of file RecordCD.cc.

References PARTITION_DATA_MASK, PARTITION_DATA_SHIFT, and rpcrawtodigi::DataRecord::theData.

Referenced by packedStrips(), and RecordCD().

50 {
52 }
static const int PARTITION_DATA_MASK
Definition: RecordCD.h:14
static const int PARTITION_DATA_SHIFT
Definition: RecordCD.h:15
int RecordCD::partitionNumber ( ) const

Definition at line 34 of file RecordCD.cc.

References PARTITION_NUMBER_MASK, PARTITION_NUMBER_SHIFT, and rpcrawtodigi::DataRecord::theData.

Referenced by packedStrips(), and RecordCD().

35 {
37 }
static const int PARTITION_NUMBER_SHIFT
Definition: RecordCD.h:18
static const int PARTITION_NUMBER_MASK
Definition: RecordCD.h:17
std::string RecordCD::print ( void  ) const

Definition at line 65 of file RecordCD.cc.

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

66 {
67  std::ostringstream str;
68  str <<" DATA";
69  return str.str();
70 }

Member Data Documentation

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

Definition at line 29 of file RecordCD.h.

Referenced by packedStrips(), and RecordCD().

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

Definition at line 11 of file RecordCD.h.

Referenced by matchType().

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

Definition at line 12 of file RecordCD.h.

Referenced by matchType().

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

Definition at line 26 of file RecordCD.h.

Referenced by lbInLink().

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

Definition at line 27 of file RecordCD.h.

Referenced by lbInLink(), and RecordCD().

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

Definition at line 23 of file RecordCD.h.

Referenced by eod().

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

Definition at line 24 of file RecordCD.h.

Referenced by eod(), and RecordCD().

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

Definition at line 20 of file RecordCD.h.

Referenced by halfP().

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

Definition at line 21 of file RecordCD.h.

Referenced by halfP(), and RecordCD().

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

Definition at line 14 of file RecordCD.h.

Referenced by partitionData().

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

Definition at line 15 of file RecordCD.h.

Referenced by partitionData(), and RecordCD().

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

Definition at line 17 of file RecordCD.h.

Referenced by partitionNumber().

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

Definition at line 18 of file RecordCD.h.

Referenced by partitionNumber(), and RecordCD().