CMS 3D CMS Logo

PixelDigiCollection.cc
Go to the documentation of this file.
2 #include <iostream>
3 #include <algorithm>
4 
5 void PixelDigiCollection::put(Range input, unsigned int detID) {
6  // put in Digis of detID
7 
8  // store size of vector before put
10 
11  // put in PixelDigis from input
12  bool first = true;
13 
14  // fill input in temporary vector for sorting
15  std::vector<PixelDigi> temporary;
18  for (; sort_begin != sort_end; ++sort_begin) {
19  temporary.push_back(*sort_begin);
20  }
21  std::sort(temporary.begin(), temporary.end());
22 
23  // iterators over input
24  PixelDigiCollection::ContainerIterator begin = temporary.begin();
26  for (; begin != end; ++begin) {
27  container_.push_back(*begin);
28  if (first) {
29  inputRange.first = container_.size() - 1;
30  first = false;
31  }
32  }
33  inputRange.second = container_.size() - 1;
34 
35  // fill map
36  map_[detID] = inputRange;
37 }
38 
39 const PixelDigiCollection::Range PixelDigiCollection::get(unsigned int detID) const {
40  // get Digis of detID
41 
42  auto found = map_.find(detID);
43  PixelDigiCollection::IndexRange returnIndexRange{};
44  if (found != map_.end()) {
45  returnIndexRange = found->second;
46  }
47 
48  PixelDigiCollection::Range returnRange;
49  returnRange.first = container_.begin() + returnIndexRange.first;
50  returnRange.second = container_.begin() + returnIndexRange.second + 1;
51 
52  return returnRange;
53 }
54 
55 const std::vector<unsigned int> PixelDigiCollection::detIDs() const {
56  // returns vector of detIDs in map
57 
60 
61  std::vector<unsigned int> output;
62 
63  for (; begin != end; ++begin) {
64  output.push_back(begin->first);
65  }
66 
67  return output;
68 }
PixelDigiCollection.h
PixelDigiCollection::IndexRange
std::pair< unsigned int, unsigned int > IndexRange
Definition: PixelDigiCollection.h:13
input
static const std::string input
Definition: EdmProvDump.cc:48
PixelDigiCollection::Range
std::pair< ContainerIterator, ContainerIterator > Range
Definition: PixelDigiCollection.h:12
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
PixelDigiCollection::RegistryIterator
std::map< unsigned int, IndexRange >::const_iterator RegistryIterator
Definition: PixelDigiCollection.h:15
newFWLiteAna.found
found
Definition: newFWLiteAna.py:118
pileupCalc.inputRange
inputRange
Definition: pileupCalc.py:217
mps_fire.end
end
Definition: mps_fire.py:242
first
auto first
Definition: CAHitNtupletGeneratorKernelsImpl.h:125
PixelDigiCollection::put
void put(Range input, unsigned int detID)
Definition: PixelDigiCollection.cc:5
jetUpdater_cfi.sort
sort
Definition: jetUpdater_cfi.py:29
PixelDigiCollection::detIDs
const std::vector< unsigned int > detIDs() const
Definition: PixelDigiCollection.cc:55
PixelDigiCollection::map_
Registry map_
Definition: PixelDigiCollection.h:25
PixelDigiCollection::ContainerIterator
std::vector< PixelDigi >::const_iterator ContainerIterator
Definition: PixelDigiCollection.h:11
PixelDigiCollection::get
const Range get(unsigned int detID) const
Definition: PixelDigiCollection.cc:39
PixelDigiCollection::container_
std::vector< PixelDigi > container_
Definition: PixelDigiCollection.h:24