CMS 3D CMS Logo

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