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 edm::EventSetup& es,
47  const HitDoublets& doublets,
48  const RecHitsSortedInPhi** thirdHitMap,
49  const std::vector<const DetLayer*>& thirdLayerDetLayer,
50  const int nThirdLayers) = 0;
51 
52  const HitPairGeneratorFromLayerPair& pairGenerator() const { return *thePairGenerator; }
53 
54  void clear();
55 
56 protected:
57  using cacheHitPointer = std::unique_ptr<BaseTrackerRecHit>;
58  using cacheHits = std::vector<cacheHitPointer>;
59  cacheHits cache; // ownes what is by reference above...
60 
61  std::unique_ptr<HitPairGeneratorFromLayerPair> thePairGenerator;
62  LayerCacheType* theLayerCache;
63  const unsigned int theMaxElement;
64 };
65 #endif
std::unique_ptr< BaseTrackerRecHit > cacheHitPointer
const HitPairGeneratorFromLayerPair & pairGenerator() const
int init
Definition: HydjetWrapper.h:64
bool ev
void clear(CLHEP::HepGenMatrix &m)
Helper function: Reset all elements of a matrix to 0.
Definition: matutil.cc:151
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
HLT enums.
std::unique_ptr< HitPairGeneratorFromLayerPair > thePairGenerator