00001 #ifndef TrajectoryCleaning_TrajectoryCleaner_h 00002 #define TrajectoryCleaning_TrajectoryCleaner_h 00003 00004 #include "TrackingTools/PatternTools/interface/Trajectory.h" 00005 00010 class TrackingComponentsRecord; 00011 00012 class TrajectoryCleaner { 00013 00014 public: 00015 typedef TrackingComponentsRecord Record; 00016 typedef std::vector<Trajectory> TrajectoryContainer; 00017 typedef std::vector<Trajectory*> TrajectoryPointerContainer; 00018 typedef TrajectoryContainer::iterator TrajectoryIterator; 00019 typedef TrajectoryPointerContainer::iterator TrajectoryPointerIterator; 00020 00021 TrajectoryCleaner(){}; 00022 virtual ~TrajectoryCleaner(){}; 00023 00024 virtual void clean( TrajectoryContainer&) const; 00025 virtual void clean( TrajectoryPointerContainer&) const = 0; 00026 00027 }; 00028 00029 #endif