File indexing completed on 2024-04-06 12:28:49
0001 #ifndef HitPairGenerator_H
0002 #define HitPairGenerator_H
0003
0004 #include <vector>
0005
0006
0007
0008
0009
0010
0011 #include "RecoTracker/TkTrackingRegions/interface/OrderedHitsGenerator.h"
0012 #include "RecoTracker/TkHitPairs/interface/OrderedHitPairs.h"
0013 #include "RecoTracker/TkHitPairs/interface/RecHitsSortedInPhi.h"
0014 #include "TrackingTools/TransientTrackingRecHit/interface/SeedingLayerSetsHits.h"
0015 #include "FWCore/Utilities/interface/RunningAverage.h"
0016
0017 class TrackingRegion;
0018 namespace edm {
0019 class Event;
0020 class EventSetup;
0021 }
0022
0023 class HitPairGenerator : public OrderedHitsGenerator {
0024 public:
0025 explicit HitPairGenerator(unsigned int size = 4000);
0026 HitPairGenerator(HitPairGenerator const& other) : localRA(other.localRA.mean()) {}
0027
0028 ~HitPairGenerator() override {}
0029
0030 const OrderedHitPairs& run(const TrackingRegion& region, const edm::Event& ev, const edm::EventSetup& es) override;
0031
0032 virtual void hitPairs(const TrackingRegion& reg,
0033 OrderedHitPairs& prs,
0034 const edm::Event& ev,
0035 const edm::EventSetup& es) = 0;
0036
0037 void clear() final;
0038
0039 private:
0040 OrderedHitPairs thePairs;
0041 edm::RunningAverage localRA;
0042 };
0043
0044 #endif