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