CMS 3D CMS Logo

MultiHitGeneratorFromPairAndLayers.h
Go to the documentation of this file.
1 #ifndef MultiHitGeneratorFromPairAndLayers_H
2 #define MultiHitGeneratorFromPairAndLayers_H
3 
10 #include <vector>
14 
15 namespace edm {
16  class ParameterSet;
17  class Event;
18  class EventSetup;
20 } // namespace edm
21 class TrackingRegion;
23 
25 public:
27 
30 
32 
33  virtual void initES(const edm::EventSetup& es) = 0;
34 
35  void init(std::unique_ptr<HitPairGeneratorFromLayerPair>&& pairGenerator, LayerCacheType* layerCache);
36 
37  virtual void hitSets(const TrackingRegion& region,
38  OrderedMultiHits& trs,
39  const edm::Event& ev,
40  const edm::EventSetup& es,
42  std::vector<SeedingLayerSetsHits::SeedingLayer> thirdLayers) = 0;
43 
44  virtual void hitTriplets(const TrackingRegion& region,
46  const HitDoublets& doublets,
47  const RecHitsSortedInPhi** thirdHitMap,
48  const std::vector<const DetLayer*>& thirdLayerDetLayer,
49  const int nThirdLayers) = 0;
50 
52 
53  void clear();
54 
55 protected:
56  using cacheHitPointer = std::unique_ptr<BaseTrackerRecHit>;
57  using cacheHits = std::vector<cacheHitPointer>;
58  cacheHits cache; // ownes what is by reference above...
59 
60  std::unique_ptr<HitPairGeneratorFromLayerPair> thePairGenerator;
62  const unsigned int theMaxElement;
63 };
64 #endif
std::unique_ptr< BaseTrackerRecHit > cacheHitPointer
const HitPairGeneratorFromLayerPair & pairGenerator() const
virtual void initES(const edm::EventSetup &es)=0
MultiHitGeneratorFromPairAndLayers(const edm::ParameterSet &pset)
void init(std::unique_ptr< HitPairGeneratorFromLayerPair > &&pairGenerator, LayerCacheType *layerCache)
virtual void hitTriplets(const TrackingRegion &region, OrderedMultiHits &result, const HitDoublets &doublets, const RecHitsSortedInPhi **thirdHitMap, const std::vector< const DetLayer *> &thirdLayerDetLayer, const int nThirdLayers)=0
virtual void hitSets(const TrackingRegion &region, OrderedMultiHits &trs, const edm::Event &ev, const edm::EventSetup &es, SeedingLayerSetsHits::SeedingLayerSet pairLayers, std::vector< SeedingLayerSetsHits::SeedingLayer > thirdLayers)=0
HLT enums.
std::unique_ptr< HitPairGeneratorFromLayerPair > thePairGenerator
static void fillDescriptions(edm::ParameterSetDescription &desc)