CMS 3D CMS Logo

Public Member Functions | Private Attributes

LinkConnSpec Class Reference

#include <LinkConnSpec.h>

List of all members.

Public Member Functions

void add (const LinkBoardSpec &lb)
 attach LinkBoard to this link
const LinkBoardSpeclinkBoard (int linkBoardNumInLink) const
 LB served by this link, identified by its position in link.
const std::vector
< LinkBoardSpec > & 
linkBoards () const
 LinkConnSpec (int num=-1)
 ctor with ID only
std::string print (int depth=0) const
 debud printaout, call its components with depth dectreased by one
int triggerBoardInputNumber () const
 this link input number in TriggerBoard

Private Attributes

std::vector< LinkBoardSpectheLBs
int theTriggerBoardInputNumber

Detailed Description

RPC LinkConnection Specification for readout decoding

Definition at line 12 of file LinkConnSpec.h.


Constructor & Destructor Documentation

LinkConnSpec::LinkConnSpec ( int  num = -1) [inline]

ctor with ID only

Definition at line 16 of file LinkConnSpec.h.


Member Function Documentation

void LinkConnSpec::add ( const LinkBoardSpec lb)

attach LinkBoard to this link

Definition at line 16 of file LinkConnSpec.cc.

References theLBs.

Referenced by RPCEMap::convert().

{ 
  theLBs.push_back(lb); 
}
const LinkBoardSpec * LinkConnSpec::linkBoard ( int  linkBoardNumInLink) const

LB served by this link, identified by its position in link.

Definition at line 21 of file LinkConnSpec.cc.

References theLBs.

Referenced by RPCReadOutMapping::location().

{
  //FIXME - temporary implementaion, to be replace by LUT (in preparation)
  typedef std::vector<LinkBoardSpec>::const_iterator IT;
  for (IT it=theLBs.begin(); it != theLBs.end(); it++) {
    if(linkBoardNumInLink==it->linkBoardNumInLink()) return &(*it);
  }
  return 0;
}
const std::vector<LinkBoardSpec>& LinkConnSpec::linkBoards ( ) const [inline]

Definition at line 24 of file LinkConnSpec.h.

References theLBs.

Referenced by RPCReadOutMappingWithFastSearch::init(), and RPCReadOutMapping::rawDataFrame().

{ return theLBs; }
std::string LinkConnSpec::print ( int  depth = 0) const

debud printaout, call its components with depth dectreased by one

Definition at line 4 of file LinkConnSpec.cc.

References theLBs, and theTriggerBoardInputNumber.

{
  std::ostringstream str;
  str << "LinkConnSpec number="<<theTriggerBoardInputNumber<<std::endl;
  depth--;
  if (depth >= 0) {
    typedef std::vector<LinkBoardSpec>::const_iterator ILB;
    for (ILB it = theLBs.begin(); it != theLBs.end(); it++) str << (*it).print(depth);  
  }
  return str.str();
}
int LinkConnSpec::triggerBoardInputNumber ( ) const [inline]

this link input number in TriggerBoard

Definition at line 19 of file LinkConnSpec.h.

References theTriggerBoardInputNumber.

Referenced by RPCReadOutMappingWithFastSearch::init(), and RPCReadOutMapping::rawDataFrame().


Member Data Documentation

std::vector<LinkBoardSpec> LinkConnSpec::theLBs [private]

Definition at line 34 of file LinkConnSpec.h.

Referenced by add(), linkBoard(), linkBoards(), and print().

Definition at line 33 of file LinkConnSpec.h.

Referenced by print(), and triggerBoardInputNumber().