#ifndef GENERALDATA_SEEN #define GENERALDATA_SEEN #include "pexceptions.h" #include "ppersist.h" #include "poly.h" class GeneralFit; //================================================================ // GENERALFITDATA //================================================================ class GeneralFitData : public PPersist { public: enum {classId = ClassId_GeneralFitData }; enum {Def_ErrF = 1, Def_ErrX = 0}; GeneralFitData(unsigned int nVar, unsigned int nDataAlloc, uint_2 errx=0); GeneralFitData(GeneralFitData& data, bool clean=false); GeneralFitData(); GeneralFitData(char *flnm); virtual ~GeneralFitData(); void Alloc(unsigned int nVar, unsigned int nDataAlloc, int_2 errx=-1); void SetDataPtr(int ptr = 0); void KillData(int i); void KillData(int i1,int i2); void ValidData(int i); void ValidData(int i1,int i2); void ValidData(); void RedefineData1(int i,double x,double f,double err=Def_ErrF,double errx=Def_ErrX); void RedefineData2(int i,double x,double y,double f,double err=Def_ErrF ,double errx=Def_ErrX,double erry=Def_ErrX); void RedefineData(int i,double* xp,double f,double err=Def_ErrF,double* errxp=NULL); void AddData1(double x, double f, double err=Def_ErrF,double errx=Def_ErrX); void AddData2(double x, double y, double f, double err=Def_ErrF ,double errx=Def_ErrX,double erry=Def_ErrX); void AddData(double* xp, double f, double err=Def_ErrF,double* errxp=NULL); void AddData(float* xp, float f, float err=Def_ErrF,float* errxp=NULL); void SetData1(int nData,double* x,double* f,double *err=NULL,double *errx=NULL); void SetData1(int nData,float* x,float* f,float* err=NULL,float *errx=NULL); void SetData2(int nData,double* x,double* y,double* f,double *err=NULL ,double *errx=NULL,double *erry=NULL); void SetData2(int nData,float* x,float* y,float* f,float* err=NULL ,float *errx=NULL,float *erry=NULL); void SetData(int nData,double** xp,double *f,double *err=NULL,double** errxp=NULL); void SetData(int nData,float** xp,float* f,float* err=NULL,float** errxp=NULL); void PrintStatus(); void PrintData(int i); void PrintData(int i1,int i2); void PrintData(); inline int GetSpaceFree() const { return mNDataAlloc - mNData; } inline int NVar() const {return mNVar;} inline int NData() const {return mNData;} inline int NDataGood() const {return mNDataGood;} inline int NDataAlloc() const {return mNDataAlloc;} inline unsigned short int IsValid(int i) const {if(i>=0 && i=0 && i=0 && i=0 && i=0 && i=0 && i=0 && i=0 && i=0 && i=0 && i=0 && i=0 && i=0 && i