4 #include "carma/szaarrayutils/input.h"
5 #include "carma/szaarrayutils/output.h"
6 #include "carma/szaarrayutils/quad.h"
7 #include "carma/szaarrayutils/astrom.h"
8 #include "carma/szaarrayutils/cache.h"
28 typedef struct SourceCatalog SourceCatalog;
33 SourceCatalog *new_SourceCatalog(
void);
38 SourceCatalog *del_SourceCatalog(SourceCatalog *sc);
46 int input_SourceCatalog(SourceCatalog *sc, InputStream *stream);
52 int read_SourceCatalog(SourceCatalog *sc,
char *dir,
char *file);
58 int output_SourceCatalog(SourceCatalog *sc, OutputStream *stream);
64 int write_SourceCatalog(SourceCatalog *sc,
char *dir,
char *file);
69 int sc_set_ut1utc_ephemeris(SourceCatalog *sc,
char *dir,
char *file);
74 typedef union SourceUnion Source;
92 enum {SRC_NAME_MAX=12};
106 char name[SRC_NAME_MAX];
207 SRC_ALL_AXES = SRC_AZ_AXIS | SRC_EL_AXIS | SRC_DK_AXIS
216 int valid_source_char(
int c);
225 int get_SourceId(sza::array::Source* src,
int resolve, sza::array::SourceId *
id);
232 int get_Source_number(sza::array::Source* src,
int resolve);
238 sza::array::Source* add_J2000Source(SourceCatalog *sc,
char *name,
double ra,
239 double dec,
float pmra,
float pmdec);
240 sza::array::Source* add_EphemSource(SourceCatalog *sc,
char *name,
char *file);
241 sza::array::Source* add_FixedSource(SourceCatalog *sc,
char *name,
242 unsigned axis_mask,
double az,
double el,
244 sza::array::Source* add_AliasSource(SourceCatalog *sc,
char *name,
char *source);
256 sza::array::Source* find_SourceByName(SourceCatalog *sc,
char *name);
257 sza::array::Source* find_SourceByNumber(SourceCatalog *sc,
int number);
262 int size_SourceCatalog(SourceCatalog *sc);
289 SIO_ALL = SIO_EQUAT | SIO_HORIZ | SIO_ALMANAC
309 double raMean,decMean;
330 int source_info(SourceCatalog *sc, sza::array::Site *site,
331 sza::array::Source* src,
332 double utc,
double horizon,
unsigned options, SourceInfo *info);
341 int get_ut1utc_window(SourceCatalog *sc,
double utc,
342 sza::array::CacheWindow *win);
350 int get_ut1utc_QuadData(SourceCatalog *sc,
double utc,
351 sza::array::QuadData *data);
358 int get_eqneqx_window(SourceCatalog *sc,
double tt,
359 sza::array::CacheWindow *win);
367 int get_eqneqx_QuadData(SourceCatalog *sc,
double tt,
368 sza::array::QuadData *data);
379 int get_ephem_window(SourceCatalog *sc, sza::array::Source* src,
double tt,
380 sza::array::CacheWindow *win);
393 int get_ephem_QuadData(SourceCatalog *sc, sza::array::Source* src,
double tt,
394 sza::array::QuadData *ra,
395 sza::array::QuadData *dec,
396 sza::array::QuadData *dist);
408 int get_mapqk_window(SourceCatalog *sc,
double tt,
409 sza::array::CacheWindow *win);
422 int get_mapqk_data(SourceCatalog *sc,
double tt, MapqkData *data);
430 int precess_J2000_source(SourceCatalog *sc, sza::array::Source* src,
double tt,
431 double *ra,
double *dec);
436 int describe_fixed_source(sza::array::Source* src, SourceAzElPa *coord,
437 unsigned *axis_mask);
439 unsigned nSource(SourceCatalog* sc);