CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/DataFormats/TrackingRecHit/interface/AlignmentPositionError.h

Go to the documentation of this file.
00001 #ifndef ALIGNMENT_POSITION_ERROR_H
00002 #define ALIGNMENT_POSITION_ERROR_H
00003 
00004 #include "DataFormats/GeometryCommonDetAlgo/interface/GlobalError.h"
00005 
00010 class AlignmentPositionError {
00011 
00012  public:
00013 
00014   AlignmentPositionError(){};
00015   
00016   AlignmentPositionError(float dx, float dy, float dz);
00017   
00018   AlignmentPositionError(GlobalError ge) : theGlobalError(ge) {};
00019 
00020   ~AlignmentPositionError(){};
00021   
00022   const GlobalError & globalError() const { return theGlobalError; };
00023 
00024   AlignmentPositionError operator+ (const AlignmentPositionError& ape) const {
00025     return AlignmentPositionError ( this->globalError() + ape.globalError());
00026   };
00027 
00028   AlignmentPositionError operator- (const AlignmentPositionError& ape) const {
00029     return AlignmentPositionError ( this->globalError() - ape.globalError());
00030 
00031   };
00032 
00033   AlignmentPositionError & operator+= (const AlignmentPositionError& ape) {
00034     theGlobalError = GlobalError(this->globalError() + ape.globalError());
00035     return *this;
00036   };
00037 
00038   AlignmentPositionError & operator-= (const AlignmentPositionError& ape) {
00039     theGlobalError = GlobalError(this->globalError() - ape.globalError());
00040     return *this;
00041   };
00042 
00043 
00044  private:
00045   
00046   GlobalError theGlobalError;
00047 };
00048 
00049 #endif // ALIGNMENT_POSITION_ERROR_H
00050