CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/RecoTracker/TkHitPairs/interface/HitPairGenerator.h

Go to the documentation of this file.
00001 #ifndef HitPairGenerator_H
00002 #define HitPairGenerator_H
00003 
00004 #include <vector>
00005 
00011 #include "RecoTracker/TkTrackingRegions/interface/OrderedHitsGenerator.h"
00012 #include "RecoTracker/TkHitPairs/interface/OrderedHitPairs.h"
00013 
00014 class TrackingRegion;
00015 namespace edm { class Event; class EventSetup; }
00016 
00017 class HitPairGenerator : public OrderedHitsGenerator {
00018 public:
00019 
00020   HitPairGenerator(unsigned int size=30000);
00021 
00022   virtual ~HitPairGenerator() { }
00023 
00024   virtual const OrderedHitPairs & run(
00025     const TrackingRegion& region, const edm::Event & ev, const edm::EventSetup& es);
00026 
00027   // temporary interface for backward compatibility only
00028   virtual void hitPairs( 
00029     const TrackingRegion& reg, OrderedHitPairs & prs, const edm::EventSetup& es) {}
00030 
00031   virtual void hitPairs( const TrackingRegion& reg, OrderedHitPairs & prs, 
00032       const edm::Event & ev,  const edm::EventSetup& es) = 0;
00033 
00034   virtual HitPairGenerator* clone() const = 0;
00035 
00036   virtual void clear() { thePairs.clear(); } 
00037 
00038 private:
00039   OrderedHitPairs thePairs;
00040 
00041 };
00042 
00043 #endif