CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/RecoPixelVertexing/PixelTriplets/plugins/CombinedHitTripletGenerator.h

Go to the documentation of this file.
00001 #ifndef CombinedHitTripletGenerator_H
00002 #define CombinedHitTripletGenerator_H
00003 
00009 #include <vector>
00010 #include "RecoPixelVertexing/PixelTriplets/interface/HitTripletGenerator.h"
00011 #include "RecoTracker/TkHitPairs/interface/LayerHitMapCache.h"
00012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00013 
00014 class TrackingRegion;
00015 class HitTripletGeneratorFromPairAndLayers;
00016 namespace ctfseeding { class SeedingLayer;}
00017 
00018 namespace edm { class Event; }
00019 namespace edm { class EventSetup; }
00020 
00021 class CombinedHitTripletGenerator : public HitTripletGenerator {
00022 public:
00023   typedef LayerHitMapCache  LayerCacheType;
00024 
00025 public:
00026 
00027   CombinedHitTripletGenerator( const edm::ParameterSet& cfg);
00028 
00029   virtual ~CombinedHitTripletGenerator();
00030 
00032   virtual void hitTriplets( const TrackingRegion& reg, OrderedHitTriplets & triplets,
00033       const edm::Event & ev,  const edm::EventSetup& es);
00034 
00035 private:
00036   void init(const edm::ParameterSet & cfg, const edm::EventSetup& es);
00037 
00038   mutable bool initialised;
00039 
00040   edm::ParameterSet         theConfig;
00041   LayerCacheType            theLayerCache;
00042 
00043   typedef std::vector<HitTripletGeneratorFromPairAndLayers* > GeneratorContainer;
00044   GeneratorContainer        theGenerators;
00045 };
00046 #endif