45 lbItem() : theMaster(
false), theLinkBoardNumInLink(0), theCode(0), nFebs(0){};
67 int year = atoi(theVersion.substr(6, 4).c_str());
68 int month = atoi(theVersion.substr(3, 2).c_str());
69 if (year < 2012 || (year == 2012 && month < 11))
75 for (
unsigned int idcc = 0; idcc < theDccs.size(); idcc++) {
77 for (
int itb = lastTB; itb < lastTB + theDccs[idcc].nTBs; itb++) {
79 for (
int ilink = lastLink; ilink < lastLink + theTBs[itb].nLinks; ilink++) {
80 LinkConnSpec lc(theLinks[ilink].theTriggerBoardInputNumber);
81 for (
int ilb = lastLB; ilb < lastLB + theLinks[ilink].nLBs; ilb++) {
82 LinkBoardSpec lb(theLBs[ilb].theMaster, theLBs[ilb].theLinkBoardNumInLink, theLBs[ilb].theCode);
83 for (
int ifeb = lastFeb; ifeb < lastFeb + theLBs[ilb].nFebs; ifeb++) {
84 int sector = (theFebs[ifeb].theChamber) % 100;
85 char subsector = ((theFebs[ifeb].theChamber) / 100) % 10 - 2;
86 char febZRadOrnt = ((theFebs[ifeb].theChamber) / 1000) % 5;
87 char febZOrnt = ((theFebs[ifeb].theChamber) / 5000) % 2;
88 char diskOrWheel = ((theFebs[ifeb].theChamber) / 10000) % 10 - diskOffset;
89 char layer = ((theFebs[ifeb].theChamber) / 100000) % 10;
90 char barrelOrEndcap = (theFebs[ifeb].theChamber) / 1000000;
92 diskOrWheel, layer, sector, subsector, febZOrnt, febZRadOrnt, barrelOrEndcap};
93 char cmsEtaPartition = (theFebs[ifeb].thePartition) / 1000;
94 char positionInCmsEtaPartition = ((theFebs[ifeb].thePartition) % 1000) / 100;
95 char localEtaPartition = ((theFebs[ifeb].thePartition) % 100) / 10;
96 char positionInLocalEtaPartition = (theFebs[ifeb].thePartition) % 10;
98 cmsEtaPartition, positionInCmsEtaPartition, localEtaPartition, positionInLocalEtaPartition};
99 FebConnectorSpec febConnector(theFebs[ifeb].theLinkBoardInputNum, chamber, afeb);
100 febConnector.
addStrips(theFebs[ifeb].theAlgo);
101 lb.
add(febConnector);
105 lastFeb += theLBs[ilb].nFebs;
108 lastLB += theLinks[ilink].nLBs;
111 lastLink += theTBs[itb].nLinks;
114 lastTB += theDccs[idcc].nTBs;
int theTriggerBoardInputNumber
void add(const FebConnectorSpec &feb)
attach feb
std::vector< tbItem > theTBs
void addStrips(int algo)
add strip info
void add(const LinkBoardSpec &lb)
attach LinkBoard to this link
void add(const LinkConnSpec &lc)
attach connection to TB
int theLinkBoardNumInLink
std::vector< dccItem > theDccs
std::vector< febItem > theFebs
void add(const DccSpec &dcc)
attach FED to map
void add(const TriggerBoardSpec &tb)
attach TB to DCC. The channel is defined by TB
std::vector< linkItem > theLinks
#define COND_SERIALIZABLE
std::vector< lbItem > theLBs
RPCEMap(const std::string &version="")
RPCReadOutMapping const * convert() const