00001 #ifndef DATASET_H
00002 #define DATASET_H
00003
00004 #include "tnt_array1d.h"
00005 #include "tnt_array2d.h"
00006 #include "parametermap.h"
00007
00008 using namespace TNT;
00009
00010 class CDataSet {
00011 public:
00012 Array1D<double> data;
00013 Array1D<double> uncert;
00014 Array2D<double> covmtx;
00015 int ndata;
00016 bool covmtx_is_active;
00017
00018
00019 CDataSet(int N=1):
00020 data(N,0.),uncert(N,0.),covmtx(N,N,0.),ndata(N),covmtx_is_active(false){}
00021 CDataSet(const CDataSet& m):
00022 data(m.data),uncert(m.uncert),covmtx(m.covmtx),ndata(m.ndata), covmtx_is_active(m.covmtx_is_active){}
00023 virtual ~CDataSet(void){}
00024
00025
00026 bool Read(const parameterMap& com);
00027 bool Write(parameterMap& com);
00028
00029
00030 bool checkArrayDimensions(void);
00031 bool redim(int N);
00032
00033
00034 void syncCovMtx(void);
00035 void syncUncert(void);
00036
00037
00038 virtual void CopyState(const CDataSet& m){
00039 data=m.data;
00040 uncert=m.uncert;
00041 covmtx=m.covmtx;
00042 *const_cast<int*>(&ndata)=m.ndata;
00043 *const_cast<bool*>(&covmtx_is_active)=m.covmtx_is_active;
00044 }
00045
00046 };
00047
00048 #endif