Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:54:51

0001 #ifndef RecHit2DLocalPos_H
0002 #define RecHit2DLocalPos_H
0003 
0004 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
0005 #include "DataFormats/GeometrySurface/interface/LocalError.h"
0006 #include "DataFormats/GeometrySurface/interface/GloballyPositioned.h"
0007 
0008 class RecHit2DLocalPos : public TrackingRecHit {
0009 public:
0010   typedef GloballyPositioned<float>::LocalPoint LocalPoint;
0011 
0012   RecHit2DLocalPos(DetId id) : TrackingRecHit(id) {}
0013   RecHit2DLocalPos(TrackingRecHit::id_type id = 0) : TrackingRecHit(id) {}
0014   ~RecHit2DLocalPos() override {}
0015 
0016   RecHit2DLocalPos* clone() const override = 0;
0017 
0018   AlgebraicVector parameters() const override;
0019 
0020   AlgebraicSymMatrix parametersError() const override;
0021 
0022   AlgebraicMatrix projectionMatrix() const override { return theProjectionMatrix; }
0023 
0024   int dimension() const override { return 2; }
0025 
0026   LocalPoint localPosition() const override = 0;
0027 
0028   LocalError localPositionError() const override = 0;
0029 
0030   std::vector<const TrackingRecHit*> recHits() const override;
0031 
0032   std::vector<TrackingRecHit*> recHits() override;
0033 
0034 private:
0035   static const AlgebraicMatrix theProjectionMatrix;
0036 };
0037 
0038 #endif