CMS 3D CMS Logo

PixelTripletHLTGenerator.h

Go to the documentation of this file.
00001 #ifndef PixelTripletHLTGenerator_H
00002 #define PixelTripletHLTGenerator_H
00003 
00010 #include "RecoTracker/TkHitPairs/interface/HitPairGenerator.h"
00011 #include "RecoPixelVertexing/PixelTriplets/interface/HitTripletGenerator.h"
00012 #include "RecoPixelVertexing/PixelTriplets/interface/CombinedHitTripletGenerator.h"
00013 #include "RecoTracker/TkSeedingLayers/interface/SeedingLayer.h"
00014 #include "FWCore/Framework/interface/EventSetup.h"
00015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00016 #include "RecoPixelVertexing/PixelTriplets/interface/HitTripletGeneratorFromPairAndLayers.h"
00017 
00018 #include <utility>
00019 #include <vector>
00020 
00021 
00022 class PixelTripletHLTGenerator : public HitTripletGeneratorFromPairAndLayers {
00023 
00024 typedef CombinedHitTripletGenerator::LayerCacheType       LayerCacheType;
00025 
00026 public:
00027   PixelTripletHLTGenerator( const edm::ParameterSet& cfg) 
00028     : theConfig(cfg), thePairGenerator(0), theLayerCache(0) { }
00029 
00030   virtual ~PixelTripletHLTGenerator() { delete thePairGenerator; }
00031 
00032   virtual void init( const HitPairGenerator & pairs,
00033       const std::vector<ctfseeding::SeedingLayer> & layers, LayerCacheType* layerCache);
00034 
00035   virtual void hitTriplets( const TrackingRegion& region, OrderedHitTriplets & trs, 
00036       const edm::Event & ev, const edm::EventSetup& es);
00037 
00038   const HitPairGenerator & pairGenerator() const { return *thePairGenerator; }
00039   const std::vector<ctfseeding::SeedingLayer> & thirdLayers() const { return theLayers; }
00040 
00041 private:
00042   bool checkPhiInRange(float phi, float phi1, float phi2) const;
00043   std::pair<float,float> mergePhiRanges(
00044       const std::pair<float,float> &r1, const std::pair<float,float> &r2) const; 
00045 
00046   edm::ParameterSet         theConfig;
00047   HitPairGenerator * thePairGenerator;
00048   std::vector<ctfseeding::SeedingLayer> theLayers;
00049   LayerCacheType * theLayerCache;
00050 };
00051 #endif
00052 
00053 

Generated on Tue Jun 9 17:44:54 2009 for CMSSW by  doxygen 1.5.4