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 15 of file SiStripCcu.h.

Constructor & Destructor Documentation

SiStripCcu::SiStripCcu ( const FedChannelConnection conn)

Definition at line 8 of file SiStripCcu.cc.

References addDevices(), and modules_.

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

Definition at line 23 of file SiStripCcu.h.

23 {;}
SiStripCcu::SiStripCcu ( )
inlineprivate

Definition at line 37 of file SiStripCcu.h.

37 {;}

Member Function Documentation

void SiStripCcu::addDevices ( const FedChannelConnection conn)

Definition at line 18 of file SiStripCcu.cc.

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

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

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

Definition at line 50 of file SiStripCcu.h.

References ccuAddr_.

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

Definition at line 49 of file SiStripCcu.h.

References modules_.

Referenced by addDevices().

49 { return modules_; }
std::vector< SiStripModule > modules_
Definition: SiStripCcu.h:43

Member Data Documentation

uint16_t SiStripCcu::ccuAddr_
private

Definition at line 40 of file SiStripCcu.h.

Referenced by ccuAddr().

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

Definition at line 43 of file SiStripCcu.h.

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