CMS 3D CMS Logo

PointForAlignment.h

Go to the documentation of this file.
00001 
00010 #ifndef PointForAlignment_PointForAlignment_h
00011 #define PointForAlignment_PointForAlignment_h
00012 
00013 
00014 #include "DataFormats/GeometrySurface/interface/LocalError.h"
00015 
00016 #include "DataFormats/GeometryVector/interface/LocalVector.h"
00017 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00018 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00019 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
00020 #include <TMatrixD.h>
00021 
00022 
00023 
00024 class PointForAlignment {
00025 
00026  public:
00027   
00028   
00029   PointForAlignment();
00030   
00031   ~PointForAlignment();
00032   
00033   void setPointForAlignment(long , int, int, GlobalPoint , GlobalVector, LocalPoint, LocalError, LocalVector, LocalError, GlobalPoint , GlobalVector, LocalPoint , LocalVector, TMatrixD, TMatrixD);
00034   
00035   long rawId();
00036   
00037   GlobalPoint globalPosition();
00038   
00039   GlobalVector globalDirection();
00040   
00041   LocalPoint localPosition();
00042 
00043   LocalVector localDirection();
00044   
00045   GlobalPoint predictedGlobalPosition();
00046 
00047   GlobalVector predictedGlobalDirection();
00048   
00049   LocalPoint predictedLocalPosition();
00050   
00051   LocalVector predictedLocalDirection();
00052   
00053   TMatrixD residual();
00054 
00055   TMatrixD errors();
00056 
00057   TMatrixD alignmentMatrix();
00058   
00059   void calculateResiduals();
00060 
00061   void calculateErrors();
00062   
00063   void calculateAlignmentCoeff();
00064 
00065   TMatrixD derivatives();
00066   
00067   bool pointIsValid();
00068 
00069  private:
00070   
00071   double residualRPhi();
00072   
00073   double residualZ();
00074   
00075   double residualPhi();
00076   
00077   double residualTheta();
00078 
00079   long theRawId;
00080   int subDet;
00081   int station; 
00082  
00083   GlobalPoint theGlobalPosition;
00084   GlobalVector theGlobalDirection;
00085   LocalPoint theLocalPosition;
00086   LocalError theLocalPositionError;
00087   LocalVector theLocalDirection;
00088   LocalError theLocalDirectionError;
00089   GlobalPoint thePredictedGlobalPosition;
00090   GlobalVector thePredictedGlobalDirection;
00091   LocalPoint thePredictedLocalPosition;
00092   LocalVector thePredictedLocalDirection;
00093   
00094   TMatrixD theDerivatives;
00095   TMatrixD theErrors;
00096   TMatrixD theResiduals;
00097   TMatrixD theResidualsError;
00098   TMatrixD theAlignmentMatrix;
00099   TMatrixD CovMatrix;
00100   TMatrixD CovMatrixInit;
00101 
00102   double theResidualRPhi; 
00103   double theResidualZ; 
00104   double theResidualPhi;
00105   double theResidualTheta;
00106 
00107   const static int NDOFTrack = 5;
00108   const static int NDOFAlign = 6;
00109   const static int NDOFChamber = 4;
00110   const static int NDOFCoor = 4;
00111 
00112   bool validPoint;
00113         
00114 };
00115 
00116 #endif

Generated on Tue Jun 9 17:24:12 2009 for CMSSW by  doxygen 1.5.4