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 }
0021
0022 #include "ConversionRegion.h"
0023
0024
0025
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