CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
SiStripCcu Class Reference

#include <SiStripCcu.h>

Public Member Functions

void addDevices (const FedChannelConnection &conn)
 
const uint16_t & ccuAddr () const
 
const std::vector
< SiStripModule > & 
modules () const
 
 SiStripCcu (const FedChannelConnection &conn)
 
 ~SiStripCcu ()
 

Private Member Functions

 SiStripCcu ()
 

Private Attributes

uint16_t ccuAddr_
 
std::vector< SiStripModulemodules_
 

Detailed Description

Author
R.Bainbridge

Definition at line 14 of file SiStripCcu.h.

Constructor & Destructor Documentation

SiStripCcu::SiStripCcu ( const FedChannelConnection conn)

Definition at line 7 of file SiStripCcu.cc.

References addDevices(), and modules_.

8  : ccuAddr_( conn.ccuAddr() ),
9  modules_()
10 {
11  modules_.reserve(32);
12  addDevices( conn );
13 }
uint16_t ccuAddr_
Definition: SiStripCcu.h:39
const uint16_t & ccuAddr() const
void addDevices(const FedChannelConnection &conn)
Definition: SiStripCcu.cc:17
std::vector< SiStripModule > modules_
Definition: SiStripCcu.h:42
SiStripCcu::~SiStripCcu ( )
inline

Definition at line 22 of file SiStripCcu.h.

22 {;}
SiStripCcu::SiStripCcu ( )
inlineprivate

Definition at line 36 of file SiStripCcu.h.

36 {;}

Member Function Documentation

void SiStripCcu::addDevices ( const FedChannelConnection conn)

Definition at line 17 of file SiStripCcu.cc.

References SiStripModule::addDevices(), FedChannelConnection::ccuChan(), end, modules(), and modules_.

Referenced by SiStripRing::addDevices(), and SiStripCcu().

17  {
18  std::vector<SiStripModule>::const_iterator imod = modules().begin();
19  while ( imod != modules().end() && (*imod).ccuChan() != conn.ccuChan() ) { imod++; }
20  if ( imod == modules().end() ) {
21  modules_.push_back( SiStripModule( conn ) );
22  } else {
23  const_cast<SiStripModule&>(*imod).addDevices( conn );
24  }
25 }
const std::vector< SiStripModule > & modules() const
Definition: SiStripCcu.h:48
Device and connection information at the level of a front-end module.
Definition: SiStripModule.h:24
void addDevices(const FedChannelConnection &conn)
const uint16_t & ccuChan() const
#define end
Definition: vmac.h:37
std::vector< SiStripModule > modules_
Definition: SiStripCcu.h:42
const uint16_t & SiStripCcu::ccuAddr ( ) const
inline

Definition at line 49 of file SiStripCcu.h.

References ccuAddr_.

49 { return ccuAddr_; }
uint16_t ccuAddr_
Definition: SiStripCcu.h:39
const std::vector< SiStripModule > & SiStripCcu::modules ( ) const
inline

Definition at line 48 of file SiStripCcu.h.

References modules_.

Referenced by addDevices().

48 { return modules_; }
std::vector< SiStripModule > modules_
Definition: SiStripCcu.h:42

Member Data Documentation

uint16_t SiStripCcu::ccuAddr_
private

Definition at line 39 of file SiStripCcu.h.

Referenced by ccuAddr().

std::vector<SiStripModule> SiStripCcu::modules_
private

Definition at line 42 of file SiStripCcu.h.

Referenced by addDevices(), modules(), and SiStripCcu().