CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/RecoTracker/TkSeedGenerator/interface/SeedFromConsecutiveHits.h

Go to the documentation of this file.
00001 #ifndef SeedFromConsecutiveHits_H
00002 #define SeedFromConsecutiveHits_H
00003 
00008 #include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h"
00009 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHit.h"
00010 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
00011 #include "DataFormats/GeometryCommonDetAlgo/interface/GlobalError.h"
00012 #include "TrackingTools/PatternTools/interface/TrajectoryMeasurement.h"
00013 #include "FWCore/Framework/interface/EventSetup.h"
00014 #include "FWCore/Framework/interface/ESHandle.h"
00015 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
00016 #include "RecoTracker/TransientTrackingRecHit/interface/TkTransientTrackingRecHitBuilder.h"
00017 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateTransform.h"
00018 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00019 #include "RecoTracker/TkSeedingLayers/interface/SeedingHitSet.h"
00020 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
00021 
00022 #include "RecoTracker/TkSeedGenerator/interface/SeedFromConsecutiveHitsCreator.h"
00023 #include "RecoTracker/TkTrackingRegions/interface/GlobalTrackingRegion.h"
00024 
00025 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00026 #include <boost/shared_ptr.hpp>
00027 
00028 class SeedFromConsecutiveHits{
00029 
00030 public:
00031   typedef edm::OwnVector<TrackingRecHit> recHitContainer;
00032  
00033   SeedFromConsecutiveHits(const SeedingHitSet & hits,
00034     const GlobalPoint& vertexPos, const GlobalError& vertexErr,
00035     const edm::EventSetup& es, float ptMin, double theBOFFMomentum=-1.0) 
00036   {
00037     GlobalTrackingRegion region( ptMin, vertexPos, sqrt(vertexErr.cxx()), sqrt(vertexErr.czz()) );  
00038     SeedFromConsecutiveHitsCreator creator("PropagatorWithMaterial",theBOFFMomentum);
00039     theSeed.clear();
00040     creator.trajectorySeed(theSeed, hits, region, es); 
00041   } 
00042  
00043   virtual  ~SeedFromConsecutiveHits(){};
00044 
00045   bool isValid() {return  theSeed.size()>0 ; }
00046  
00047   TrajectorySeed const & TrajSeed(){ return theSeed.back(); }
00048 
00049 private:
00050   TrajectorySeedCollection theSeed;
00051 };
00052 
00053 #endif