00001 #ifndef HitPairGeneratorFromLayerPair_h 00002 #define HitPairGeneratorFromLayerPair_h 00003 00004 #include "RecoTracker/TkHitPairs/interface/HitPairGenerator.h" 00005 #include "RecoTracker/TkHitPairs/interface/CombinedHitPairGenerator.h" 00006 #include "RecoTracker/TkSeedingLayers/interface/SeedingLayer.h" 00007 #include "FWCore/Framework/interface/EventSetup.h" 00008 00009 class DetLayer; 00010 class TrackingRegion; 00011 00012 class HitPairGeneratorFromLayerPair : public HitPairGenerator { 00013 00014 public: 00015 00016 typedef CombinedHitPairGenerator::LayerCacheType LayerCacheType; 00017 typedef ctfseeding::SeedingLayer Layer; 00018 00019 HitPairGeneratorFromLayerPair(const Layer& inner, 00020 const Layer& outer, 00021 LayerCacheType* layerCache, 00022 unsigned int nSize=30000, 00023 unsigned int max=0); 00024 00025 virtual ~HitPairGeneratorFromLayerPair() { } 00026 00027 00028 virtual HitDoublets doublets( const TrackingRegion& reg, 00029 const edm::Event & ev, const edm::EventSetup& es); 00030 00031 virtual void hitPairs( const TrackingRegion& reg, OrderedHitPairs & prs, 00032 const edm::Event & ev, const edm::EventSetup& es); 00033 00034 virtual HitPairGeneratorFromLayerPair* clone() const { 00035 return new HitPairGeneratorFromLayerPair(*this); 00036 } 00037 00038 const Layer & innerLayer() const { return theInnerLayer; } 00039 const Layer & outerLayer() const { return theOuterLayer; } 00040 00041 private: 00042 LayerCacheType & theLayerCache; 00043 Layer const theOuterLayer; 00044 Layer const theInnerLayer; 00045 }; 00046 00047 #endif