CMS 3D CMS Logo

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>

List of all members.

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
void insertDigi (const IndexType &index, const DigiType &digi)
 insert a digi for a given DetUnit
 MuonDigiCollection ()
void put (Range range, const IndexType &index)
 insert a range of digis for a given DetUnit

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:

   typedef MuonDigiCollection<DTDetId,DTDigi> DTDigiCollection

Note:
: Requirements
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.

00104 {}


Member Function Documentation

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

Definition at line 138 of file MuonDigiCollection.h.

References MuonDigiCollection< IndexType, DigiType >::data_.

00138                                   { 
00139     return data_.begin();}

template<typename IndexType, typename DigiType>
DigiRangeIterator MuonDigiCollection< IndexType, DigiType >::end (  )  const [inline]

Definition at line 141 of file MuonDigiCollection.h.

References MuonDigiCollection< IndexType, DigiType >::data_.

00141                                 {
00142     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_, empty, index, and it.

00125                                          {
00126     typename container::const_iterator it = data_.find(index);
00127     if (it==data_.end()) {
00128       // if data_ is empty there is no other way to get an empty range
00129       static std::vector<DigiType> empty;
00130       return std::make_pair(empty.end(),empty.end());
00131     } 
00132     const std::vector<DigiType>& digis = (*it).second;
00133     return std::make_pair(digis.begin(),digis.end());
00134   }

template<typename IndexType, typename DigiType>
void MuonDigiCollection< IndexType, DigiType >::insertDigi ( const IndexType &  index,
const DigiType &  digi 
) [inline]

insert a digi for a given DetUnit

Deprecated:

Definition at line 111 of file MuonDigiCollection.h.

References MuonDigiCollection< IndexType, DigiType >::data_.

Referenced by DTDigitizer::storeDigis().

00111                                                                {
00112     std::vector<DigiType> &digis = data_[index];
00113     digis.push_back(digi);
00114   }

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 edmNew::copy(), and MuonDigiCollection< IndexType, DigiType >::data_.

00117                                                {
00118     std::vector<DigiType> &digis = data_[index];
00119     digis.reserve (digis.size () + (range.second - range.first));
00120     std::copy (range.first, range.second, std::back_inserter (digis));
00121     
00122   }


Member Data Documentation

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

Definition at line 148 of file MuonDigiCollection.h.

Referenced by MuonDigiCollection< IndexType, DigiType >::begin(), MuonDigiCollection< IndexType, DigiType >::end(), MuonDigiCollection< IndexType, DigiType >::get(), MuonDigiCollection< IndexType, DigiType >::insertDigi(), and MuonDigiCollection< IndexType, DigiType >::put().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:28:42 2009 for CMSSW by  doxygen 1.5.4