Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:31:53

0001 #ifndef HelpertRecHit2DLocalPos_H
0002 #define HelpertRecHit2DLocalPos_H
0003 
0004 // TO BE FIXED: the name of this class should be changed in something more generic
0005 // since it is now used also for 1D Hits
0006 
0007 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
0008 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
0009 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit1D.h"
0010 #include "DataFormats/TrackingRecHit/interface/KfComponentsHolder.h"
0011 
0012 // make it dummy, alignment error added in BaseTrackerRecHit
0013 
0014 class HelpertRecHit2DLocalPos  //: public TValidTrackingRecHit
0015 {
0016 public:
0017   static AlgebraicSymMatrix parError(const LocalError& le, const GeomDet& det) {
0018     AlgebraicSymMatrix m(2);
0019     m[0][0] = le.xx();
0020     m[0][1] = le.xy();
0021     m[1][1] = le.yy();
0022     return m;
0023   }
0024 
0025   /// Fills in KFComponents delegating to hit2dLocalPos, plus adding APE if available
0026   /// hit2dLocalPos MUST BE a 2D rechit measuring local position (e.g. BaseTrackerRecHit2D)
0027   static void getKfComponents(KfComponentsHolder& holder, const TrackingRecHit& hit2dLocalPos, const GeomDet& det) {
0028     hit2dLocalPos.getKfComponents(holder);
0029   }
0030 
0031   /// Fills in KFComponents delegating to hit1D, plus adding APE if available
0032   static void getKfComponents(KfComponentsHolder& holder, const SiStripRecHit1D& hit1D, const GeomDet& det) {
0033     hit1D.getKfComponents(holder);
0034   }
0035 };
0036 
0037 #endif