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