1 #ifndef DataFormats_MuonDigiCollection_h 2 #define DataFormats_MuonDigiCollection_h 29 template <
typename IndexType,
typename DigiType>
36 typedef std::pair<IndexType, std::pair<DigiRangeIterator, DigiRangeIterator> >
value_type;
60 return std::make_pair(
base_->first, std::make_pair(
base_->second.begin(),
base_->second.end()));
86 template <
typename IndexType,
typename DigiType>
95 typedef typename std::pair<const_iterator, const_iterator>
Range;
100 digis.push_back(digi);
106 digis.reserve(digis.size() + (
range.second -
range.first));
111 template <
typename IRange>
115 digis.reserve(digis.size() + (
range.second -
range.first));
116 digis.insert(digis.end(), std::make_move_iterator(
range.first), std::make_move_iterator(
range.second));
122 typename container::const_iterator it =
data_.find(
index);
123 if (it ==
data_.end()) {
125 static const std::vector<DigiType>
empty;
126 return std::make_pair(
empty.end(),
empty.end());
128 const std::vector<DigiType>& digis = (*it).second;
129 return std::make_pair(digis.begin(), digis.end());
139 typedef std::map<IndexType, std::vector<DigiType> >
container;
144 template <
typename IndexType,
typename DigiType>
void move(IRange range, const IndexType &index)
insert a range of digis for a given DetUnit
std::vector< DigiType >::const_iterator DigiRangeIterator
void swap(MuonDigiCollection &rh)
DigiContainerIterator< IndexType, DigiType > DigiRangeIterator
void swap(MuonDigiCollection< IndexType, DigiType > &rh, MuonDigiCollection< IndexType, DigiType > &lh)
std::map< IndexType, std::vector< DigiType > > BaseContainer
value_type operator*(void) const
bool operator==(const DigiContainerIterator &x) const
DigiContainerIterator(void)
void insertDigi(const IndexType &index, const DigiType &digi)
insert a digi for a given DetUnit
DigiRangeIterator::iterator_category iterator_category
DigiRangeIterator::difference_type difference_type
std::map< IndexType, std::vector< DigiType > > container
DigiRangeIterator begin() const
std::pair< IndexType, std::pair< DigiRangeIterator, DigiRangeIterator > > value_type
std::pair< const_iterator, const_iterator > Range
std::vector< DigiType >::const_iterator const_iterator
DigiContainerIterator operator++(int)
DigiContainerIterator(BaseIterator i)
bool operator!=(const DigiContainerIterator &x) const
BaseContainer::const_iterator BaseIterator
void put(Range range, const IndexType &index)
insert a range of digis for a given DetUnit
DigiRangeIterator end() const
DigiContainerIterator & operator++(void)
A container for a generic type of digis indexed by some index, implemented with a map<IndexType...