CMS 3D CMS Logo

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