Changeset 490 in Sophya for trunk/SophyaLib/NTools/generaldata.h


Ignore:
Timestamp:
Oct 21, 1999, 5:25:53 PM (26 years ago)
Author:
ansari
Message:

Merge avec PEIDA++ (~V 3.8) et nettoyage pour nouveau PPersist Reza+cmv 21/10/99

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/NTools/generaldata.h

    r307 r490  
    44#define GENERALDATA_SEEN
    55
     6#include "objfio.h"
     7#include <iostream.h>
    68#include "pexceptions.h"
    79#include "ppersist.h"
     10#include "ntupintf.h"
    811#include "poly.h"
    9 #include "anydataobj.h"
    1012
    1113namespace PlanckDPC {
    1214
    1315class GeneralFit;
    14 class FIO_GeneralFitData;
    1516
    1617//================================================================
     
    1819//================================================================
    1920
    20 class GeneralFitData : public AnyDataObj {
     21class GeneralFitData : public AnyDataObj , public NTupleInterface {
    2122  friend class GeneralFit;
    22   friend class FIO_GeneralFitData;
     23  friend class ObjFileIO<GeneralFitData>;
    2324public:
    2425  enum {Def_ErrF = 1, Def_ErrX = 0};
     
    6364  void PrintData(int i1,int i2);
    6465  void PrintData();
     66  void Show(ostream& os) const;
     67  inline void Show() const {Show(cout);}
    6568
    6669  inline int GetSpaceFree() const { return mNDataAlloc - mNData; }
     
    103106                {if(i>=0 && i<mNData) return mErr[i]; else return 0.;}
    104107
    105   r_8* GetVec(int n, r_8* ret=NULL)  const ;
    106   r_4* GetVecR4(int n, r_4* ret=NULL)  const ;
    107   int GetMinMax(int var,int& imin,int& imax);
    108   int GetMinMax(int var,double& min,double& max);
     108  r_8* GetVec(int n, r_8* ret=NULL)  const;
     109  r_4* GetVecR4(int n, r_4* ret=NULL)  const;
     110  int GetMnMx(int var,int& imin,int& imax) const;
     111  int GetMnMx(int var,double& min,double& max) const;
    109112  int GetMeanSigma(int var,double& mean,double& sigma,double min=1.,double max=-1.);
    110113  int GetMoMeMed(int var,double& mode,double& mean,double& median,
     
    115118  GeneralFitData FitResidus(GeneralFit& gfit);
    116119  GeneralFitData FitFunction(GeneralFit& gfit);
    117   string VarList_C(const char* nomx)  const;
     120
     121// Declaration de l interface NTuple
     122  virtual uint_4        NbLines() const;
     123  virtual uint_4        NbColumns() const;
     124  virtual r_8 *         GetLineD(int n) const;
     125  virtual r_8           GetCell(int n, int k) const;
     126  virtual r_8           GetCell(int n, string const & nom) const;
     127  virtual void          GetMinMax(int k, double& min, double& max) const;
     128  virtual void          GetMinMax(string const & nom, double& min, double& max) const;
     129  virtual int           ColumnIndex(string const & nom) const;
     130  virtual string        ColumnName(int k) const;
     131  virtual string        VarList_C(const char* nomx=NULL) const;
    118132
    119133protected:
     
    134148};
    135149
     150inline ostream& operator << (ostream& s, GeneralFitData const & g)
     151                         {g.Show(s); return(s);}
     152
    136153/////////////////////////////////////////////////////////////////////////
    137154// Classe pour la gestion de persistance
    138 class FIO_GeneralFitData : public  PPersist  {
    139 public:
    140   FIO_GeneralFitData();
    141   FIO_GeneralFitData(string const & filename);
    142   FIO_GeneralFitData(const GeneralFitData & obj);
    143   FIO_GeneralFitData(GeneralFitData * obj);
    144   virtual ~FIO_GeneralFitData();
    145   virtual AnyDataObj* DataObj();
    146   inline operator GeneralFitData() { return(*dobj); }
    147 protected :
    148   virtual void ReadSelf(PInPersist&);           
    149   virtual void WriteSelf(POutPersist&) const; 
    150   GeneralFitData * dobj;
    151   bool ownobj;
    152 };
     155
     156inline POutPersist& operator << (POutPersist& os, GeneralFitData & obj)
     157{ ObjFileIO<GeneralFitData> fio(&obj);  fio.Write(os);  return(os); }
     158inline PInPersist& operator >> (PInPersist& is, GeneralFitData & obj)
     159{ ObjFileIO<GeneralFitData> fio(&obj);  fio.Read(is);  return(is); }
     160
     161// Classe pour la gestion de persistance
     162// ObjFileIO<GeneralFitData>
    153163
    154164} // Fin du namespace
Note: See TracChangeset for help on using the changeset viewer.