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