CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/RecoTracker/TkHitPairs/interface/CosmicHitPairGenerator.h

Go to the documentation of this file.
00001 #ifndef CosmicHitPairGenerator_H
00002 #define CosmicHitPairGenerator_H
00003 
00004 #include <vector>
00005 #include "RecoTracker/TkHitPairs/interface/HitPairGenerator.h"
00006 #include "RecoTracker/TkHitPairs/interface/CosmicHitPairGeneratorFromLayerPair.h"
00007 #include "DataFormats/Common/interface/RangeMap.h"
00008 #include "FWCore/Framework/interface/EventSetup.h"
00009 class SeedLayerPairs;
00010 class LayerWithHits;
00011 class DetLayer;
00012 class TrackingRegion;
00013 class HitPairGeneratorFromLayerPair;
00014 
00015 
00020 class CosmicHitPairGenerator : public HitPairGenerator{
00021 
00022   typedef std::vector<CosmicHitPairGeneratorFromLayerPair *>   Container;
00023 
00024 public:
00025   CosmicHitPairGenerator(SeedLayerPairs& layers, const edm::EventSetup& iSetup);
00026   CosmicHitPairGenerator(SeedLayerPairs& layers);
00027 
00028 
00029   ~CosmicHitPairGenerator();
00030 
00032     //  void  add(const DetLayer* inner, const DetLayer* outer);
00033     void  add(const LayerWithHits* inner, 
00034               const LayerWithHits* outer,
00035               const edm::EventSetup& iSetup);
00037   virtual void hitPairs( const TrackingRegion& reg, 
00038                          OrderedHitPairs & prs, 
00039                          const edm::EventSetup& iSetup);
00040   virtual void hitPairs( const TrackingRegion& reg, 
00041                          OrderedHitPairs & prs, 
00042                    const edm::Event & ev,
00043                          const edm::EventSetup& iSetup) {}
00044 
00046   virtual CosmicHitPairGenerator * clone() const 
00047     { return new CosmicHitPairGenerator(*this); }
00048 
00049 private:
00050 
00051 
00052   Container        theGenerators;
00053 
00054 };
00055 #endif