00001 00002 #ifndef SiStripLaserRecHit2D_H 00003 #define SiStripLaserRecHit2D_H 00004 00005 #include "DataFormats/TrackingRecHit/interface/RecHit2DLocalPos.h" 00006 #include "DataFormats/GeometrySurface/interface/LocalError.h" 00007 #include "DataFormats/SiStripDetId/interface/SiStripDetId.h" 00008 00012 class SiStripLaserRecHit2D : public RecHit2DLocalPos { 00013 00014 public: 00015 00016 SiStripLaserRecHit2D(): RecHit2DLocalPos(0) {} 00017 ~SiStripLaserRecHit2D() {} 00018 SiStripLaserRecHit2D( const LocalPoint& p, const LocalError& e, const SiStripDetId& id ) : RecHit2DLocalPos( id ), position( p ), error( e ) { detId = id; } 00019 00020 virtual LocalPoint localPosition() const { return position; } 00021 virtual LocalError localPositionError() const { return error; } 00022 virtual SiStripLaserRecHit2D* clone() const { return new SiStripLaserRecHit2D( *this ); } 00023 00024 const SiStripDetId& getDetId( void ) const { return detId; } 00025 00026 private: 00027 00028 LocalPoint position; 00029 LocalError error; 00030 SiStripDetId detId; 00031 00032 }; 00033 00034 00035 00039 inline bool operator<( const SiStripLaserRecHit2D& one, const SiStripLaserRecHit2D& other ) { 00040 return( one.geographicalId() < other.geographicalId() ); 00041 } 00042 00043 00044 #endif