00001 #ifndef BaseSiTrackerRecHit2DLocalPos_H 00002 #define BaseSiTrackerRecHit2DLocalPos_H 00003 00004 #include "DataFormats/TrackingRecHit/interface/RecHit2DLocalPos.h" 00005 #include "DataFormats/GeometrySurface/interface/LocalError.h" 00006 #include "DataFormats/DetId/interface/DetId.h" 00007 00008 class BaseSiTrackerRecHit2DLocalPos : public RecHit2DLocalPos { 00009 public: 00010 00011 BaseSiTrackerRecHit2DLocalPos(): RecHit2DLocalPos(0) {} 00012 00013 ~BaseSiTrackerRecHit2DLocalPos() {} 00014 00015 BaseSiTrackerRecHit2DLocalPos( const LocalPoint& p, const LocalError&e, 00016 DetId id) : RecHit2DLocalPos(id), pos_(p), err_(e){} 00017 00018 // virtual BaseSiTrackerRecHit2DLocalPos * clone() const {return new BaseSiTrackerRecHit2DLocalPos( * this); } 00019 00020 virtual LocalPoint localPosition() const ; 00021 00022 virtual LocalError localPositionError() const ; 00023 00024 bool hasPositionAndError() const ; 00025 00026 virtual void getKfComponents( KfComponentsHolder & holder ) const ; 00027 private: 00028 00029 LocalPoint pos_; 00030 LocalError err_; 00031 }; 00032 00033 // Comparison operators 00034 inline bool operator<( const BaseSiTrackerRecHit2DLocalPos& one, const BaseSiTrackerRecHit2DLocalPos& other) { 00035 return ( one.geographicalId() < other.geographicalId() ); 00036 } 00037 00038 #endif