![]() |
![]() |
00001 #ifndef TRACKINGOBJECTS_PIXELDIGICOLLECTION_H 00002 #define TRACKINGOBJECTS_PIXELDIGICOLLECTION_H 00003 00004 #include "DataFormats/SiPixelDigi/interface/PixelDigi.h" 00005 #include <vector> 00006 #include <map> 00007 #include <utility> 00008 00009 class PixelDigiCollection { 00010 00011 public: 00012 00013 typedef std::vector<PixelDigi>::const_iterator ContainerIterator; 00014 typedef std::pair<ContainerIterator, ContainerIterator> Range; 00015 typedef std::pair<unsigned int, unsigned int> IndexRange; 00016 typedef std::map<unsigned int, IndexRange> Registry; 00017 typedef std::map<unsigned int, IndexRange>::const_iterator RegistryIterator; 00018 00019 PixelDigiCollection() {} 00020 00021 void put(Range input, unsigned int detID); 00022 const Range get(unsigned int detID) const; 00023 const std::vector<unsigned int> detIDs() const; 00024 00025 private: 00026 mutable std::vector<PixelDigi> container_; 00027 mutable Registry map_; 00028 00029 }; 00030 00031 #endif // TRACKINGOBJECTS_PIXELDIGICOLLECTION_H 00032 00033