00001
00002 #ifndef actcalCOEFFLIST_H
00003 #define actcalCOEFFLIST_H
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #define _POSIX_SOURCE 1
00023
00024 typedef vector<actcalCOEFF> actcalVCT_COEFF_LIST;
00025
00026 class actcalCOEFFLIST : public eccsERROR_CLASS {
00027 public:
00028 actcalCOEFFLIST(int s = actcalMAX_NUM_MODES);
00029 actcalCOEFFLIST(const actcalCOEFFLIST &z);
00030 ~actcalCOEFFLIST();
00031 ccsCOMPL_STAT IaLcuRead( const dbSYMADDRESS dbPoint,
00032 actcalCOEFFS *memCoeffValues);
00033 void operator =( const actcalCOEFFLIST &c );
00034 actcalVCT_COEFF_LIST coeffList;
00035 ccsCOMPL_STAT AbsoluteForces(const dbSYMADDRESS dbPoint,
00036 vltLOGICAL writeForces=TRUE,
00037 vltLOGICAL relative=FALSE,
00038 vltDOUBLE defocus=0);
00039
00040 ccsCOMPL_STAT DifferentialForces(const dbSYMADDRESS dbPoint);
00041 ccsCOMPL_STAT SetOffset(const dbSYMADDRESS dbPoint);
00042
00043 ccsCOMPL_STAT CleanDb(const dbSYMADDRESS dbPoint);
00044
00045 protected:
00046 ccsCOMPL_STAT PolyOnecal(const dbSYMADDRESS dbPoint,
00047 vltDOUBLE zenithAngle, vltINT32 focusPosition,
00048 actcalCOEFFS *interpolCalibCoeffs );
00049
00050 ccsCOMPL_STAT InterpolatedOnecal(const dbSYMADDRESS dbPoint,
00051 vltDOUBLE zenithAngle,
00052 vltINT32 focusPosition,
00053 actcalCOEFFS *interpolCalibCoeffs);
00054
00055 ccsCOMPL_STAT getAdapterFocus(vltDOUBLE &);
00056
00057 private:
00058 vltINT32 size;
00059
00060 };
00061
00062 #endif