00001 #ifndef GSSiTrackerRecHit2DLocalPos_H 00002 #define GSSiTrackerRecHit2DLocalPos_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 GSSiTrackerRecHit2DLocalPos : public RecHit2DLocalPos { 00009 public: 00010 00011 GSSiTrackerRecHit2DLocalPos(): RecHit2DLocalPos(0) {} 00012 00013 ~GSSiTrackerRecHit2DLocalPos() {} 00014 00015 GSSiTrackerRecHit2DLocalPos( const LocalPoint& p, const LocalError&e, 00016 DetId id) : RecHit2DLocalPos(id), pos_(p), err_(e){} 00017 00018 // virtual GSSiTrackerRecHit2DLocalPos * clone() const {return new GSSiTrackerRecHit2DLocalPos( * this); } 00019 00020 virtual LocalPoint localPosition() const {return pos_;} 00021 00022 virtual LocalError localPositionError() const{ return err_;} 00023 00024 virtual void getKfComponents( KfComponentsHolder & holder ) const ; 00025 00026 virtual bool sharesInput( const TrackingRecHit* other, SharedInputType what) const {return false;} 00027 private: 00028 00029 LocalPoint pos_; 00030 LocalError err_; 00031 }; 00032 00033 // Comparison operators 00034 inline bool operator<( const GSSiTrackerRecHit2DLocalPos& one, const GSSiTrackerRecHit2DLocalPos& other) { 00035 return ( one.geographicalId() < other.geographicalId() ); 00036 } 00037 00038 #endif