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
SiStripRing Class Reference

#include <SiStripRing.h>

Public Member Functions

void addDevices (const FedChannelConnection &conn)
 
const std::vector< SiStripCcu > & ccus () const
 
const uint16_t & fecRing () const
 
 SiStripRing (const FedChannelConnection &conn)
 
 ~SiStripRing ()
 

Private Member Functions

 SiStripRing ()
 

Private Attributes

std::vector< SiStripCcuccus_
 
uint16_t fecRing_
 

Detailed Description

Author
R.Bainbridge

Definition at line 14 of file SiStripRing.h.

Constructor & Destructor Documentation

SiStripRing::SiStripRing ( const FedChannelConnection conn)

Definition at line 7 of file SiStripRing.cc.

References addDevices(), and ccus_.

8  : fecRing_( conn.fecRing() ),
9  ccus_()
10 {
11  ccus_.reserve(256);
12  addDevices( conn );
13 }
std::vector< SiStripCcu > ccus_
Definition: SiStripRing.h:42
uint16_t fecRing_
Definition: SiStripRing.h:39
const uint16_t & fecRing() const
void addDevices(const FedChannelConnection &conn)
Definition: SiStripRing.cc:17
SiStripRing::~SiStripRing ( )
inline

Definition at line 22 of file SiStripRing.h.

22 {;}
SiStripRing::SiStripRing ( )
inlineprivate

Definition at line 36 of file SiStripRing.h.

36 {;}

Member Function Documentation

void SiStripRing::addDevices ( const FedChannelConnection conn)

Definition at line 17 of file SiStripRing.cc.

References SiStripCcu::addDevices(), FedChannelConnection::ccuAddr(), ccus(), ccus_, and end.

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

17  {
18  std::vector<SiStripCcu>::const_iterator iccu = ccus().begin();
19  while ( iccu != ccus().end() && (*iccu).ccuAddr() != conn.ccuAddr() ) { iccu++; }
20  if ( iccu == ccus().end() ) {
21  ccus_.push_back( SiStripCcu( conn ) );
22  } else {
23  const_cast<SiStripCcu&>(*iccu).addDevices( conn );
24  }
25 }
std::vector< SiStripCcu > ccus_
Definition: SiStripRing.h:42
const std::vector< SiStripCcu > & ccus() const
Definition: SiStripRing.h:48
#define end
Definition: vmac.h:37
const uint16_t & ccuAddr() const
void addDevices(const FedChannelConnection &conn)
Definition: SiStripCcu.cc:17
const std::vector< SiStripCcu > & SiStripRing::ccus ( ) const
inline

Definition at line 48 of file SiStripRing.h.

References ccus_.

Referenced by addDevices().

48 { return ccus_; }
std::vector< SiStripCcu > ccus_
Definition: SiStripRing.h:42
const uint16_t & SiStripRing::fecRing ( ) const
inline

Definition at line 49 of file SiStripRing.h.

References fecRing_.

49 { return fecRing_; }
uint16_t fecRing_
Definition: SiStripRing.h:39

Member Data Documentation

std::vector<SiStripCcu> SiStripRing::ccus_
private

Definition at line 42 of file SiStripRing.h.

Referenced by addDevices(), ccus(), and SiStripRing().

uint16_t SiStripRing::fecRing_
private

Definition at line 39 of file SiStripRing.h.

Referenced by fecRing().