#include <LinkBoardSpec.h>
Public Member Functions | |
void | add (const FebConnectorSpec &feb) |
attach feb | |
const FebConnectorSpec * | feb (int febInputNum) const |
get Feb by its connection number to this board | |
const std::vector < FebConnectorSpec > & | febs () const |
std::string | linkBoardName () const |
LB name as in OMDS. | |
int | linkBoardNumInLink () const |
this LB number in link | |
LinkBoardSpec () | |
dummy | |
LinkBoardSpec (bool master, int linkBoardNumInLin, int lbCode) | |
bool | master () |
true if master LB (is it of any use?) | |
std::string | print (int depth=0) const |
debud printout | |
Private Attributes | |
int | theCode |
std::vector< FebConnectorSpec > | theFebs |
int | theLinkBoardNumInLink |
bool | theMaster |
RPC LinkBoard Specification for readout decoding. Provide chamber location specification (as in DB throught FEBs)
Definition at line 11 of file LinkBoardSpec.h.
LinkBoardSpec::LinkBoardSpec | ( | ) | [inline] |
LinkBoardSpec::LinkBoardSpec | ( | bool | master, |
int | linkBoardNumInLin, | ||
int | lbCode | ||
) |
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.
void LinkBoardSpec::add | ( | const FebConnectorSpec & | feb | ) |
attach feb
Definition at line 8 of file LinkBoardSpec.cc.
References theFebs.
Referenced by RPCEMap::convert().
{ theFebs.push_back(feb); }
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 theFebs.
Referenced by RPCReadOutMapping::detUnitFrame(), RPCReadOutMapping::getLBforChamber(), and RPCReadOutMapping::getRAWSpecForCMSChamberSrip().
const std::vector<FebConnectorSpec>& LinkBoardSpec::febs | ( | ) | const [inline] |
Definition at line 34 of file LinkBoardSpec.h.
References theFebs.
Referenced by RPCReadOutMapping::rawDataFrame().
{ return theFebs; }
std::string LinkBoardSpec::linkBoardName | ( | ) | const |
LB name as in OMDS.
Definition at line 23 of file LinkBoardSpec.cc.
References theCode, and theLinkBoardNumInLink.
{ std::ostringstream lbName; std::string char1Val[2]={"B","E"}; // 1,2 std::string char2Val[3]={"N","M","P"}; // 0,1,2 std::string char4Val[9]={"0","1","2","3","A","B","C","D","E"}; // 0,...,8 int n3=theCode%10; int num3=(theCode%100)/10; int n2=(theCode%1000)/100; int n1=(theCode%10000)/1000; int wheel=(theCode%100000)/10000; if(n2==0)wheel=-wheel; int sector=theCode/100000; std::string sign=""; if(wheel>0) sign="+"; lbName <<"LB_R"<<char1Val[n1-1]<<sign<<wheel<<"_S"<<sector<<"_"<<char1Val[n1-1]<<char2Val[n2]<<num3<<char4Val[n3]<<"_CH"<<theLinkBoardNumInLink; return lbName.str(); }
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().
{ 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.
{ return theMaster; }
std::string LinkBoardSpec::print | ( | int | depth = 0 | ) | const |
debud printout
Definition at line 42 of file LinkBoardSpec.cc.
References theFebs, theLinkBoardNumInLink, and theMaster.
Referenced by RPCReadOutMapping::detUnitFrame().
{ std::ostringstream str; std::string type = (theMaster) ? "master" : "slave"; str <<" LinkBoardSpec: " << std::endl <<" --->" <<type<<" linkBoardNumInLink: " << theLinkBoardNumInLink << std::endl; depth--; if (depth >=0) { typedef std::vector<FebConnectorSpec>::const_iterator IT; for (IT it=theFebs.begin(); it != theFebs.end(); it++) str << (*it).print(depth); } return str.str(); }
int LinkBoardSpec::theCode [private] |
Definition at line 42 of file LinkBoardSpec.h.
Referenced by linkBoardName().
std::vector<FebConnectorSpec> LinkBoardSpec::theFebs [private] |
int LinkBoardSpec::theLinkBoardNumInLink [private] |
Definition at line 41 of file LinkBoardSpec.h.
Referenced by linkBoardName(), linkBoardNumInLink(), and print().
bool LinkBoardSpec::theMaster [private] |
Definition at line 40 of file LinkBoardSpec.h.