CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/TrackingTools/MeasurementDet/interface/TrajectoryMeasurementGroup.h

Go to the documentation of this file.
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