CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch2/src/TrackingTools/TrackRefitter/interface/SeedTransformer.h

Go to the documentation of this file.
00001 #ifndef SeedTransformer_H
00002 #define SeedTransformer_H
00003 
00014 // Base class header
00015 #include "FWCore/Framework/interface/ESHandle.h"
00016 #include <vector>
00017 
00018 namespace edm {
00019   class ParameterSet;
00020   class EventSetup;
00021 }
00022 class Trajectory;
00023 class TrajectorySeed;
00024 class TrajectoryStateOnSurface;
00025 class GlobalTrackingGeometry;
00026 class MagneticField;
00027 class TrajectoryFitter;
00028 class TransientTrackingRecHitBuilder;
00029 class Propagator;
00030 
00031 class SeedTransformer {
00032 public:
00034   SeedTransformer(const edm::ParameterSet&);
00035 
00037   virtual ~SeedTransformer();
00038 
00039   // Operations
00041   void setServices(const edm::EventSetup&);
00042 
00044   std::vector<Trajectory> seedTransform(const TrajectorySeed&) const;
00045   TrajectoryStateOnSurface seedTransientState(const TrajectorySeed&) const;
00046 
00047 protected:
00048 
00049 private:
00050   edm::ESHandle<GlobalTrackingGeometry> theTrackingGeometry;
00051   edm::ESHandle<MagneticField> theMagneticField;
00052   edm::ESHandle<TrajectoryFitter> theFitter;
00053   edm::ESHandle<TransientTrackingRecHitBuilder> theMuonRecHitBuilder;
00054   edm::ESHandle<Propagator> thePropagator;
00055 
00056   std::string theFitterName;
00057   std::string theMuonRecHitBuilderName;
00058   std::string thePropagatorName ;
00059 
00061   unsigned int nMinRecHits;
00062 
00064   double errorRescale;
00065 
00066   bool useSubRecHits;
00067 
00068 };
00069 #endif
00070