CMS 3D CMS Logo

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

Builds range of iterators from pair of offsets. More...

#include <SiStripFedCabling.h>

Public Member Functions

ConnsConstIter begin () const
 
ConnsPair connsPair () const
 
 ConnsRange (const Conns &, ConnsPair)
 
 ConnsRange (const Conns &)
 
 ConnsRange ()
 
bool empty () const
 
ConnsConstIter end () const
 
ConnsConstIterRange invalid () const
 
void print (std::stringstream &) const
 
ConnsConstIterRange range () const
 
uint32_t size () const
 

Static Public Member Functions

static ConnsPair emptyPair ()
 

Private Attributes

ConnsConstIterRange range_
 
ConnsConstIterRange vector_
 

Detailed Description

Builds range of iterators from pair of offsets.

Definition at line 440 of file SiStripFedCabling.h.

Constructor & Destructor Documentation

SiStripFedCabling::ConnsRange::ConnsRange ( const Conns c,
ConnsPair  p 
)

Definition at line 1097 of file SiStripFedCabling.cc.

References sistrip::invalid32_, and range_.

1097  :
1098  vector_( c.begin(), c.end() ),
1099  range_( c.begin()+p.first, c.begin()+p.second )
1100 {
1101  if ( p.first > p.second ||
1102  p.first == sistrip::invalid32_ ||
1103  p.second == sistrip::invalid32_ ||
1104  p.first > c.size() ||
1105  p.second > c.size() ) {
1106  range_ = ConnsConstIterRange( c.end(), c.end() );
1107  }
1108 }
static const uint32_t invalid32_
Definition: Constants.h:16
boost::iterator_range< ConnsConstIter > ConnsConstIterRange
SiStripFedCabling::ConnsRange::ConnsRange ( const Conns c)

Definition at line 1112 of file SiStripFedCabling.cc.

1112  :
1113  vector_( c.begin(), c.end() ),
1114  range_( c.end(), c.end() )
1115 {;}
SiStripFedCabling::ConnsRange::ConnsRange ( )
inline

Definition at line 446 of file SiStripFedCabling.h.

446 {;}

Member Function Documentation

SiStripFedCabling::ConnsConstIter SiStripFedCabling::ConnsRange::begin ( void  ) const
inline
SiStripFedCabling::ConnsPair SiStripFedCabling::ConnsRange::connsPair ( ) const
inline

Definition at line 530 of file SiStripFedCabling.h.

References sistrip::invalid32_.

530  {
531  return ( ( range_.begin() == vector_.end() &&
532  range_.end() == vector_.end() ) ?
534  ConnsPair( std::distance( vector_.begin(), range_.begin() ),
535  std::distance( vector_.begin(), range_.end() ) ) );
536 }
std::pair< uint32_t, uint32_t > ConnsPair
static const uint32_t invalid32_
Definition: Constants.h:16
bool SiStripFedCabling::ConnsRange::empty ( ) const
inline

Definition at line 522 of file SiStripFedCabling.h.

Referenced by Vispa.Gui.VispaWidget.TextField::setAutosizeFont(), and Vispa.Gui.VispaWidget.TextField::setAutotruncate().

522  {
523  return ( range_.begin() == range_.end() );
524 }
SiStripFedCabling::ConnsPair SiStripFedCabling::ConnsRange::emptyPair ( )
inlinestatic

Definition at line 538 of file SiStripFedCabling.h.

References sistrip::invalid32_.

Referenced by SiStripFedCabling::buildFedCabling().

538  {
540 }
std::pair< uint32_t, uint32_t > ConnsPair
static const uint32_t invalid32_
Definition: Constants.h:16
SiStripFedCabling::ConnsConstIter SiStripFedCabling::ConnsRange::end ( void  ) const
inline
SiStripFedCabling::ConnsConstIterRange SiStripFedCabling::ConnsRange::invalid ( ) const
inline

Definition at line 518 of file SiStripFedCabling.h.

Referenced by SiStripFedCabling::fedConnections().

518  {
519  return ConnsConstIterRange( vector_.end(), vector_.end() );
520 }
boost::iterator_range< ConnsConstIter > ConnsConstIterRange
void SiStripFedCabling::ConnsRange::print ( std::stringstream &  ss) const

Definition at line 1119 of file SiStripFedCabling.cc.

Referenced by operator<<().

1119  {
1120  ss << "[SiStripFedCabling::ConnsRange::" << __func__ << "] Debug info:" << std::endl
1121  << " Vector : " << std::endl
1122  << " size : " << vector_.size() << std::endl
1123  << " begin : "
1124  << std::hex << std::setfill('0') << std::setw(8)
1125  << &*vector_.begin()
1126  << std::dec << std::endl
1127  << " end : "
1128  << std::hex << std::setfill('0') << std::setw(8)
1129  << &*vector_.end()
1130  << std::dec << std::endl
1131  << " Range : " << std::endl
1132  << " size : " << range_.size() << std::endl
1133  << " begin : "
1134  << std::hex << std::setfill('0') << std::setw(8)
1135  << &*range_.begin()
1136  << std::dec
1137  << " (dist=" << std::distance( vector_.begin(), range_.begin() ) << ")"
1138  << std::endl
1139  << " end : "
1140  << std::hex << std::setfill('0') << std::setw(8)
1141  << &*range_.end()
1142  << std::dec
1143  << " (dist=" << std::distance( vector_.begin(), range_.end() ) << ")"
1144  << std::endl
1145  << " Offsets : " << std::endl
1146  << " first : " << connsPair().first << std::endl
1147  << " second : " << connsPair().second << std::endl;
1148 }
SiStripFedCabling::ConnsConstIterRange SiStripFedCabling::ConnsRange::range ( ) const
inline

Definition at line 514 of file SiStripFedCabling.h.

Referenced by SiStripFedCabling::fedConnections().

514  {
515  return range_;
516 }
uint32_t SiStripFedCabling::ConnsRange::size ( void  ) const
inline

Definition at line 526 of file SiStripFedCabling.h.

Referenced by SiStripFedCabling::printDebug(), SiStripFedCabling::printSummary(), and SiStripFedCabling::terse().

526  {
527  return std::distance( range_.begin(), range_.end() );
528 }

Member Data Documentation

ConnsConstIterRange SiStripFedCabling::ConnsRange::range_
private

Definition at line 464 of file SiStripFedCabling.h.

Referenced by ConnsRange().

ConnsConstIterRange SiStripFedCabling::ConnsRange::vector_
private

Definition at line 463 of file SiStripFedCabling.h.