struct Fitmrq { static const Int NDONE=4, ITMAX=1000; Int ndat, ma, mfit; VecDoub_I &x,&y,&sig; Doub tol; void (*funcs)(const Doub, VecDoub_I &, Doub &, VecDoub_O &); VecBool ia; VecDoub a; MatDoub covar; MatDoub alpha; Doub chisq; Fitmrq(VecDoub_I &xx, VecDoub_I &yy, VecDoub_I &ssig, VecDoub_I &aa, void funks(const Doub, VecDoub_I &, Doub &, VecDoub_O &), const Doub TOL=1.e-3) : ndat(xx.size()), ma(aa.size()), x(xx), y(yy), sig(ssig), tol(TOL), funcs(funks), ia(ma), alpha(ma,ma), a(aa), covar(ma,ma) { for (Int i=0;i=0;j--) { if (ia[j]) { for (i=0;i