CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/DataFormats/SiPixelDigi/interface/PixelDigiCollection.h

Go to the documentation of this file.
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