CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/TrackingTools/TrackFitters/interface/KFSplittingFitter.h

Go to the documentation of this file.
00001 #ifndef CD_KFSplittingFitter_H_
00002 #define CD_KFSplittingFitter_H_
00003 
00013 #include "TrackingTools/TrackFitters/interface/KFTrajectoryFitter.h"
00014 #include "TrackingTools/TrackFitters/interface/RecHitSplitter.h"
00015 
00016 class KFSplittingFitter GCC11_FINAL : public TrajectoryFitter {
00017 
00018 private:
00019 
00020   typedef RecHitSplitter::RecHitContainer        RecHitContainer;
00021 
00022   typedef TrajectoryStateOnSurface TSOS;
00023   typedef FreeTrajectoryState FTS;
00024   typedef TrajectoryMeasurement TM;
00025   
00026 public:
00027 
00028   KFSplittingFitter(const Propagator& aPropagator,
00029                     const TrajectoryStateUpdator& aUpdator,
00030                     const MeasurementEstimator& aEstimator) :
00031     fitter(aPropagator, aUpdator, aEstimator) {}
00032 
00033 
00034   KFSplittingFitter(const Propagator* aPropagator,
00035                     const TrajectoryStateUpdator* aUpdator,
00036                     const MeasurementEstimator* aEstimator) : 
00037     fitter(aPropagator, aUpdator, aEstimator) {}
00038 
00039   virtual KFSplittingFitter* clone() const {
00040     return new KFSplittingFitter(fitter.propagator(),fitter.updator(),fitter.estimator());
00041   }
00042   
00043   Trajectory fitOne(const Trajectory& aTraj,
00044                     fitType type) const;
00045   Trajectory fitOne(const TrajectorySeed& aSeed,
00046                     const RecHitContainer& hits,
00047                     fitType type) const;
00048  Trajectory fitOne(const TrajectorySeed& aSeed,
00049                     const RecHitContainer& hits, 
00050                     const TSOS& firstPredTsos,
00051                     fitType type) const;
00052 
00053  private :
00054 
00055  void sorter(const RecHitContainer& hits, PropagationDirection dir, RecHitContainer & result) const;
00056 
00057  KFTrajectoryFitter fitter;
00058 
00059 };
00060 
00061 #endif //CD_KFSplittingFitter_H_