CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

SiStripRing Class Reference

#include <SiStripRing.h>

List of all members.

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


Constructor & Destructor Documentation

SiStripRing::SiStripRing ( const FedChannelConnection conn)

Definition at line 8 of file SiStripRing.cc.

References addDevices(), and ccus_.

  : fecRing_( conn.fecRing() ), 
    ccus_()
{ 
  ccus_.reserve(256);
  addDevices( conn ); 
}
SiStripRing::~SiStripRing ( ) [inline]

Definition at line 23 of file SiStripRing.h.

{;}
SiStripRing::SiStripRing ( ) [inline, private]

Definition at line 37 of file SiStripRing.h.

{;}

Member Function Documentation

void SiStripRing::addDevices ( const FedChannelConnection conn)

Definition at line 18 of file SiStripRing.cc.

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

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

                                                               {
  std::vector<SiStripCcu>::const_iterator iccu = ccus().begin();
  while ( iccu != ccus().end() && (*iccu).ccuAddr() != conn.ccuAddr() ) { iccu++; }
  if ( iccu == ccus().end() ) { 
    ccus_.push_back( SiStripCcu( conn ) ); 
  } else { 
    const_cast<SiStripCcu&>(*iccu).addDevices( conn ); 
  }
}
const std::vector< SiStripCcu > & SiStripRing::ccus ( ) const [inline]

Definition at line 49 of file SiStripRing.h.

References ccus_.

Referenced by addDevices().

{ return ccus_; }
const uint16_t & SiStripRing::fecRing ( ) const [inline]

Definition at line 50 of file SiStripRing.h.

References fecRing_.

{ return fecRing_; }

Member Data Documentation

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

Definition at line 43 of file SiStripRing.h.

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

uint16_t SiStripRing::fecRing_ [private]

Definition at line 40 of file SiStripRing.h.

Referenced by fecRing().