Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef CombinedHitPairGenerator_H
0002 #define CombinedHitPairGenerator_H
0003 
0004 #include <vector>
0005 #include "RecoTracker/TkHitPairs/interface/HitPairGenerator.h"
0006 #include "RecoTracker/TkHitPairs/interface/LayerHitMapCache.h"
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008 #include "FWCore/Utilities/interface/EDGetToken.h"
0009 
0010 class TrackingRegion;
0011 class OrderedHitPairs;
0012 class HitPairGeneratorFromLayerPair;
0013 class SeedingLayerSetsHits;
0014 namespace edm {
0015   class Event;
0016   class EventSetup;
0017 }  // namespace edm
0018 
0019 #include <memory>
0020 
0021 /** \class CombinedHitPairGenerator
0022  * Hides set of HitPairGeneratorFromLayerPair generators.
0023  */
0024 
0025 class CombinedHitPairGenerator : public HitPairGenerator {
0026 public:
0027   typedef LayerHitMapCache LayerCacheType;
0028 
0029 public:
0030   CombinedHitPairGenerator(const edm::ParameterSet& cfg, edm::ConsumesCollector& iC);
0031   ~CombinedHitPairGenerator() override;
0032 
0033   /// form base class
0034   void hitPairs(const TrackingRegion& reg,
0035                 OrderedHitPairs& result,
0036                 const edm::Event& ev,
0037                 const edm::EventSetup& es) override;
0038 
0039 private:
0040   edm::EDGetTokenT<SeedingLayerSetsHits> theSeedingLayerToken;
0041 
0042   LayerCacheType theLayerCache;
0043 
0044   std::unique_ptr<HitPairGeneratorFromLayerPair> theGenerator;
0045 };
0046 #endif