CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/RecoTracker/TkHitPairs/interface/HitPairGeneratorFromLayerPair.h

Go to the documentation of this file.
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