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