CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/DataFormats/SiStripCluster/interface/SiStripClusterCollection.h

Go to the documentation of this file.
00001 #ifndef DATAFORMATS_SISTRIPCLUSTERCOLLECTION_H
00002 #define DATAFORMATS_SISTRIPCLUSTERCOLLECTION_H
00003 
00004 #include "DataFormats/SiStripCluster/interface/SiStripCluster.h"
00005 #include <vector>
00006 #include <map>
00007 #include <utility>
00008 
00009 class SiStripClusterCollection {
00010 
00011  public:
00012   typedef std::vector<SiStripCluster> container;
00013   typedef container::value_type value_type;
00014   typedef container::const_iterator ContainerIterator;
00015   typedef std::pair<ContainerIterator, ContainerIterator> Range;
00016   typedef std::pair<unsigned int, unsigned int> IndexRange;
00017   typedef std::map<unsigned int, IndexRange> Registry;
00018   typedef std::map<unsigned int, IndexRange>::const_iterator RegistryIterator;
00019 
00020   SiStripClusterCollection() {}
00021   
00022   void put(Range input, unsigned int detID);
00023   const Range get(unsigned int detID) const;
00024   const std::vector<unsigned int> detIDs() const;
00025   size_t size() const { return container_.size(); }
00026 
00027  private:
00028   mutable container container_;
00029   mutable Registry map_;
00030 
00031 };
00032 
00033 #endif // 
00034 
00035