CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/TrackingTools/TransientTrackingRecHit/src/HelpertRecHit2DLocalPos.cc

Go to the documentation of this file.
00001 #include "TrackingTools/TransientTrackingRecHit/interface/HelpertRecHit2DLocalPos.h"
00002 #include "DataFormats/GeometryCommonDetAlgo/interface/ErrorFrameTransformer.h"
00003 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
00004 #include "DataFormats/TrackingRecHit/interface/AlignmentPositionError.h"
00005 
00006 void
00007 HelpertRecHit2DLocalPos::updateWithAPE(LocalError& le, const GeomDet& det) 
00008 {
00009   LocalError lape = det.localAlignmentError();
00010   if (lape.valid())
00011     le = LocalError(le.xx()+lape.xx(),
00012                     le.xy()+lape.xy(),
00013                     le.yy()+lape.yy()
00014                     );
00015 }
00016 
00017 AlgebraicSymMatrix HelpertRecHit2DLocalPos::parError( const LocalError& le,
00018                                                       const GeomDet& det)
00019 {
00020   AlgebraicSymMatrix m(2);
00021   LocalError lape = det.localAlignmentError();
00022   if (lape.valid()) {
00023     m[0][0] = le.xx()+lape.xx();
00024     m[0][1] = le.xy()+lape.xy();
00025     m[1][1] = le.yy()+lape.yy();
00026   } else {
00027     m[0][0] = le.xx();
00028     m[0][1] = le.xy();
00029     m[1][1] = le.yy();
00030   };
00031   return m;
00032 }
00033 
00034 void
00035 HelpertRecHit2DLocalPos::getKfComponents(KfComponentsHolder & holder,
00036                                          const TrackingRecHit &hit2dLocalPos,
00037                                          const GeomDet& det)
00038 {
00039   hit2dLocalPos.getKfComponents(holder);
00040   LocalError lape = det.localAlignmentError();
00041   if (lape.valid()) {
00042     AlgebraicSymMatrix22 &m = holder.errors<2>();
00043     m(0, 0) += lape.xx();
00044     m(0, 1) += lape.xy();
00045     m(1, 1) += lape.yy();
00046   }
00047 }
00048 
00049 void
00050 HelpertRecHit2DLocalPos::getKfComponents(KfComponentsHolder & holder,
00051                                          const SiStripRecHit1D& hit1D,
00052                                          const GeomDet& det)
00053 {
00054   hit1D.getKfComponents(holder);
00055   LocalError lape =det.localAlignmentError();
00056   if (lape.valid()) {
00057     AlgebraicSymMatrix11 &m = holder.errors<1>();
00058     m(0, 0) += lape.xx();
00059   }
00060 }