// This may look like C code, but it is really -*- C++ -*-
// Adaptateur d objets (pour NamedObjMgr) pour GeneralFitData
//                                    cmv 27/7/99
//  LAL-IN2P3/CNRS               CEA-DAPNIA     
 
#ifndef NOMGFDADAPTER_H_SEEN
#define NOMGFDADAPTER_H_SEEN

#include "nomgadapter.h"
#include "generalfit.h"

//-------------------------------------------------------------------------
// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet GeneralFitData 
//-------------------------------------------------------------------------

class NOMAdapter_GeneralFitData : public NObjMgrAdapter {
public:
			   NOMAdapter_GeneralFitData(GeneralFitData* o = NULL);
  virtual		   ~NOMAdapter_GeneralFitData();

  virtual NObjMgrAdapter*  Clone(AnyDataObj* o);

  virtual string	   GetDataObjType();

  virtual AnyDataObj*      CloneDataObj(bool share=false);

  virtual void		   SavePPF(POutPersist& s, string const & nom);

  virtual void		   Print(ostream& os);
  virtual NTupleInterface* GetNTupleInterface(bool& adel);

  virtual GeneralFitData* GetGeneralFitData(bool& adel
          ,GeneralFitData::FitErrType errtype=GeneralFitData::DefaultError
          ,double errscale=1.,double errmin=0.
          ,int i1=0,int i2=-1,int j1=0,int j2=-1);
  virtual AnyDataObj* FitResidusObj(GeneralFit& mfit);
  virtual AnyDataObj* FitFunctionObj(GeneralFit& mfit);

protected:
  GeneralFitData* mG;
};


#endif
