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));
107 std::copy(range.first, range.second, std::back_inserter(digis));
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
std::map< IndexType, std::vector< DigiType > > BaseContainer
DigiContainerIterator(void)
void insertDigi(const IndexType &index, const DigiType &digi)
insert a digi for a given DetUnit
value_type operator*(void) const
DigiRangeIterator::iterator_category iterator_category
void swap(Association< C > &lhs, Association< C > &rhs)
DigiRangeIterator::difference_type difference_type
const uint16_t range(const Frame &aFrame)
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
std::map< IndexType, std::vector< DigiType > > container
bool operator==(const DigiContainerIterator &x) const
bool operator!=(const DigiContainerIterator &x) 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)
DigiRangeIterator end() const
BaseContainer::const_iterator BaseIterator
void put(Range range, const IndexType &index)
insert a range of digis for a given DetUnit
DigiContainerIterator & operator++(void)
DigiRangeIterator begin() const
A container for a generic type of digis indexed by some index, implemented with a map<IndexType...