00001 #ifndef SiTrackerMRHTools_MultiRecHitCollector_h 00002 #define SiTrackerMRHTools_MultiRecHitCollector_h 00003 00004 //#include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h" 00005 #include "RecoTracker/MeasurementDet/interface/MeasurementTracker.h" 00006 #include <vector> 00007 00008 class Trajectory; 00009 class TrajectoryMeasurement; 00010 00011 class MultiRecHitCollector { 00012 00013 public: 00014 MultiRecHitCollector(const MeasurementTracker* meas): theMeasurementTracker(meas){} 00015 00016 //virtual TransientTrackingRecHit::ConstRecHitContainer recHits(const Trajectory&) const = 0; 00017 virtual std::vector<TrajectoryMeasurement> recHits(const Trajectory&) const = 0; 00018 00019 const MeasurementTracker* getMeasurementTracker() const {return theMeasurementTracker;} 00020 00021 void updateEvent(const edm::Event& e) const {theMeasurementTracker->update(e);} 00022 00023 00024 private: 00025 const MeasurementTracker* theMeasurementTracker; 00026 00027 }; 00028 00029 #endif 00030