00001 #ifndef LAGRANGEQUADRATIC_1_H 00002 #define LAGRANGEQUADRATIC_1_H 00003 00004 #include "interpolator_1.h" 00005 namespace afl 00006 { 00007 00008 00014 class LagrangeQuadratic_1 : public Interpolator_1 00015 { 00016 00018 public: 00024 LagrangeQuadratic_1( const Field* f, const Parameters& params ); 00025 00032 Value interpolate( const Point& p ) const; 00033 00038 virtual Interpolator* clone( ) ; 00039 00041 private: 00042 Element<2> findQElement( data_t x ) const; 00043 00047 virtual const std::string& getImplementation( ) const; 00048 00052 virtual const std::string& getMethod( ) const; 00053 00055 private: 00056 static const std::string _method; 00057 static const std::string _impl; 00058 }; 00059 00060 }; 00061 00062 #endif // LAGRANGEQUADRATIC_1_H