00001 #ifndef _TRACKER_CARTESIANTRAJECTORYERROR_H_ 00002 #define _TRACKER_CARTESIANTRAJECTORYERROR_H_ 00003 00004 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h" 00005 #include "DataFormats/GeometryCommonDetAlgo/interface/GlobalError.h" 00006 00015 class CartesianTrajectoryError { 00016 public: 00017 // construct 00018 CartesianTrajectoryError() {} 00019 00023 CartesianTrajectoryError(const AlgebraicSymMatrix66& aCovarianceMatrix) : 00024 theCovarianceMatrix(aCovarianceMatrix) { } 00025 00029 CartesianTrajectoryError(const AlgebraicSymMatrix& aCovarianceMatrix) : 00030 theCovarianceMatrix(asSMatrix<6>(aCovarianceMatrix)) {} 00031 // access 00032 00035 const AlgebraicSymMatrix matrix_old() const { 00036 return asHepMatrix(theCovarianceMatrix); 00037 } 00038 00039 00040 const AlgebraicSymMatrix66 &matrix() const { 00041 return theCovarianceMatrix; 00042 } 00043 00047 void operator *= (double factor) { 00048 theCovarianceMatrix *= factor; 00049 } 00050 00052 00057 GlobalError position() const; 00058 00059 private: 00060 AlgebraicSymMatrix66 theCovarianceMatrix; 00061 }; 00062 00063 #endif