CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/RecoTracker/CkfPattern/interface/TransientInitialStateEstimator.h

Go to the documentation of this file.
00001 #ifndef TransientInitialStateEstimator_H
00002 #define TransientInitialStateEstimator_H
00003 
00004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00005 #include "FWCore/Framework/interface/ESHandle.h"
00006 
00007 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00008 
00009 #include <utility>
00010 
00011 class Propagator;
00012 class GeomDet;
00013 class Trajectory;
00014 namespace edm { class EventSetup;}
00015 
00019 
00020 class TransientInitialStateEstimator {
00021 public:
00022 
00023   typedef TrajectoryStateOnSurface TSOS;
00024 
00025   TransientInitialStateEstimator( const edm::EventSetup& es, const edm::ParameterSet& conf);
00027   void setEventSetup( const edm::EventSetup& es );
00028 
00029   std::pair<TrajectoryStateOnSurface, const GeomDet*>
00030     innerState( const Trajectory& traj, bool doBackFit=true) const;
00031 
00032 
00033 private:
00034   std::string thePropagatorAlongName;    
00035   std::string thePropagatorOppositeName;  
00036   edm::ESHandle<Propagator>  thePropagatorAlong; 
00037   edm::ESHandle<Propagator>  thePropagatorOpposite;
00038   int theNumberMeasurementsForFit;
00039 };
00040 
00041 #endif