CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/RecoTracker/SiTrackerMRHTools/interface/MeasurementByLayerGrouper.h

Go to the documentation of this file.
00001 #ifndef SiTrackerMRHTools_MeasurementByLayerGrouper_H
00002 #define SiTrackerMRHTools_MeasurementByLayerGrouper_H
00003 
00004 class DetLayer;
00005 class TrajectoryMeasurement;
00006 class GeometricSearchTracker;
00007 
00008 #include <vector>
00009 #include <map>
00010 
00011 //groups the TrajectoryMeasurements on a layer by layer basis
00012 
00013 class MeasurementByLayerGrouper {
00014 
00015 private:
00016 
00017   typedef TrajectoryMeasurement TM;
00018   const GeometricSearchTracker* theGeomSearch; 
00019 
00020   const DetLayer* getDetLayer(const TM& tm) const;
00021 
00022 public:
00023 
00024   explicit MeasurementByLayerGrouper(const GeometricSearchTracker* search = 0):theGeomSearch(search){};
00025 
00026   std::vector<std::pair<const DetLayer*, std::vector<TM> > > operator()(const std::vector<TM>&) const;
00027 
00028 
00029 //to be ported later if needed
00030 /*
00031   vector<TM> 
00032   operator()(const vector<pair<const DetLayer*, vector<TM> > >&) const;
00033 
00034   vector<pair<const DetLayer*, map<int, vector<TrajectoryMeasurement> > > > 
00035   operator()(const map<int, vector<TM> >&) const;
00036 */
00037 
00038 };
00039 #endif