00001 #ifndef _TRACKER_CARTESIANTRAJECTORYERROR_H_ 00002 #define _TRACKER_CARTESIANTRAJECTORYERROR_H_ 00003 00004 #include "DataFormats/Math/interface/AlgebraicROOTObjects.h" 00005 #include "DataFormats/GeometryCommonDetAlgo/interface/GlobalError.h" 00006 00015 class CartesianTrajectoryError { 00016 public: 00017 // construct 00018 CartesianTrajectoryError() {} 00019 00022 CartesianTrajectoryError(const AlgebraicSymMatrix66& aCovarianceMatrix) : 00023 theCovarianceMatrix(aCovarianceMatrix) { } 00024 00025 // access 00026 00029 const AlgebraicSymMatrix66 &matrix() const { 00030 return theCovarianceMatrix; 00031 } 00032 00036 void operator *= (double factor) { 00037 theCovarianceMatrix *= factor; 00038 } 00039 00041 00046 const GlobalError position() const { 00047 return GlobalError( theCovarianceMatrix.Sub<AlgebraicSymMatrix33>(0,0)); 00048 } 00049 00050 00051 private: 00052 AlgebraicSymMatrix66 theCovarianceMatrix; 00053 }; 00054 00055 #endif