CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/SLHCUpgradeSimulations/L1TrackTrigger/interface/ClusteringAlgorithm.h

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 #ifndef CLUSTERING_ALGO_BASE_H
00010 #define CLUSTERING_ALGO_BASE_H
00011 
00012 #include <sstream>
00013 #include <map>
00014 #include <string>
00015 #include "classNameFinder.h"
00016 #include "Geometry/TrackerGeometryBuilder/interface/StackedTrackerGeometry.h"
00017 
00024   template< typename T >
00025   class ClusteringAlgorithm
00026   {
00027     protected:
00029       const StackedTrackerGeometry *theStackedTracker;
00030       std::string className_;
00031     public:
00033       ClusteringAlgorithm( const StackedTrackerGeometry *aStackedTracker, std::string fName )
00034         : theStackedTracker( aStackedTracker ){
00035         className_=classNameFinder<T>(fName);
00036       }
00037 
00038 
00040       virtual ~ClusteringAlgorithm(){}
00041 
00043       virtual void Cluster( std::vector< std::vector< T > > &output, const std::vector< T > &input ) const
00044       {
00045         output.clear();
00046       }
00047 
00049       virtual std::string AlgorithmName() const { return className_; }
00050 
00051   }; 
00052 
00053 
00054 
00055 #endif
00056