Skip to content
Snippets Groups Projects
PwaFcnBase.hh 1.13 KiB
Newer Older

#include <iostream>
#include <fstream>
#include <vector>
Bertram Kopf's avatar
Bertram Kopf committed
#include <string>
#include <boost/shared_ptr.hpp>
#include "Minuit2/FCNBase.h"
Bertram Kopf's avatar
Bertram Kopf committed
//#include "PwaUtils/EvtDataBaseList.hh"
#include "PwaUtils/DataUtils.hh"
Bertram Kopf's avatar
Bertram Kopf committed
#include "PwaUtils/FitParamsBase.hh"
#include "Minuit2/MnUserParameters.h"

Julian Pychy's avatar
Julian Pychy committed
class NetworkServer;

namespace ROOT {
Bertram Kopf's avatar
Bertram Kopf committed
  namespace Minuit2 {
    class PwaFcnBase : public FCNBase {
Bertram Kopf's avatar
Bertram Kopf committed
    public:
      PwaFcnBase(boost::shared_ptr<AbsLh> absLh, 
		    boost::shared_ptr<FitParamsBase> fitParamsBase, std::string suffix="");
      virtual ~PwaFcnBase();
Bertram Kopf's avatar
Bertram Kopf committed
      double operator()(const std::vector<double>& par) const;
      double Up() const;
Julian Pychy's avatar
Julian Pychy committed
      void SetServerMode(boost::shared_ptr<NetworkServer> networkServerPtr);
Bertram Kopf's avatar
Bertram Kopf committed
    private:
      boost::shared_ptr<AbsLh> _absLhPtr;
      boost::shared_ptr<FitParamsBase> _fitParamsBasePtr;
Julian Pychy's avatar
Julian Pychy committed
      boost::shared_ptr<NetworkServer> _networkServerPtr;
Bertram Kopf's avatar
Bertram Kopf committed
      mutable unsigned int _fcnCounter;
      fitParams _defaultFitValParms;
      fitParams _defaultFitErrParms;
      std::string _currentResFileName;
Julian Pychy's avatar
Julian Pychy committed
      bool _serverMode;
Bertram Kopf's avatar
Bertram Kopf committed
    };
  }  // namespace Minuit2
}  // namespace ROOT