CMS 3D CMS Logo

SiStripRing.cc
Go to the documentation of this file.
1 
3 #include <iostream>
4 
5 // -----------------------------------------------------------------------------
6 //
7 SiStripRing::SiStripRing(const FedChannelConnection &conn) : fecRing_(conn.fecRing()), ccus_() {
8  ccus_.reserve(256);
9  addDevices(conn);
10 }
11 
12 // -----------------------------------------------------------------------------
13 //
15  auto iccu = ccus_.begin();
16  while (iccu != ccus_.end() && (*iccu).ccuAddr() != conn.ccuAddr()) {
17  iccu++;
18  }
19  if (iccu == ccus().end()) {
20  ccus_.push_back(SiStripCcu(conn));
21  } else {
22  iccu->addDevices(conn);
23  }
24 }
std::vector< SiStripCcu > ccus_
Definition: SiStripRing.h:40
const std::vector< SiStripCcu > & ccus() const
Definition: SiStripRing.h:45
Class containning control, module, detector and connection information, at the level of a FED channel...
const uint16_t & ccuAddr() const
static const char fecRing_[]
void addDevices(const FedChannelConnection &conn)
Definition: SiStripRing.cc:14