File indexing completed on 2023-03-17 11:26:29
0001 #ifndef _Tracker_TrajectorySmoother_H_
0002 #define _Tracker_TrajectorySmoother_H_
0003
0004 #include "TrackingTools/PatternTools/interface/Trajectory.h"
0005
0006 class TkCloner;
0007
0008
0009
0010
0011 class TrajectorySmoother {
0012 public:
0013 typedef std::vector<Trajectory> TrajectoryContainer;
0014 typedef TrajectoryContainer::iterator TrajectoryIterator;
0015
0016 virtual ~TrajectorySmoother() {}
0017
0018 virtual TrajectoryContainer trajectories(const Trajectory& traj) const {
0019 Trajectory&& nt = trajectory(traj);
0020 if (nt.isValid())
0021 return TrajectoryContainer(1, nt);
0022 return TrajectoryContainer();
0023 }
0024 virtual Trajectory trajectory(const Trajectory&) const = 0;
0025
0026 virtual TrajectorySmoother* clone() const = 0;
0027
0028 virtual void setHitCloner(TkCloner const*) = 0;
0029 };
0030
0031 #endif