00001 #ifndef CircleFromThreePoints_H 00002 #define CircleFromThreePoints_H 00003 00004 #include "DataFormats/GeometryVector/interface/GlobalPoint.h" 00005 #include "DataFormats/GeometryVector/interface/Basic2DVector.h" 00006 00018 class CircleFromThreePoints { 00019 public: 00020 00022 CircleFromThreePoints(){} 00023 00024 typedef Basic2DVector<float> Vector2D; 00025 00033 CircleFromThreePoints( const GlobalPoint& inner, 00034 const GlobalPoint& mid, 00035 const GlobalPoint& outer, 00036 double precision = 1.e-7); 00037 00038 00044 float curvature() const { return theCurvature;} 00045 00052 Vector2D center() const { return theCenter; } 00053 00054 private: 00055 00056 float theCurvature; 00057 Vector2D theCenter; 00058 00059 void init( const Vector2D& b, const Vector2D& c, 00060 const Vector2D& offset, double precision); 00061 }; 00062 00063 #endif