// This may look like C code, but it is really -*- C++ -*- // // Methode d'ajustement non-lineaire sur des objets // R. Ansari 02/2000 #ifndef OBJFITTER_SEEN #define OBJFITTER_SEEN #include "machdefs.h" #include "tmatrix.h" #include "tvector.h" #include "generalfit.h" namespace SOPHYA { class ObjectFitter { public: // Residus et fonction fittees sur matrix static TMatrix FitResidus(TMatrix const & mtx, GeneralFit& gfit, double xorg=0.,double yorg=0.,double dx=1.,double dy=1.); static TMatrix FitResidus(TMatrix const & mtx, GeneralFit& gfit, double xorg=0.,double yorg=0.,double dx=1.,double dy=1.); static TMatrix FitFunction(TMatrix const & mtx, GeneralFit& gfit, double xorg=0.,double yorg=0.,double dx=1.,double dy=1.); static TMatrix FitFunction(TMatrix const & mtx, GeneralFit& gfit, double xorg=0.,double yorg=0.,double dx=1.,double dy=1.); // Residus et fonction fittees sur vecteurs static TVector FitResidus(TVector const & vec, GeneralFit& gfit, double xorg=0.,double dx=1.); static TVector FitResidus(TVector const & vec, GeneralFit& gfit, double xorg=0.,double dx=1.); static TVector FitFunction(TVector const & vec, GeneralFit& gfit, double xorg=0.,double dx=1.); static TVector FitFunction(TVector const & vec, GeneralFit& gfit, double xorg=0.,double dx=1.); }; // Classe template pour ajustement sur tableaux (Vecteurs, Matrices) template class ArrayFitter { public: // Residus et fonction fittees sur matrix static TMatrix FitResidus(TMatrix const & mtx, GeneralFit& gfit, double xorg=0.,double yorg=0.,double dx=1.,double dy=1.); static TMatrix FitFunction(TMatrix const & mtx, GeneralFit& gfit, double xorg=0.,double yorg=0.,double dx=1.,double dy=1.); // Residus et fonction fittees sur vecteurs static TVector FitResidus(TVector const & vec, GeneralFit& gfit, double xorg=0.,double dx=1.); static TVector FitFunction(TVector const & vec, GeneralFit& gfit, double xorg=0.,double dx=1.); }; } // Fin du namespace #endif // OBJFITTER_SEEN