CMS 3D CMS Logo

LinkBoardSpec Class Reference

RPC LinkBoard Specification for readout decoding. More...

#include <CondFormats/RPCObjects/interface/LinkBoardSpec.h>

List of all members.

Public Member Functions

void add (const FebConnectorSpec &feb)
 attache feb
const FebConnectorSpecfeb (int febInputNum) const
 get Feb by its connection number to this board
const std::vector
< FebConnectorSpec > & 
febs () const
int linkBoardNumInLink () const
 this LB number in link
 LinkBoardSpec (bool master, int linkBoardNumInLin)
 real ctor specifyig LB if this LB is master, its number in link, and which chamber it is serving
 LinkBoardSpec ()
 dummy
bool master ()
 true if master LB (is it of any use?)
std::string print (int depth=0) const
 debud printout

Private Attributes

std::vector< FebConnectorSpectheFebs
int theLinkBoardNumInLink
bool theMaster


Detailed Description

RPC LinkBoard Specification for readout decoding.

Provide chamber location specification (as in DB throught FEBs)

Definition at line 11 of file LinkBoardSpec.h.


Constructor & Destructor Documentation

LinkBoardSpec::LinkBoardSpec (  )  [inline]

dummy

Definition at line 14 of file LinkBoardSpec.h.

00014 {}

LinkBoardSpec::LinkBoardSpec ( bool  master,
int  linkBoardNumInLin 
)

real ctor specifyig LB if this LB is master, its number in link, and which chamber it is serving

Definition at line 5 of file LinkBoardSpec.cc.


Member Function Documentation

void LinkBoardSpec::add ( const FebConnectorSpec feb  ) 

attache feb

Definition at line 8 of file LinkBoardSpec.cc.

References theFebs.

Referenced by RPCEMap::convert(), and popcon::RPCReadOutMappingSourceHandler::readCablingMap().

00009 {
00010   theFebs.push_back(feb);
00011 }

const FebConnectorSpec * LinkBoardSpec::feb ( int  febInputNum  )  const

get Feb by its connection number to this board

Definition at line 13 of file LinkBoardSpec.cc.

References it, and theFebs.

Referenced by RPCReadOutMapping::detUnitFrame(), RPCReadOutMapping::getLBforChamber(), and RPCReadOutMapping::getRAWSpecForCMSChamberSrip().

00014 {
00015   //FIXME - temporary implementaion, to be replace by LUT (in preparation)
00016   typedef std::vector<FebConnectorSpec>::const_iterator IT;
00017   for (IT it=theFebs.begin(); it != theFebs.end(); it++) {
00018     if(febInputNum==it->linkBoardInputNum()) return &(*it);
00019   }
00020   return 0;
00021 }

const std::vector<FebConnectorSpec>& LinkBoardSpec::febs (  )  const [inline]

Definition at line 31 of file LinkBoardSpec.h.

References theFebs.

Referenced by RPCRawSynchro::dumpDelays(), and RPCReadOutMapping::rawDataFrame().

00031 { return theFebs; }

int LinkBoardSpec::linkBoardNumInLink (  )  const [inline]

this LB number in link

Definition at line 24 of file LinkBoardSpec.h.

References theLinkBoardNumInLink.

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

00024 { return theLinkBoardNumInLink; }

bool LinkBoardSpec::master (  )  [inline]

true if master LB (is it of any use?)

Definition at line 21 of file LinkBoardSpec.h.

References theMaster.

00021 { return theMaster; }

std::string LinkBoardSpec::print ( int  depth = 0  )  const

debud printout

Definition at line 23 of file LinkBoardSpec.cc.

References lat::endl(), it, theFebs, theLinkBoardNumInLink, and theMaster.

Referenced by RPCReadOutMapping::detUnitFrame().

00024 {
00025   std::ostringstream str;
00026   std::string type = (theMaster) ? "master" : "slave";
00027   str <<" LinkBoardSpec: " << std::endl
00028             <<" --->" <<type<<" linkBoardNumInLink: " << theLinkBoardNumInLink 
00029             << std::endl;
00030   depth--;
00031   if (depth >=0) {
00032     typedef std::vector<FebConnectorSpec>::const_iterator IT;
00033     for (IT it=theFebs.begin(); it != theFebs.end(); it++) str << (*it).print(depth);
00034   }
00035   return str.str();
00036 }


Member Data Documentation

std::vector<FebConnectorSpec> LinkBoardSpec::theFebs [private]

Definition at line 39 of file LinkBoardSpec.h.

Referenced by add(), feb(), febs(), and print().

int LinkBoardSpec::theLinkBoardNumInLink [private]

Definition at line 38 of file LinkBoardSpec.h.

Referenced by linkBoardNumInLink(), and print().

bool LinkBoardSpec::theMaster [private]

Definition at line 37 of file LinkBoardSpec.h.

Referenced by master(), and print().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:27:45 2009 for CMSSW by  doxygen 1.5.4