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 
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;
63  const unsigned int theMaxElement;
64 };
65 #endif
MultiHitGeneratorFromPairAndLayers::theMaxElement
const unsigned int theMaxElement
Definition: MultiHitGeneratorFromPairAndLayers.h:63
OrderedMultiHits
Definition: OrderedMultiHits.h:8
MultiHitGeneratorFromPairAndLayers::cacheHitPointer
std::unique_ptr< BaseTrackerRecHit > cacheHitPointer
Definition: MultiHitGeneratorFromPairAndLayers.h:57
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
HitPairGeneratorFromLayerPair
Definition: HitPairGeneratorFromLayerPair.h:11
HLT_2018_cff.doublets
doublets
Definition: HLT_2018_cff.py:8544
LayerHitMapCache.h
LayerHitMapCache
Definition: LayerHitMapCache.h:14
SeedingLayerSetsHits.h
MultiHitGeneratorFromPairAndLayers::MultiHitGeneratorFromPairAndLayers
MultiHitGeneratorFromPairAndLayers(const edm::ParameterSet &pset)
Definition: MultiHitGeneratorFromPairAndLayers.cc:6
MultiHitGeneratorFromPairAndLayers::init
void init(std::unique_ptr< HitPairGeneratorFromLayerPair > &&pairGenerator, LayerCacheType *layerCache)
Definition: MultiHitGeneratorFromPairAndLayers.cc:15
MultiHitGeneratorFromPairAndLayers::pairGenerator
const HitPairGeneratorFromLayerPair & pairGenerator() const
Definition: MultiHitGeneratorFromPairAndLayers.h:52
Event
MultiHitGeneratorFromPairAndLayers::initES
virtual void initES(const edm::EventSetup &es)=0
RecHitsSortedInPhi
Definition: RecHitsSortedInPhi.h:17
HitDoublets
Definition: RecHitsSortedInPhi.h:124
edm::ParameterSet
Definition: ParameterSet.h:36
ParameterSet
Definition: Functions.h:16
MultiHitGeneratorFromPairAndLayers::LayerCacheType
LayerHitMapCache LayerCacheType
Definition: MultiHitGeneratorFromPairAndLayers.h:26
MultiHitGeneratorFromPairAndLayers::~MultiHitGeneratorFromPairAndLayers
virtual ~MultiHitGeneratorFromPairAndLayers()
Definition: MultiHitGeneratorFromPairAndLayers.cc:9
edm::EventSetup
Definition: EventSetup.h:57
MultiHitGeneratorFromPairAndLayers
Definition: MultiHitGeneratorFromPairAndLayers.h:24
OrderedMultiHits.h
MultiHitGeneratorFromPairAndLayers::hitTriplets
virtual void hitTriplets(const TrackingRegion &region, OrderedMultiHits &result, const edm::EventSetup &es, const HitDoublets &doublets, const RecHitsSortedInPhi **thirdHitMap, const std::vector< const DetLayer * > &thirdLayerDetLayer, const int nThirdLayers)=0
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
SeedingLayerSetsHits::SeedingLayerSet
Definition: SeedingLayerSetsHits.h:65
MultiHitGeneratorFromPairAndLayers::cacheHits
std::vector< cacheHitPointer > cacheHits
Definition: MultiHitGeneratorFromPairAndLayers.h:58
HLT_2018_cff.region
region
Definition: HLT_2018_cff.py:81479
ParameterSetDescription
TrackingRegion
Definition: TrackingRegion.h:38
MultiHitGeneratorFromPairAndLayers::cache
cacheHits cache
Definition: MultiHitGeneratorFromPairAndLayers.h:59
mps_fire.result
result
Definition: mps_fire.py:303
EventSetup
MultiHitGeneratorFromPairAndLayers::theLayerCache
LayerCacheType * theLayerCache
Definition: MultiHitGeneratorFromPairAndLayers.h:62
MultiHitGeneratorFromPairAndLayers::clear
void clear()
Definition: MultiHitGeneratorFromPairAndLayers.cc:21
edm::Event
Definition: Event.h:73
MultiHitGeneratorFromPairAndLayers::thePairGenerator
std::unique_ptr< HitPairGeneratorFromLayerPair > thePairGenerator
Definition: MultiHitGeneratorFromPairAndLayers.h:61
MultiHitGeneratorFromPairAndLayers::fillDescriptions
static void fillDescriptions(edm::ParameterSetDescription &desc)
Definition: MultiHitGeneratorFromPairAndLayers.cc:11
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
MultiHitGeneratorFromPairAndLayers::hitSets
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