Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:49

0001 #ifndef CosmicHitPairGenerator_H
0002 #define CosmicHitPairGenerator_H
0003 
0004 #include <vector>
0005 #include "RecoTracker/TkHitPairs/interface/CosmicHitPairGeneratorFromLayerPair.h"
0006 #include "DataFormats/Common/interface/RangeMap.h"
0007 #include "FWCore/Framework/interface/EventSetup.h"
0008 class SeedLayerPairs;
0009 class LayerWithHits;
0010 class DetLayer;
0011 class TrackingRegion;
0012 
0013 /** \class CosmicHitPairGenerator
0014  * Hides set of HitPairGeneratorFromLayerPair generators.
0015  */
0016 
0017 class CosmicHitPairGenerator {
0018   typedef std::vector<std::unique_ptr<CosmicHitPairGeneratorFromLayerPair> > Container;
0019 
0020 public:
0021   CosmicHitPairGenerator(SeedLayerPairs& layers, const TrackerGeometry&);
0022   CosmicHitPairGenerator(SeedLayerPairs& layers);
0023 
0024   ~CosmicHitPairGenerator();
0025 
0026   /// add generators based on layers
0027   //  void  add(const DetLayer* inner, const DetLayer* outer);
0028   void add(const LayerWithHits* inner, const LayerWithHits* outer, const TrackerGeometry& trackGeom);
0029   /// form base class
0030   void hitPairs(const TrackingRegion& reg, OrderedHitPairs& pr);
0031 
0032 private:
0033   Container theGenerators;
0034 };
0035 #endif