Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:35:19

0001 #ifndef _Clusterizer1D_H_
0002 #define _Clusterizer1D_H_
0003 
0004 #include "CommonTools/Clustering1D/interface/Cluster1D.h"
0005 
0006 #include <vector>
0007 #include <utility>
0008 
0009 /**
0010  * \class Clusterizer1D
0011  *  purely abstract interface to clustering algorithms that operate on
0012  *  Cluster1D<T>.
0013  */
0014 
0015 template <class T>
0016 class Clusterizer1D {
0017 public:
0018   virtual ~Clusterizer1D() {}
0019   virtual std::pair<std::vector<Cluster1D<T> >, std::vector<const T*> > operator()(
0020       const std::vector<Cluster1D<T> >&) const = 0;
0021 
0022   virtual Clusterizer1D* clone() const = 0;
0023 };
0024 
0025 #endif