CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
RPCDigiL1Link Class Reference

#include <RPCDigiL1Link.h>

Public Member Functions

int bx (unsigned int layer) const
 
bool empty () const
 
bool empty (unsigned int layer) const
 
unsigned int nlayer () const
 
unsigned int rawdetId (unsigned int layer) const
 
 RPCDigiL1Link ()
 
void setLink (unsigned int layer, unsigned int rpcdetId, int strip, int bx)
 
int strip (unsigned int layer) const
 
 ~RPCDigiL1Link ()
 

Private Member Functions

void checklayer (unsigned int layer) const
 

Private Attributes

std::vector< std::pair
< unsigned int, int > > 
_link
 

Detailed Description

Definition at line 7 of file RPCDigiL1Link.h.

Constructor & Destructor Documentation

RPCDigiL1Link::RPCDigiL1Link ( )

Definition at line 4 of file RPCDigiL1Link.cc.

References _link, c, and mps_fire::i.

4  {
5  for (unsigned int i = 0; i < 7; i++) {
6  std::pair<unsigned int, int> c(0, 0);
7  _link.push_back(c);
8  }
9 }
const edm::EventSetup & c
RPCDigiL1Link::~RPCDigiL1Link ( )

Definition at line 11 of file RPCDigiL1Link.cc.

11 {}

Member Function Documentation

int RPCDigiL1Link::bx ( unsigned int  layer) const

Definition at line 37 of file RPCDigiL1Link.cc.

References _link, and checklayer().

37  {
38  this->checklayer(layer);
39  return _link[layer - 1].second / 1000;
40 }
constexpr std::array< uint8_t, layerIndexSize > layer
void RPCDigiL1Link::checklayer ( unsigned int  layer) const
private

Definition at line 53 of file RPCDigiL1Link.cc.

References Exception.

Referenced by bx(), empty(), rawdetId(), setLink(), and strip().

53  {
54  if (layer == 0 || layer > 6)
55  throw cms::Exception("RPCException") << "RPCDigiL1Link: layer must be in the range from 1 to 6" << std::endl;
56 }
constexpr std::array< uint8_t, layerIndexSize > layer
bool RPCDigiL1Link::empty ( ) const

Definition at line 13 of file RPCDigiL1Link.cc.

References alignCSCRings::e, and cmsLHEtoEOSManager::l.

13  {
14  bool e = true;
15  for (unsigned int l = 1; l <= 6; l++) {
16  if (!this->empty(l))
17  e = false;
18  }
19  return e;
20 }
bool RPCDigiL1Link::empty ( unsigned int  layer) const

Definition at line 22 of file RPCDigiL1Link.cc.

References checklayer(), and rawdetId().

22  {
23  this->checklayer(layer);
24  return this->rawdetId(layer) == 0;
25 }
constexpr std::array< uint8_t, layerIndexSize > layer
unsigned int RPCDigiL1Link::nlayer ( ) const

Definition at line 42 of file RPCDigiL1Link.cc.

References _link.

42 { return _link.size() - 1; }
unsigned int RPCDigiL1Link::rawdetId ( unsigned int  layer) const

Definition at line 27 of file RPCDigiL1Link.cc.

References _link, and checklayer().

Referenced by empty().

27  {
28  this->checklayer(layer);
29  return _link[layer - 1].first;
30 }
constexpr std::array< uint8_t, layerIndexSize > layer
void RPCDigiL1Link::setLink ( unsigned int  layer,
unsigned int  rpcdetId,
int  strip,
int  bx 
)

Definition at line 44 of file RPCDigiL1Link.cc.

References _link, funct::abs(), checklayer(), redigi_cff::pdigi, and strip().

44  {
45  this->checklayer(layer);
46  int pdigi = abs(bx) * 1000 + strip;
47  if (bx < 0)
48  pdigi *= -1;
49  std::pair<unsigned int, int> digi(rpcdetId, pdigi);
50  _link[layer - 1] = digi;
51 }
constexpr std::array< uint8_t, layerIndexSize > layer
tuple pdigi
Definition: redigi_cff.py:10
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int RPCDigiL1Link::strip ( unsigned int  layer) const

Definition at line 32 of file RPCDigiL1Link.cc.

References _link, funct::abs(), checklayer(), and edm::second().

Referenced by setLink().

32  {
33  this->checklayer(layer);
34  return abs(_link[layer - 1].second) % 1000;
35 }
constexpr std::array< uint8_t, layerIndexSize > layer
U second(std::pair< T, U > const &p)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22

Member Data Documentation

std::vector<std::pair<unsigned int, int> > RPCDigiL1Link::_link
private

Definition at line 29 of file RPCDigiL1Link.h.

Referenced by bx(), nlayer(), rawdetId(), RPCDigiL1Link(), setLink(), and strip().