Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:43

0001 #ifndef SiTrackerMRHTools_MeasurementByLayerGrouper_H
0002 #define SiTrackerMRHTools_MeasurementByLayerGrouper_H
0003 
0004 class DetLayer;
0005 class TrajectoryMeasurement;
0006 class GeometricSearchTracker;
0007 
0008 #include <vector>
0009 #include <map>
0010 
0011 //groups the TrajectoryMeasurements on a layer by layer basis
0012 
0013 class MeasurementByLayerGrouper {
0014 private:
0015   typedef TrajectoryMeasurement TM;
0016   const GeometricSearchTracker* theGeomSearch;
0017 
0018   const DetLayer* getDetLayer(const TM& tm) const;
0019 
0020 public:
0021   explicit MeasurementByLayerGrouper(const GeometricSearchTracker* search = nullptr) : theGeomSearch(search){};
0022 
0023   std::vector<std::pair<const DetLayer*, std::vector<TM> > > operator()(const std::vector<TM>&) const;
0024 
0025   //to be ported later if needed
0026   /*
0027   vector<TM> 
0028   operator()(const vector<pair<const DetLayer*, vector<TM> > >&) const;
0029 
0030   vector<pair<const DetLayer*, map<int, vector<TrajectoryMeasurement> > > > 
0031   operator()(const map<int, vector<TM> >&) const;
0032 */
0033 };
0034 #endif