00001 #ifndef TrajectoryMeasurementGroup_H 00002 #define TrajectoryMeasurementGroup_H 00003 00004 #include "TrackingTools/PatternTools/interface/TrajectoryMeasurement.h" 00005 #include "TrackingTools/DetLayers/interface/DetGroup.h" 00006 #include <vector> 00007 #include <utility> 00008 00017 class TrajectoryMeasurementGroup { 00018 public: 00019 00020 TrajectoryMeasurementGroup() {} 00021 TrajectoryMeasurementGroup( const std::vector<TrajectoryMeasurement>& meas, 00022 const DetGroup& dg) : measurements_(meas), detGroup_(dg) {} 00023 00024 #if defined( __GXX_EXPERIMENTAL_CXX0X__) 00025 TrajectoryMeasurementGroup(std::vector<TrajectoryMeasurement>&& meas, 00026 const DetGroup& dg) : measurements_(std::move(meas)), detGroup_(dg) {} 00027 TrajectoryMeasurementGroup(std::vector<TrajectoryMeasurement>&& meas, 00028 DetGroup&& dg) : measurements_(std::move(meas)), detGroup_(std::move(dg)) {} 00029 00030 #endif 00031 00032 const std::vector<TrajectoryMeasurement>& measurements() const {return measurements_;} 00033 std::vector<TrajectoryMeasurement>& measurements() {return measurements_;} 00034 const DetGroup& detGroup() const {return detGroup_;} 00035 00036 private: 00037 00038 std::vector<TrajectoryMeasurement> measurements_; 00039 DetGroup detGroup_; 00040 00041 }; 00042 00043 00044 00045 #endif