00001 #ifndef tcsVcc_H
00002 #define tcsVcc_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023
00024 #include "slamac.h"
00025 #include "ccs.h"
00026
00027
00028
00029
00030
00031 #ifndef FALSE
00032 #define FALSE 0
00033 #define TRUE 1
00034 #endif
00035
00036 typedef enum {tcsEpochB1950, tcsEpochJ2000} tcsEPOCH_SYSTEM;
00037 typedef enum {tcsCoordMean, tcsCoordApparent} tcsCOORD_TYPE;
00038
00039
00040 void tcsH2a(double p,double h,double d,double *al,double *az);
00041 void tcsH2f(double ph,double h,double d,double *p);
00042
00043 void tcsSplitHms(double angle,double *h,double *m,double *s);
00044 void tcsSplitSec(double sec,double *h,double *m,double *s);
00045
00046 int tcsCheckHms(double angle);
00047 int tcsCheckDms(double angle);
00048
00049 double tcsHms2rad (double angle);
00050 double tcsDms2rad (double angle);
00051 double tcsRad2Hms (double angle);
00052 double tcsRad2Dms (double angle);
00053 double tcsD2r (double deg);
00054 double tcsR2d (double rad);
00055
00056 void tcsJ2B (double alphaIn,
00057 double deltaIn,
00058 double epochIn,
00059 double equinoxIn,
00060 double pmaIn,
00061 double pmdIn,
00062 double radvelIn,
00063 double parallaxIn,
00064 double epochObserved,
00065 double equinoxObserved,
00066 double *alphaOut,
00067 double *deltaOut,
00068 double *pmaOut,
00069 double *pmdOut,
00070 double *radVelOut,
00071 double *parallaxOut);
00072
00073 void tcsB2J (double alphain,
00074 double deltaIn,
00075 double epochIn,
00076 double equinoxIn,
00077 double pmaIn,
00078 double pmdIn,
00079 double radvelIn,
00080 double parallaxIn,
00081 double epochObserved,
00082 double equinoxObserved,
00083 double *alphaMean,
00084 double *deltaMean,
00085 double *pmaOut,
00086 double *pmdOut,
00087 double *radVelOut,
00088 double *parallaxOut);
00089
00090 void tcsCoord2AltAz (double alpha,
00091 double delta,
00092 tcsEPOCH_SYSTEM epochSystem,
00093 double epoch,
00094 double equinox,
00095 double pma,
00096 double pmd,
00097 double radvel,
00098 double parallax,
00099 tcsCOORD_TYPE coordType,
00100 double envTemp,
00101 double envPressure,
00102 double envHumidity,
00103 double envLapseRate,
00104 double siteLat,
00105 double siteLong,
00106 double siteHeight,
00107 double sitePolmx,
00108 double sitePolmy,
00109 double timeDut1,
00110 double wavelength,
00111 double mjd,
00112 double *alt,
00113 double *az);
00114
00115 void tcsAltAz2Coord (double alt,
00116 double az,
00117 tcsEPOCH_SYSTEM epochSystem,
00118 double epoch,
00119 double equinox,
00120 double pma,
00121 double pmd,
00122 double radvel,
00123 double parallax,
00124 tcsCOORD_TYPE coordType,
00125 double envTemp,
00126 double envPressure,
00127 double envHumidity,
00128 double envLapseRate,
00129 double siteLat,
00130 double siteLong,
00131 double siteHeight,
00132 double sitePolmx,
00133 double sitePolmy,
00134 double timeDut1,
00135 double wavelength,
00136 double mjd,
00137 double *alphaOut,
00138 double *deltaOut);
00139
00140 #ifdef __cplusplus
00141 }
00142 #endif
00143
00144
00145 #endif