CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Types | Private Attributes
MuonDigiCollection< IndexType, DigiType > Class Template Reference

A container for a generic type of digis indexed by some index, implemented with a map<IndexType, vector<DigiType> > More...

#include "/MuonDigiCollection.h"

Public Types

typedef std::vector< DigiType >
::const_iterator 
const_iterator
 
typedef DigiContainerIterator
< IndexType, DigiType > 
DigiRangeIterator
 
typedef std::pair
< const_iterator,
const_iterator
Range
 

Public Member Functions

DigiRangeIterator begin () const
 
DigiRangeIterator end () const
 
Range get (const IndexType &index) const
 return the digis for a given DetUnit More...
 
void insertDigi (const IndexType &index, const DigiType &digi)
 insert a digi for a given DetUnit More...
 
 MuonDigiCollection ()
 
void put (Range range, const IndexType &index)
 insert a range of digis for a given DetUnit More...
 

Private Types

typedef std::map< IndexType,
std::vector< DigiType > > 
container
 

Private Attributes

container data_
 

Detailed Description

template<typename IndexType, typename DigiType>
class MuonDigiCollection< IndexType, DigiType >

A container for a generic type of digis indexed by some index, implemented with a map<IndexType, vector<DigiType> >

Example: 
Note
: Requirements
  • IndexType must provide operator <
Author
Stefano ARGIRO
Date
05 Aug 2005

Definition at line 100 of file MuonDigiCollection.h.

Member Typedef Documentation

template<typename IndexType , typename DigiType >
typedef std::vector<DigiType>::const_iterator MuonDigiCollection< IndexType, DigiType >::const_iterator

Definition at line 106 of file MuonDigiCollection.h.

template<typename IndexType , typename DigiType >
typedef std::map<IndexType,std::vector<DigiType> > MuonDigiCollection< IndexType, DigiType >::container
private

Definition at line 147 of file MuonDigiCollection.h.

template<typename IndexType , typename DigiType >
typedef DigiContainerIterator<IndexType,DigiType> MuonDigiCollection< IndexType, DigiType >::DigiRangeIterator

Definition at line 136 of file MuonDigiCollection.h.

template<typename IndexType , typename DigiType >
typedef std::pair<const_iterator,const_iterator> MuonDigiCollection< IndexType, DigiType >::Range

Definition at line 107 of file MuonDigiCollection.h.

Constructor & Destructor Documentation

template<typename IndexType , typename DigiType >
MuonDigiCollection< IndexType, DigiType >::MuonDigiCollection ( )
inline

Definition at line 104 of file MuonDigiCollection.h.

104 {}

Member Function Documentation

template<typename IndexType , typename DigiType >
DigiRangeIterator MuonDigiCollection< IndexType, DigiType >::begin ( void  ) const
inline

Definition at line 138 of file MuonDigiCollection.h.

References MuonDigiCollection< IndexType, DigiType >::data_.

138  {
139  return data_.begin();}
template<typename IndexType , typename DigiType >
DigiRangeIterator MuonDigiCollection< IndexType, DigiType >::end ( void  ) const
inline

Definition at line 141 of file MuonDigiCollection.h.

References MuonDigiCollection< IndexType, DigiType >::data_.

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

141  {
142  return data_.end();}
template<typename IndexType , typename DigiType >
Range MuonDigiCollection< IndexType, DigiType >::get ( const IndexType &  index) const
inline

return the digis for a given DetUnit

Definition at line 125 of file MuonDigiCollection.h.

References MuonDigiCollection< IndexType, DigiType >::data_, relativeConstraints::empty, and getHLTprescales::index.

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), and betterConfigParser.BetterConfigParser::getResultingSection().

125  {
126  typename container::const_iterator it = data_.find(index);
127  if (it==data_.end()) {
128  // if data_ is empty there is no other way to get an empty range
129  static std::vector<DigiType> empty;
130  return std::make_pair(empty.end(),empty.end());
131  }
132  const std::vector<DigiType>& digis = (*it).second;
133  return std::make_pair(digis.begin(),digis.end());
134  }
template<typename IndexType , typename DigiType >
void MuonDigiCollection< IndexType, DigiType >::insertDigi ( const IndexType &  index,
const DigiType &  digi 
)
inline

insert a digi for a given DetUnit

Definition at line 111 of file MuonDigiCollection.h.

References MuonDigiCollection< IndexType, DigiType >::data_, and getHLTprescales::index.

Referenced by DTDigitizer::storeDigis().

111  {
112  std::vector<DigiType> &digis = data_[index];
113  digis.push_back(digi);
114  }
template<typename IndexType , typename DigiType >
void MuonDigiCollection< IndexType, DigiType >::put ( Range  range,
const IndexType &  index 
)
inline

insert a range of digis for a given DetUnit

Definition at line 117 of file MuonDigiCollection.h.

References filterCSVwithJSON::copy, MuonDigiCollection< IndexType, DigiType >::data_, and getHLTprescales::index.

117  {
118  std::vector<DigiType> &digis = data_[index];
119  digis.reserve (digis.size () + (range.second - range.first));
120  std::copy (range.first, range.second, std::back_inserter (digis));
121 
122  }

Member Data Documentation

template<typename IndexType , typename DigiType >
container MuonDigiCollection< IndexType, DigiType >::data_
private