CMS 3D CMS Logo

TripletGenerator.h

Go to the documentation of this file.
00001 #ifndef _TripletGenerator_h_
00002 #define _TripletGenerator_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 class TrackerGeometry;
00019 
00020 #include <vector>
00021 
00022 class   TripletGenerator :
00023  public HitTripletGeneratorFromPairAndLayers {
00024 
00025  typedef CombinedHitTripletGenerator::LayerCacheType       LayerCacheType;
00026 
00027  public:
00028    TripletGenerator( const edm::ParameterSet& cfg) 
00029     : ps(cfg), thePairGenerator(0), theLayerCache(0) { theTracker = 0; }
00030 
00031    virtual ~TripletGenerator() { delete thePairGenerator; }
00032 
00033    virtual void init( const HitPairGenerator & pairs,
00034       const std::vector<ctfseeding::SeedingLayer> & layers, LayerCacheType* layerCache);
00035 
00036    virtual void hitTriplets(const TrackingRegion& region, OrderedHitTriplets & trs,  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    void getTracker (const edm::EventSetup& es);
00043    GlobalPoint getGlobalPosition(const TrackingRecHit* recHit);
00044 
00045    const TrackerGeometry* theTracker;
00046 
00047    edm::ParameterSet         ps;
00048    HitPairGenerator * thePairGenerator;
00049    std::vector<ctfseeding::SeedingLayer> theLayers;
00050    LayerCacheType * theLayerCache;
00051 
00052   bool checkMultipleScattering;
00053   double nSigMultipleScattering;
00054   bool checkClusterShape;
00055   double rzTolerance;
00056   double maxAngleRatio;
00057 };
00058 
00059 #endif

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