Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef CombinedHitQuadrupletGeneratorForPhotonConversion_H
0002 #define CombinedHitQuadrupletGeneratorForPhotonConversion_H
0003 
0004 #include <vector>
0005 #include <memory>
0006 #include "RecoTracker/TkHitPairs/interface/OrderedHitPairs.h"
0007 #include "RecoTracker/TkHitPairs/interface/LayerHitMapCache.h"
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009 #include "FWCore/Utilities/interface/EDGetToken.h"
0010 
0011 class TrackingRegion;
0012 class OrderedHitPairs;
0013 class HitQuadrupletGeneratorFromLayerPairForPhotonConversion;
0014 class SeedingLayerSetsHits;
0015 namespace edm {
0016   class Event;
0017   class EventSetup;
0018   class ParameterSet;
0019   class ConsumesCollector;
0020 }  // namespace edm
0021 
0022 #include "ConversionRegion.h"
0023 
0024 /** \class CombinedHitQuadrupletGeneratorForPhotonConversion
0025  * Hides set of HitQuadrupletGeneratorFromLayerPairForPhotonConversion generators.
0026  */
0027 
0028 class CombinedHitQuadrupletGeneratorForPhotonConversion {
0029 public:
0030   typedef LayerHitMapCache LayerCacheType;
0031 
0032 public:
0033   CombinedHitQuadrupletGeneratorForPhotonConversion(const edm::ParameterSet& cfg, edm::ConsumesCollector& iC);
0034   CombinedHitQuadrupletGeneratorForPhotonConversion(const CombinedHitQuadrupletGeneratorForPhotonConversion& cb) =
0035       delete;
0036   ~CombinedHitQuadrupletGeneratorForPhotonConversion();
0037 
0038   void hitPairs(const TrackingRegion&, OrderedHitPairs&, const edm::Event&, const edm::EventSetup&);
0039 
0040   const OrderedHitPairs& run(const TrackingRegion& region, const edm::Event& ev, const edm::EventSetup& es);
0041 
0042   void clearLayerCache() { theLayerCache.clear(); }
0043 
0044   /*------------------------*/
0045 private:
0046   edm::EDGetTokenT<SeedingLayerSetsHits> theSeedingLayerToken;
0047   const unsigned int theMaxElement;
0048   LayerCacheType theLayerCache;
0049 
0050   std::unique_ptr<HitQuadrupletGeneratorFromLayerPairForPhotonConversion> theGenerator;
0051 
0052   OrderedHitPairs thePairs;
0053 };
0054 #endif