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
00015 class KFSplittingFitter : public KFTrajectoryFitter {
00016
00017 private:
00018
00019 typedef TrajectoryStateOnSurface TSOS;
00020 typedef FreeTrajectoryState FTS;
00021 typedef TrajectoryMeasurement TM;
00022
00023 public:
00024
00025 KFSplittingFitter(const Propagator& aPropagator,
00026 const TrajectoryStateUpdator& aUpdator,
00027 const MeasurementEstimator& aEstimator) :
00028 KFTrajectoryFitter(aPropagator, aUpdator, aEstimator) {}
00029
00030
00031 KFSplittingFitter(const Propagator* aPropagator,
00032 const TrajectoryStateUpdator* aUpdator,
00033 const MeasurementEstimator* aEstimator) :
00034 KFTrajectoryFitter(aPropagator, aUpdator, aEstimator) {}
00035
00036 virtual KFSplittingFitter* clone() const {
00037 return new KFSplittingFitter(propagator(),updator(),estimator());
00038 }
00039
00040 virtual std::vector<Trajectory> fit(const Trajectory& aTraj) const;
00041 virtual std::vector<Trajectory> fit(const TrajectorySeed& aSeed,
00042 const RecHitContainer& hits,
00043 const TSOS& firstPredTsos) const;
00044
00045
00046 };
00047
00048 #endif //CD_KFSplittingFitter_H_