Skip to content
Snippets Groups Projects
PwaFcnBaseNew.hh 925 B
Newer Older

#include <iostream>
#include <fstream>
#include <vector>
#include <boost/shared_ptr.hpp>
#include "Minuit2/FCNBase.h"
#include "PwaUtils/EvtDataBaseList.hh"
#include "PwaUtils/DataUtils.hh"
#include "PwaUtils/FitParamsBaseNew.hh"
#include "Minuit2/MnUserParameters.h"

class AbsLhNew;

namespace ROOT {
  namespace Minuit2 {
    class PwaFcnBaseNew : public FCNBase {

    public:
      PwaFcnBaseNew(boost::shared_ptr<AbsLhNew> absLh, 
		    boost::shared_ptr<FitParamsBaseNew> fitParamsBase);
      virtual ~PwaFcnBaseNew();

      double operator()(const std::vector<double>& par) const;
      double Up() const;

    private:
      boost::shared_ptr<AbsLhNew> _absLhPtr;
      boost::shared_ptr<FitParamsBaseNew> _fitParamsBasePtr;
      mutable unsigned int _fcnCounter;
      fitParamsNew _defaultFitValParms;
      fitParamsNew _defaultFitErrParms;
    };
  }  // namespace Minuit2
}  // namespace ROOT