// @(#)root/minuit2:$Id$ // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005 /********************************************************************** * * * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT * * * **********************************************************************/ #ifndef MN_GaussFcn2_H_ #define MN_GaussFcn2_H_ #include "Minuit2/FCNBase.h" #include namespace ROOT { namespace Minuit2 { class GaussFcn2 : public FCNBase { public: GaussFcn2(const std::vector& meas, const std::vector& pos, const std::vector& mvar) : fMeasurements(meas), fPositions(pos), fMVariances(mvar), fMin(0.) {Init();} ~GaussFcn2() {} virtual void Init(); virtual double Up() const {return 1.;} virtual double operator()(const std::vector&) const; virtual double ErrorDef() const {return Up();} std::vector Measurements() const {return fMeasurements;} std::vector Positions() const {return fPositions;} std::vector Variances() const {return fMVariances;} private: std::vector fMeasurements; std::vector fPositions; std::vector fMVariances; double fMin; }; } // namespace Minuit2 } // namespace ROOT #endif //MN_GaussFcn2_H_