source: trunk/MagicSoft/slalib/slalib.h@ 4692

Last change on this file since 4692 was 731, checked in by tbretz, 24 years ago
*** empty log message ***
  • Property svn:executable set to *
File size: 16.0 KB
Line 
1#ifndef SLALIBHDEF
2#define SLALIBHDEF
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8#include <math.h>
9
10/*
11** - - - - - - - - -
12** s l a l i b . h
13** - - - - - - - - -
14**
15** Prototype function declarations for slalib library.
16**
17** Last revision: 27 January 2000
18**
19** Copyright P.T.Wallace. All rights reserved.
20*/
21
22void slaAddet ( double rm, double dm, double eq, double *rc, double *dc );
23
24void slaAfin ( char *string, int *iptr, float *a, int *j );
25
26double slaAirmas ( double zd );
27
28void slaAltaz ( double ha, double dec, double phi,
29 double *az, double *azd, double *azdd,
30 double *el, double *eld, double *eldd,
31 double *pa, double *pad, double *padd );
32
33void slaAmp ( double ra, double da, double date, double eq,
34 double *rm, double *dm );
35
36void slaAmpqk ( double ra, double da, double amprms[21],
37 double *rm, double *dm );
38
39void slaAop ( double rap, double dap, double date, double dut,
40 double elongm, double phim, double hm, double xp,
41 double yp, double tdk, double pmb, double rh,
42 double wl, double tlr,
43 double *aob, double *zob, double *hob,
44 double *dob, double *rob );
45
46void slaAoppa ( double date, double dut, double elongm, double phim,
47 double hm, double xp, double yp, double tdk, double pmb,
48 double rh, double wl, double tlr, double aoprms[14] );
49
50void slaAoppat ( double date, double aoprms[14] );
51
52void slaAopqk ( double rap, double dap, double aoprms[14],
53 double *aob, double *zob, double *hob,
54 double *dob, double *rob );
55
56void slaAtmdsp ( double tdk, double pmb, double rh, double wl1,
57 double a1, double b1, double wl2, double *a2, double *b2 );
58
59void slaAv2m ( float axvec[3], float rmat[3][3] );
60
61float slaBear ( float a1, float b1, float a2, float b2 );
62
63void slaCaf2r ( int ideg, int iamin, float asec, float *rad, int *j );
64
65void slaCaldj ( int iy, int im, int id, double *djm, int *j );
66
67void slaCalyd ( int iy, int im, int id, int *ny, int *nd, int *j );
68
69void slaCc2s ( float v[3], float *a, float *b );
70
71void slaCc62s ( float v[6], float *a, float *b, float *r,
72 float *ad, float *bd, float *rd );
73
74void slaCd2tf ( int ndp, float days, char *sign, int ihmsf[4] );
75
76void slaCldj ( int iy, int im, int id, double *djm, int *j );
77
78void slaClyd ( int iy, int im, int id, int *ny, int *nd, int *jstat );
79
80void slaCombn ( int nsel, int ncand, int list[], int *j );
81
82void slaCr2af ( int ndp, float angle, char *sign, int idmsf[4] );
83
84void slaCr2tf ( int ndp, float angle, char *sign, int ihmsf[4] );
85
86void slaCs2c ( float a, float b, float v[3] );
87
88void slaCs2c6 ( float a, float b, float r, float ad,
89 float bd, float rd, float v[6] );
90
91void slaCtf2d ( int ihour, int imin, float sec, float *days, int *j );
92
93void slaCtf2r ( int ihour, int imin, float sec, float *rad, int *j );
94
95void slaDaf2r ( int ideg, int iamin, double asec, double *rad, int *j );
96
97void slaDafin ( char *string, int *iptr, double *a, int *j );
98
99double slaDat ( double dju );
100
101void slaDav2m ( double axvec[3], double rmat[3][3] );
102
103double slaDbear ( double a1, double b1, double a2, double b2 );
104
105void slaDbjin ( char *string, int *nstrt,
106 double *dreslt, int *jf1, int *jf2 );
107
108void slaDc62s ( double v[6], double *a, double *b, double *r,
109 double *ad, double *bd, double *rd );
110
111void slaDcc2s ( double v[3], double *a, double *b );
112
113void slaDcmpf ( double coeffs[6], double *xz, double *yz, double *xs,
114 double *ys, double *perp, double *orient );
115
116void slaDcs2c ( double a, double b, double v[3] );
117
118void slaDd2tf ( int ndp, double days, char *sign, int ihmsf[4] );
119
120void slaDe2h ( double ha, double dec, double phi,
121 double *az, double *el );
122
123void slaDeuler ( char *order, double phi, double theta, double psi,
124 double rmat[3][3] );
125
126void slaDfltin ( char *string, int *nstrt, double *dreslt, int *jflag );
127
128void slaDh2e ( double az, double el, double phi, double *ha, double *dec);
129
130void slaDimxv ( double dm[3][3], double va[3], double vb[3] );
131
132void slaDjcal ( int ndp, double djm, int iymdf[4], int *j );
133
134void slaDjcl ( double djm, int *iy, int *im, int *id, double *fd, int *j );
135
136void slaDm2av ( double rmat[3][3], double axvec[3] );
137
138void slaDmat ( int n, double *a, double *y, double *d, int *jf, int *iw );
139
140void slaDmoon ( double date, double pv[6] );
141
142void slaDmxm ( double a[3][3], double b[3][3], double c[3][3] );
143
144void slaDmxv ( double dm[3][3], double va[3], double vb[3] );
145
146double slaDpav ( double v1[3], double v2[3] );
147
148void slaDr2af ( int ndp, double angle, char *sign, int idmsf[4] );
149
150void slaDr2tf ( int ndp, double angle, char *sign, int ihmsf[4] );
151
152double slaDrange ( double angle );
153
154double slaDranrm ( double angle );
155
156void slaDs2c6 ( double a, double b, double r, double ad, double bd,
157 double rd, double v[6] );
158
159void slaDs2tp ( double ra, double dec, double raz, double decz,
160 double *xi, double *eta, int *j );
161
162double slaDsep ( double a1, double b1, double a2, double b2 );
163
164double slaDt ( double epoch );
165
166void slaDtf2d ( int ihour, int imin, double sec, double *days, int *j );
167
168void slaDtf2r ( int ihour, int imin, double sec, double *rad, int *j );
169
170void slaDtp2s ( double xi, double eta, double raz, double decz,
171 double *ra, double *dec );
172
173void slaDtp2v ( double xi, double eta, double v0[3], double v[3] );
174
175void slaDtps2c ( double xi, double eta, double ra, double dec,
176 double *raz1, double *decz1,
177 double *raz2, double *decz2, int *n );
178
179void slaDtpv2c ( double xi, double eta, double v[3],
180 double v01[3], double v02[3], int *n );
181
182double slaDtt ( double dju );
183
184void slaDv2tp ( double v[3], double v0[3], double *xi, double *eta, int *j );
185
186double slaDvdv ( double va[3], double vb[3] );
187
188void slaDvn ( double v[3], double uv[3], double *vm );
189
190void slaDvxv ( double va[3], double vb[3], double vc[3] );
191
192void slaE2h ( float ha, float dec, float phi, float *az, float *el );
193
194void slaEarth ( int iy, int id, float fd, float posvel[6] );
195
196void slaEcleq ( double dl, double db, double date, double *dr, double *dd );
197
198void slaEcmat ( double date, double rmat[3][3] );
199
200void slaEcor ( float rm, float dm, int iy, int id, float fd,
201 float *rv, float *tl );
202
203void slaEg50 ( double dr, double dd, double *dl, double *db );
204
205void slaEl2ue ( double date, int jform, double epoch, double orbinc,
206 double anode, double perih, double aorq, double e,
207 double aorl, double dm, double u[], int *jstat );
208
209double slaEpb ( double date );
210
211double slaEpb2d ( double epb );
212
213double slaEpco ( char k0, char k, double e );
214
215double slaEpj ( double date );
216
217double slaEpj2d ( double epj );
218
219void slaEqecl ( double dr, double dd, double date, double *dl, double *db );
220
221double slaEqeqx ( double date );
222
223void slaEqgal ( double dr, double dd, double *dl, double *db );
224
225void slaEtrms ( double ep, double ev[3] );
226
227void slaEuler ( char *order, float phi, float theta, float psi,
228 float rmat[3][3] );
229
230void slaEvp ( double date, double deqx,
231 double dvb[3], double dpb[3],
232 double dvh[3], double dph[3] );
233
234void slaFitxy ( int itype, int np, double xye[][2], double xym[][2],
235 double coeffs[6], int *j );
236
237void slaFk425 ( double r1950, double d1950, double dr1950,
238 double dd1950, double p1950, double v1950,
239 double *r2000, double *d2000, double *dr2000,
240 double *dd2000, double *p2000, double *v2000 );
241
242void slaFk45z ( double r1950, double d1950, double bepoch,
243 double *r2000, double *d2000 );
244
245void slaFk524 ( double r2000, double d2000, double dr2000,
246 double dd2000, double p2000, double v2000,
247 double *r1950, double *d1950, double *dr1950,
248 double *dd1950, double *p1950, double *v1950 );
249
250void slaFk52h ( double r5, double d5, double dr5, double dd5,
251 double *dr, double *dh, double *drh, double *ddh );
252
253void slaFk54z ( double r2000, double d2000, double bepoch,
254 double *r1950, double *d1950,
255 double *dr1950, double *dd1950 );
256
257void slaFk5hz ( double r5, double d5, double epoch,
258 double *rh, double *dh );
259
260void slaFlotin ( char *string, int *nstrt, float *reslt, int *jflag );
261
262void slaGaleq ( double dl, double db, double *dr, double *dd );
263
264void slaGalsup ( double dl, double db, double *dsl, double *dsb );
265
266void slaGe50 ( double dl, double db, double *dr, double *dd );
267
268void slaGeoc ( double p, double h, double *r, double *z );
269
270double slaGmst ( double ut1 );
271
272double slaGmsta ( double date, double ut1 );
273
274void slaH2e ( float az, float el, float phi, float *ha, float *dec );
275
276void slaH2fk5 ( double dr, double dh, double drh, double ddh,
277 double *r5, double *d5, double *dr5, double *dd5 );
278
279void slaHfk5z ( double rh, double dh, double epoch,
280 double *r5, double *d5, double *dr5, double *dd5 );
281
282void slaImxv ( float rm[3][3], float va[3], float vb[3] );
283
284void slaIntin ( char *string, int *nstrt, long *ireslt, int *jflag );
285
286void slaInvf ( double fwds[6], double bkwds[6], int *j );
287
288void slaKbj ( int jb, double e, char *k, int *j );
289
290void slaM2av ( float rmat[3][3], float axvec[3] );
291
292void slaMap ( double rm, double dm, double pr, double pd,
293 double px, double rv, double eq, double date,
294 double *ra, double *da );
295
296void slaMappa ( double eq, double date, double amprms[21] );
297
298void slaMapqk ( double rm, double dm, double pr, double pd,
299 double px, double rv, double amprms[21],
300 double *ra, double *da );
301
302void slaMapqkz ( double rm, double dm, double amprms[21],
303 double *ra, double *da );
304
305void slaMoon ( int iy, int id, float fd, float posvel[6] );
306
307void slaMxm ( float a[3][3], float b[3][3], float c[3][3] );
308
309void slaMxv ( float rm[3][3], float va[3], float vb[3] );
310
311void slaNut ( double date, double rmatn[3][3] );
312
313void slaNutc ( double date, double *dpsi, double *deps, double *eps0 );
314
315void slaOap ( char *type, double ob1, double ob2, double date,
316 double dut, double elongm, double phim, double hm,
317 double xp, double yp, double tdk, double pmb,
318 double rh, double wl, double tlr,
319 double *rap, double *dap );
320
321void slaOapqk ( char *type, double ob1, double ob2, double aoprms[14],
322 double *rap, double *dap );
323
324void slaObs ( int n, char *c, char *name, double *w, double *p, double *h );
325
326double slaPa ( double ha, double dec, double phi );
327
328double slaPav ( float v1[3], float v2[3] );
329
330void slaPcd ( double disco, double *x, double *y );
331
332void slaPda2h ( double p, double d, double a,
333 double *h1, int *j1, double *h2, int *j2 );
334
335void slaPdq2h ( double p, double d, double q,
336 double *h1, int *j1, double *h2, int *j2 );
337
338void slaPermut ( int n, int istate[], int iorder[], int *j );
339
340void slaPertel (int jform, double date0, double date1,
341 double epoch0, double orbi0, double anode0,
342 double perih0, double aorq0, double e0, double am0,
343 double *epoch1, double *orbi1, double *anode1,
344 double *perih1, double *aorq1, double *e1, double *am1,
345 int *jstat );
346
347void slaPertue ( double date, double u[], int *jstat );
348
349void slaPlanel ( double date, int jform, double epoch, double orbinc,
350 double anode, double perih, double aorq, double e,
351 double aorl, double dm, double pv[6], int *jstat );
352
353void slaPlanet ( double date, int np, double pv[6], int *j );
354
355void slaPlante ( double date, double elong, double phi, int jform,
356 double epoch, double orbinc, double anode, double perih,
357 double aorq, double e, double aorl, double dm,
358 double *ra, double *dec, double *r, int *jstat );
359
360void slaPm ( double r0, double d0, double pr, double pd,
361 double px, double rv, double ep0, double ep1,
362 double *r1, double *d1 );
363
364void slaPolmo ( double elongm, double phim, double xp, double yp,
365 double *elong, double *phi, double *daz );
366
367void slaPrebn ( double bep0, double bep1, double rmatp[3][3] );
368
369void slaPrec ( double ep0, double ep1, double rmatp[3][3] );
370
371void slaPrecl ( double ep0, double ep1, double rmatp[3][3] );
372
373void slaPreces ( char sys[3], double ep0, double ep1,
374 double *ra, double *dc );
375
376void slaPrenut ( double epoch, double date, double rmatpn[3][3] );
377
378void slaPv2el ( double pv[], double date, double pmass, int jformr,
379 int *jform, double *epoch, double *orbinc,
380 double *anode, double *perih, double *aorq, double *e,
381 double *aorl, double *dm, int *jstat );
382
383void slaPv2ue ( double pv[], double date, double pmass,
384 double u[], int *jstat );
385
386void slaPvobs ( double p, double h, double stl, double pv[6] );
387
388void slaPxy ( int np, double xye[][2], double xym[][2],
389 double coeffs[6],
390 double xyp[][2], double *xrms, double *yrms, double *rrms );
391
392float slaRange ( float angle );
393
394float slaRanorm ( float angle );
395
396double slaRcc ( double tdb, double ut1, double wl, double u, double v );
397
398void slaRdplan ( double date, int np, double elong, double phi,
399 double *ra, double *dec, double *diam );
400
401void slaRefco ( double hm, double tdk, double pmb, double rh,
402 double wl, double phi, double tlr, double eps,
403 double *refa, double *refb );
404
405void slaRefcoq ( double tdk, double pmb, double rh, double wl,
406 double *refa, double *refb );
407
408void slaRefro ( double zobs, double hm, double tdk, double pmb,
409 double rh, double wl, double phi, double tlr, double eps,
410 double *ref );
411
412void slaRefv ( double vu[3], double refa, double refb, double vr[3] );
413
414void slaRefz ( double zu, double refa, double refb, double *zr );
415
416float slaRverot ( float phi, float ra, float da, float st );
417
418float slaRvgalc ( float r2000, float d2000 );
419
420float slaRvlg ( float r2000, float d2000 );
421
422float slaRvlsrd ( float r2000, float d2000 );
423
424float slaRvlsrk ( float r2000, float d2000 );
425
426void slaS2tp ( float ra, float dec, float raz, float decz,
427 float *xi, float *eta, int *j );
428
429float slaSep ( float a1, float b1, float a2, float b2 );
430
431void slaSmat ( int n, float *a, float *y, float *d, int *jf, int *iw );
432
433void slaSubet ( double rc, double dc, double eq,
434 double *rm, double *dm );
435
436void slaSupgal ( double dsl, double dsb, double *dl, double *db );
437
438void slaSvd ( int m, int n, int mp, int np,
439 double *a, double *w, double *v, double *work,
440 int *jstat );
441
442void slaSvdcov ( int n, int np, int nc,
443 double *w, double *v, double *work, double *cvm );
444
445void slaSvdsol ( int m, int n, int mp, int np,
446 double *b, double *u, double *w, double *v,
447 double *work, double *x );
448
449void slaTp2s ( float xi, float eta, float raz, float decz,
450 float *ra, float *dec );
451
452void slaTp2v ( float xi, float eta, float v0[3], float v[3] );
453
454void slaTps2c ( float xi, float eta, float ra, float dec,
455 float *raz1, float *decz1,
456 float *raz2, float *decz2, int *n );
457
458void slaTpv2c ( float xi, float eta, float v[3],
459 float v01[3], float v02[3], int *n );
460
461void slaUe2el ( double u[], int jformr,
462 int *jform, double *epoch, double *orbinc,
463 double *anode, double *perih, double *aorq, double *e,
464 double *aorl, double *dm, int *jstat );
465
466void slaUe2pv ( double date, double u[], double pv[], int *jstat );
467
468void slaUnpcd ( double disco, double *x, double *y );
469
470void slaV2tp ( float v[3], float v0[3], float *xi, float *eta, int *j );
471
472float slaVdv ( float va[3], float vb[3] );
473
474void slaVn ( float v[3], float uv[3], float *vm );
475
476void slaVxv ( float va[3], float vb[3], float vc[3] );
477
478void slaXy2xy ( double x1, double y1, double coeffs[6],
479 double *x2, double *y2 );
480
481double slaZd ( double ha, double dec, double phi );
482
483#ifdef __cplusplus
484}
485#endif
486
487#endif
Note: See TracBrowser for help on using the repository browser.