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