CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
TrajectorySmoother.h
Go to the documentation of this file.
1 #ifndef _Tracker_TrajectorySmoother_H_
2 #define _Tracker_TrajectorySmoother_H_
3 
5 
6 class TkCloner;
7 
12 public:
13  typedef std::vector<Trajectory> TrajectoryContainer;
14  typedef TrajectoryContainer::iterator TrajectoryIterator;
15 
16  virtual ~TrajectorySmoother() {}
17 
18  virtual TrajectoryContainer trajectories(const Trajectory& traj) const {
19  Trajectory&& nt = trajectory(traj);
20  if (nt.isValid())
21  return TrajectoryContainer(1, nt);
22  return TrajectoryContainer();
23  }
24  virtual Trajectory trajectory(const Trajectory&) const = 0;
25 
26  virtual TrajectorySmoother* clone() const = 0;
27  // FIXME a prototype: final inplementaiton may differ
28  virtual void setHitCloner(TkCloner const*) = 0;
29 };
30 
31 #endif
virtual void setHitCloner(TkCloner const *)=0
virtual TrajectoryContainer trajectories(const Trajectory &traj) const
virtual TrajectorySmoother * clone() const =0
virtual Trajectory trajectory(const Trajectory &) const =0
int nt
Definition: AMPTWrapper.h:42
bool isValid() const
Definition: Trajectory.h:257
TrajectoryContainer::iterator TrajectoryIterator
std::vector< Trajectory > TrajectoryContainer