00001 #ifndef CombinedHitTripletGenerator_H 00002 #define CombinedHitTripletGenerator_H 00003 00009 #include <vector> 00010 #include "RecoPixelVertexing/PixelTriplets/interface/HitTripletGenerator.h" 00011 #include "RecoTracker/TkHitPairs/interface/LayerHitMapCache.h" 00012 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00013 00014 class TrackingRegion; 00015 class HitTripletGeneratorFromPairAndLayers; 00016 namespace ctfseeding { class SeedingLayer;} 00017 00018 namespace edm { class Event; } 00019 namespace edm { class EventSetup; } 00020 00021 class CombinedHitTripletGenerator : public HitTripletGenerator { 00022 public: 00023 typedef LayerHitMapCache LayerCacheType; 00024 00025 public: 00026 00027 CombinedHitTripletGenerator( const edm::ParameterSet& cfg); 00028 00029 virtual ~CombinedHitTripletGenerator(); 00030 00032 virtual void hitTriplets( const TrackingRegion& reg, OrderedHitTriplets & triplets, 00033 const edm::Event & ev, const edm::EventSetup& es); 00034 00035 private: 00036 void init(const edm::ParameterSet & cfg, const edm::EventSetup& es); 00037 00038 mutable bool initialised; 00039 00040 edm::ParameterSet theConfig; 00041 LayerCacheType theLayerCache; 00042 00043 typedef std::vector<HitTripletGeneratorFromPairAndLayers* > GeneratorContainer; 00044 GeneratorContainer theGenerators; 00045 }; 00046 #endif