00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef OBITSKYGEOM_H
00029 #define OBITSKYGEOM_H
00030 #include "Obit.h"
00031 #include "ObitErr.h"
00032
00040
00045 enum obitSkyGeomProj {
00047 OBIT_SkyGeom_SIN = 0,
00049 OBIT_SkyGeom_TAN,
00051 OBIT_SkyGeom_ARC,
00053 OBIT_SkyGeom_NCP,
00055 OBIT_SkyGeom_GLS,
00057 OBIT_SkyGeom_MER,
00059 OBIT_SkyGeom_AIT,
00061 OBIT_SkyGeom_STG
00062 };
00063
00065 typedef enum obitSkyGeomProj ObitSkyGeomProj;
00066
00067
00069 void ObitSkyGeomShiftXY (gdouble ra, gdouble dec, gfloat rotate,
00070 gdouble shiftRA, gdouble shiftDec,
00071 gfloat *xShift, gfloat *yShift);
00072
00074 void ObitSkyGeomXYShift (gdouble ra, gdouble dec,
00075 gfloat xShift, gfloat yShift, gfloat rotate,
00076 gdouble *shiftRA, gdouble *shiftDec);
00077
00079 void
00080 ObitSkyGeomShiftSIN (gdouble ra, gdouble dec, gfloat rotate,
00081 gdouble xra, double xdec, gfloat dxyzc[3]);
00082
00084 void
00085 ObitSkyGeomShiftNCP (gdouble ra, gdouble dec, gfloat rotate,
00086 gdouble xra, double xdec, gfloat dxyzc[3]);
00087
00089 void
00090 ObitSkyGeomNewPos (ObitSkyGeomProj Proj, gdouble ra0, gdouble dec0, gdouble l, gdouble m,
00091 gdouble *raout, gdouble *decout, gint *ierr);
00092
00094 gint
00095 ObitSkyGeomWorldPos(gfloat xpix, gfloat ypix, gdouble xref, gdouble yref,
00096 gfloat xrefpix, gfloat yrefpix, gfloat xinc, gfloat yinc,
00097 gfloat rot, gchar *type, gdouble *xpos, gdouble *ypos);
00098
00100 gint
00101 ObitSkyGeomCDpos(gfloat xpix, gfloat ypix, gdouble xref, gdouble yref,
00102 gfloat xrefpix, gfloat yrefpix, gfloat xinc, gfloat yinc, gfloat rot,
00103 gfloat cd1[2], gfloat cd2[2], gchar *type, gdouble *xpos, gdouble *ypos);
00104
00106 gint
00107 ObitSkyGeomXYpix(gdouble xpos, gdouble ypos, gdouble xref, gdouble yref,
00108 gfloat xrefpix, gfloat yrefpix, gfloat xinc, gfloat yinc,
00109 gfloat rot, gchar *type, gfloat *xpix, gfloat *ypix);
00110
00112 gint
00113 ObitSkyGeomCDpix(gdouble xpos, gdouble ypos, gdouble xref, gdouble yref,
00114 gfloat xrefpix, gfloat yrefpix, gfloat xinc, gfloat yinc, gfloat rot,
00115 gfloat icd1[2], gfloat icd2[2], gchar *type,
00116 gfloat *xpix, gfloat *ypix);
00117
00119 gint
00120 ObitSkyGeomWorldPosLM(gdouble dx, gdouble dy, gdouble xref, gdouble yref,
00121 gfloat xinc, gfloat yinc, gfloat rot, gchar *type,
00122 gdouble *xpos, gdouble *ypos);
00123
00125 gint
00126 ObitSkyGeomXYPixLM(gdouble xpos, gdouble ypos, gdouble xref, gdouble yref,
00127 gfloat xinc, gfloat yinc, gfloat rot, gchar *type,
00128 gdouble *dx, gdouble *dy);
00129
00131 void
00132 ObitSkyGeomBtoJ (gdouble *ra, gdouble *dec);
00133
00135 void
00136 ObitSkyGeomJtoB (gdouble *ra, gdouble *dec);
00137
00139 void ObitSkyGeomEq2Gal (gdouble *RALong, gdouble *DecLat);
00140
00142 void ObitSkyGeomGal2Eq (gdouble *RALong, gdouble *DecLat);
00143
00145 void ObitSkyGeomEq2Ec (gdouble *RALong, gdouble *DecLat, gfloat epoch);
00146
00148 void ObitSkyGeomEc2Eq (gdouble *RALong, gdouble *DecLat, gfloat epoch);
00149
00151 void ObitSkyGeomRADec2Zern (gdouble ra, gdouble dec, gfloat xshift, gfloat yshift,
00152 gfloat* xzer, gfloat* yzer, gint *ierr);
00153 #endif