00001 #ifndef OBJINTERFACES_1D_H
00002 #define OBJINTERFACES_1D_H
00003
00004 #include "parametermap.h"
00005
00006
00008
00009 class CObject1d {
00010
00011 public:
00012
00013 int l,m;
00014 int lx,ly,lz;
00015 bool realpart;
00016 bool sphrHarm;
00017
00018
00019 CObject1d(void):
00020 l(0), m(0), lx(0), ly(0), lz(0), realpart(true), sphrHarm(true){}
00021 CObject1d(int _l, int _m, bool r):
00022 l(_l), m(_m), lx(0), ly(0), lz(0), realpart(r), sphrHarm(true){}
00023 CObject1d(int _lx, int _ly, int _lz):
00024 l(0), m(0), lx(_lx), ly(_ly), lz(_lz), realpart(true), sphrHarm(false){}
00025 CObject1d(const CObject1d& A):
00026 l(A.l), m(A.m), lx(A.lx), ly(A.ly), lz(A.lz), realpart(A.realpart), sphrHarm(A.sphrHarm){}
00027
00028
00029 virtual ~CObject1d(void){ }
00030
00031
00032 virtual bool Read(const parameterMap& m);
00033 virtual bool Write(parameterMap& m);
00034
00035
00036 virtual double getValue(double r) const=0;
00037 virtual double getError(double r) const=0;
00038 virtual double getCovariance(double r1, double r2) const {return 0.;}
00039
00040
00041 virtual double getValue(double r){return const_cast<const CObject1d*>(this)->getValue(r);}
00042 virtual double getError(double r){return const_cast<const CObject1d*>(this)->getError(r);}
00043 virtual double getCovariance(double r1, double r2){return const_cast<const CObject1d*>(this)->getCovariance(r1,r2);}
00044
00045
00046 virtual void CopyState(const CObject1d& A);
00047
00048 };
00049
00050 #endif