CMS 3D CMS Logo

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