Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef CombinedHitPairGeneratorForPhotonConversion_H
0002 #define CombinedHitPairGeneratorForPhotonConversion_H
0003 
0004 #include <vector>
0005 #include <memory>
0006 #include "RecoTracker/TkHitPairs/interface/HitPairGenerator.h"
0007 #include "HitPairGeneratorFromLayerPairForPhotonConversion.h"
0008 #include "RecoTracker/TkHitPairs/interface/LayerHitMapCache.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0010 #include "FWCore/Utilities/interface/EDGetToken.h"
0011 #include "FWCore/Utilities/interface/Visibility.h"
0012 
0013 class TrackingRegion;
0014 class OrderedHitPairs;
0015 class HitPairGeneratorFromLayerPairForPhotonConversion;
0016 class SeedingLayerSetsHits;
0017 namespace edm {
0018   class Event;
0019   class EventSetup;
0020 }  // namespace edm
0021 
0022 #include "ConversionRegion.h"
0023 
0024 /** \class CombinedHitPairGeneratorForPhotonConversion
0025  * Hides set of HitPairGeneratorFromLayerPairForPhotonConversion generators.
0026  */
0027 
0028 class dso_hidden CombinedHitPairGeneratorForPhotonConversion {
0029 public:
0030   typedef LayerHitMapCache LayerCacheType;
0031 
0032 public:
0033   CombinedHitPairGeneratorForPhotonConversion(const edm::ParameterSet& cfg, edm::ConsumesCollector& iC);
0034 
0035   const OrderedHitPairs& run(const ConversionRegion& convRegion,
0036                              const TrackingRegion& region,
0037                              const edm::Event& ev,
0038                              const edm::EventSetup& es);
0039 
0040 private:
0041   void hitPairs(const ConversionRegion& convRegion,
0042                 const TrackingRegion& reg,
0043                 OrderedHitPairs& result,
0044                 const edm::Event& ev,
0045                 const edm::EventSetup& es);
0046 
0047 public:
0048   void clearCache();
0049 
0050 private:
0051   edm::EDGetTokenT<SeedingLayerSetsHits> theSeedingLayerToken;
0052 
0053   uint32_t maxHitPairsPerTrackAndGenerator;
0054 
0055   LayerCacheType theLayerCache;
0056 
0057   std::unique_ptr<HitPairGeneratorFromLayerPairForPhotonConversion> theGenerator;
0058 
0059   OrderedHitPairs thePairs;
0060 
0061   unsigned int theMaxElement;
0062 };
0063 #endif