CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/DataFormats/FP420Cluster/interface/RecoCollectionFP420.h

Go to the documentation of this file.
00001 #ifndef RecoCollectionFP420_h
00002 #define RecoCollectionFP420_h
00003 
00004 #include "DataFormats/FP420Cluster/interface/RecoFP420.h"
00005 #include <vector>
00006 #include <map>
00007 #include <utility>
00008 
00009 class RecoCollectionFP420 {
00010 
00011  public:
00012 
00013   typedef std::vector<RecoFP420>::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   typedef std::map< unsigned int, std::vector<RecoFP420> > RecoFP420Container;
00019 
00020     RecoCollectionFP420() {}
00021     //  RecoCollectionFP420() {
00022     //    container_.clear();
00023     //}
00024     
00025     //        virtual ~RecoCollectionFP420(){
00026     //    delete RecoCollectionFP420
00027     //   cout << " RecoCollectionFP420h:     delete RecoCollectionFP420  " << endl;
00028     //        }
00029 
00030   
00031     void put(Range input, unsigned int stationID);
00032     const Range get(unsigned int stationID) const;
00033     const std::vector<unsigned int> stationIDs() const;
00034     void putclear(Range input, unsigned int stationID);
00035     void clear();
00036     
00037  private:
00038     mutable std::vector<RecoFP420> container_;
00039     mutable Registry map_;
00040     
00041     mutable RecoFP420Container trackMap_; 
00042 };
00043 
00044 #endif // 
00045 
00046