CMS 3D CMS Logo

CombinedHitPairGenerator.h

Go to the documentation of this file.
00001 #ifndef CombinedHitPairGenerator_H
00002 #define CombinedHitPairGenerator_H
00003 
00004 #include <vector>
00005 #include "RecoTracker/TkHitPairs/interface/HitPairGenerator.h"
00006 #include "RecoTracker/TkHitPairs/interface/LayerHitMapCache.h"
00007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00008 
00009 class TrackingRegion;
00010 class OrderedHitPairs;
00011 class HitPairGeneratorFromLayerPair;
00012 namespace ctfseeding { class SeedingLayer;}
00013 namespace edm { class Event; class EventSetup; }
00014 
00015 #include "RecoTracker/TkSeedingLayers/interface/SeedingLayerSets.h"
00016 
00021 class CombinedHitPairGenerator : public HitPairGenerator {
00022 public:
00023   typedef LayerHitMapCache LayerCacheType;
00024 
00025 public:
00026   CombinedHitPairGenerator(const edm::ParameterSet & cfg);
00027 
00028   CombinedHitPairGenerator(const ctfseeding::SeedingLayerSets & layerSets);
00029 
00030 
00031   virtual ~CombinedHitPairGenerator();
00032 
00033   void  add(const ctfseeding::SeedingLayer & inner, 
00034               const ctfseeding::SeedingLayer & outer);
00035 
00037   virtual void hitPairs( const TrackingRegion& reg, 
00038       OrderedHitPairs & result, const edm::Event& ev, const edm::EventSetup& es);
00039 
00041   virtual CombinedHitPairGenerator * clone() const 
00042     { return new CombinedHitPairGenerator(*this); }
00043 
00044 private:
00045   void init(const ctfseeding::SeedingLayerSets & layerSets);
00046   void init(const edm::ParameterSet & cfg, const edm::EventSetup& es);
00047 
00048   mutable bool initialised;
00049   edm::ParameterSet theConfig;
00050 
00051   LayerCacheType   theLayerCache;
00052 
00053   typedef std::vector<HitPairGeneratorFromLayerPair *>   Container;
00054   Container        theGenerators;
00055 
00056 };
00057 #endif

Generated on Tue Jun 9 17:45:48 2009 for CMSSW by  doxygen 1.5.4