00001 #ifndef TrackingRecHit_RecSegment_h 00002 #define TrackingRecHit_RecSegment_h 00003 00016 /* Base Class Headers */ 00017 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h" 00018 00019 /* Collaborating Class Declarations */ 00020 #include "DataFormats/GeometrySurface/interface/LocalError.h" 00021 #include "DataFormats/GeometryVector/interface/LocalVector.h" 00022 00023 /* C++ Headers */ 00024 00025 /* ====================================================================== */ 00026 00027 /* Class RecSegment Interface */ 00028 00029 class RecSegment : public TrackingRecHit{ 00030 00031 public: 00032 RecSegment(DetId id) : TrackingRecHit(id) {} 00033 RecSegment(TrackingRecHit::id_type id=0) : TrackingRecHit(id) {} 00034 00036 virtual ~RecSegment() {}; 00037 00039 virtual LocalVector localDirection() const = 0; 00040 00042 virtual LocalError localDirectionError() const = 0; 00043 00045 virtual double chi2() const = 0 ; 00046 00048 virtual int degreesOfFreedom() const = 0 ; 00049 00051 virtual int dimension() const = 0 ; 00052 00053 }; 00054 #endif // TrackingRecHit_RecSegment_h 00055