00001 #ifndef HitTripletGenerator_H 00002 #define HitTripletGenerator_H 00003 00008 #include "RecoTracker/TkTrackingRegions/interface/OrderedHitsGenerator.h" 00009 #include "RecoPixelVertexing/PixelTriplets/interface/OrderedHitTriplets.h" 00010 00011 class TrackingRegion; 00012 namespace edm { class Event; class EventSetup; } 00013 #include <vector> 00014 00015 class HitTripletGenerator : public OrderedHitsGenerator { 00016 public: 00017 00018 HitTripletGenerator(unsigned int size=500); 00019 00020 virtual ~HitTripletGenerator() { } 00021 00022 virtual const OrderedHitTriplets & run( 00023 const TrackingRegion& region, const edm::Event & ev, const edm::EventSetup& es); 00024 00025 // temporary interface, for bckwd compatibility 00026 virtual void hitTriplets( const TrackingRegion& reg, OrderedHitTriplets & prs, 00027 const edm::EventSetup& es){} 00028 00029 virtual void hitTriplets( const TrackingRegion& reg, OrderedHitTriplets & prs, 00030 const edm::Event & ev, const edm::EventSetup& es) = 0; 00031 00032 virtual void clear(); 00033 00034 private: 00035 OrderedHitTriplets theTriplets; 00036 00037 }; 00038 00039 00040 #endif