Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:39

0001 #ifndef TrajectoryCleaning_TrajectoryCleaner_h
0002 #define TrajectoryCleaning_TrajectoryCleaner_h
0003 
0004 #include "TrackingTools/PatternTools/interface/Trajectory.h"
0005 #include "TrackingTools/PatternTools/interface/TempTrajectory.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 
0008 /** The component of track reconstruction that resolves ambiguities 
0009  *  between mutually exclusive trajectories.
0010  */
0011 
0012 class TrackingComponentsRecord;
0013 
0014 class TrajectoryCleaner {
0015 public:
0016   typedef TrackingComponentsRecord Record;
0017   typedef std::vector<Trajectory> TrajectoryContainer;
0018   typedef std::vector<Trajectory*> TrajectoryPointerContainer;
0019   typedef TrajectoryContainer::iterator TrajectoryIterator;
0020   typedef TrajectoryPointerContainer::iterator TrajectoryPointerIterator;
0021 
0022   using TempTrajectoryContainer = std::vector<TempTrajectory>;
0023 
0024   TrajectoryCleaner() {}
0025   TrajectoryCleaner(edm::ParameterSet& iConfig) {}
0026   virtual ~TrajectoryCleaner() {}
0027 
0028   virtual void clean(TempTrajectoryContainer&) const;
0029   virtual void clean(TrajectoryContainer&) const;
0030   virtual void clean(TrajectoryPointerContainer&) const = 0;
0031 };
0032 
0033 #endif