CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 { class ParameterSet; class Event; class EventSetup; }
16 class TrackingRegion;
18 
20 
21 public:
23 
26 
27  virtual void initES(const edm::EventSetup& es) = 0;
28 
29  void init(std::unique_ptr<HitPairGeneratorFromLayerPair>&& pairGenerator, LayerCacheType *layerCache);
30 
31  virtual void hitSets( const TrackingRegion& region, OrderedMultiHits & trs,
32  const edm::Event & ev, const edm::EventSetup& es,
34  std::vector<SeedingLayerSetsHits::SeedingLayer> thirdLayers) = 0;
35 
37 
38  void clear();
39 
40 protected:
41  using cacheHitPointer = std::unique_ptr<BaseTrackerRecHit>;
42  using cacheHits=std::vector<cacheHitPointer>;
43  cacheHits cache; // ownes what is by reference above...
44 
45  std::unique_ptr<HitPairGeneratorFromLayerPair> thePairGenerator;
47  const unsigned int theMaxElement;
48 };
49 #endif
50 
51 
std::unique_ptr< BaseTrackerRecHit > cacheHitPointer
const HitPairGeneratorFromLayerPair & pairGenerator() const
bool ev
virtual void initES(const edm::EventSetup &es)=0
MultiHitGeneratorFromPairAndLayers(const edm::ParameterSet &pset)
void init(std::unique_ptr< HitPairGeneratorFromLayerPair > &&pairGenerator, LayerCacheType *layerCache)
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
std::unique_ptr< HitPairGeneratorFromLayerPair > thePairGenerator