CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/DataFormats/TrackingRecHit/interface/RecHit1D.h

Go to the documentation of this file.
00001 #ifndef TrackingRecHit_RecHit1D_H
00002 #define TrackingRecHit_RecHit1D_H
00003 
00017 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
00018 #include "DataFormats/GeometrySurface/interface/LocalError.h"
00019 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00020 
00021 
00022 class RecHit1D : public TrackingRecHit {
00023  public:
00024 
00025   RecHit1D(DetId id) : TrackingRecHit(id) {}
00026   RecHit1D(TrackingRecHit::id_type id=0) : TrackingRecHit(id) {}
00027 
00029   virtual ~RecHit1D() {}
00030 
00031 
00033   virtual AlgebraicVector parameters() const;
00034 
00035 
00037   virtual AlgebraicSymMatrix parametersError() const;
00038 
00039 
00041   virtual AlgebraicMatrix projectionMatrix() const {
00042     if ( !isInitialized) initialize();
00043     return theProjectionMatrix;
00044   }
00045 
00046 
00048   virtual int dimension() const {
00049     return 1;
00050   }
00051 
00052 
00054   virtual LocalPoint localPosition() const = 0;
00055 
00056 
00058   virtual LocalError localPositionError() const = 0;
00059 
00060 
00061  private:
00062 
00063   static bool isInitialized;
00064 
00065   static AlgebraicMatrix theProjectionMatrix;
00066 
00067   void initialize() const;
00068 
00069 };
00070 #endif
00071 
00072 
00073 
00074 
00075