00001 #ifndef TRKPC_H
00002 #define TRKPC_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include "ccs.h"
00013 #include "db.h"
00014 #include "err.h"
00015 #include "msg.h"
00016
00017
00018
00019
00020
00021
00022
00023
00024 typedef struct
00025 {
00026 vltDOUBLE az;
00027 vltDOUBLE alt;
00028 vltDOUBLE rot;
00029 vltDOUBLE adapt;
00030 vltDOUBLE parallacticAngle;
00031 vltDOUBLE azVelocity;
00032 vltDOUBLE altVelocity;
00033 vltDOUBLE rotVelocity;
00034 } trkPcCOORD;
00035
00036 typedef struct
00037 {
00038 vltDOUBLE deltaAz;
00039 vltDOUBLE deltaAlt;
00040 vltDOUBLE deltaRot;
00041 } trkPcDELTA;
00042
00043
00044
00045
00046
00047
00048
00049
00050 ccsCOMPL_STAT trkPcInit
00051 (
00052 dbSYMADDRESS dbRoot,
00053 ccsERROR *error
00054 );
00055
00056 ccsCOMPL_STAT trkPcSetTerm
00057 (
00058 vltBYTES20 name,
00059 vltDOUBLE coeff,
00060 ccsERROR *error
00061 );
00062
00063 ccsCOMPL_STAT trkPcEnableTerm
00064 (
00065 vltBYTES20 name,
00066 vltINT32 enabledFlag,
00067 ccsERROR *error
00068 );
00069
00070 ccsCOMPL_STAT trkPcComputeTerm
00071 (
00072 vltBYTES20 name,
00073 trkPcCOORD *coord,
00074 trkPcDELTA *delta,
00075 vltLOGICAL save,
00076 ccsERROR *error
00077 );
00078
00079 ccsCOMPL_STAT trkPcComputeCorrection
00080 (
00081 trkPcCOORD *coord,
00082 trkPcDELTA *delta,
00083 vltLOGICAL save,
00084 ccsERROR *error
00085 );
00086
00087 ccsCOMPL_STAT trkPcComputeParallactic(vltDOUBLE mjd,
00088 vltDOUBLE altToACM,
00089 vltDOUBLE azToACM,
00090 vltDOUBLE *parallAngle,
00091 vltDOUBLE amprms[21],
00092 vltDOUBLE aoprms[14],
00093 ccsERROR *error);
00094
00095 #endif