00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __LNC_DSET_H
00020 #define __LNC_DSET_H
00021
00022 #include <libncat/catalog.h>
00023
00043 typedef void (*lnc_field_insert)(void* dest, void* src);
00044 typedef void (*lnc_alt_insert)(void* dest, void* src1, void* src2);
00045
00046 struct alt_idx {
00047 char symbol1[8];
00048 char symbol2[8];
00049 int idx1;
00050 int idx2;
00051 };
00052
00059 struct lnc_dataset{
00060 char* name;
00061 char* file;
00062 lnc_catalog* cat;
00064
00065 int ra_stride;
00066 int dec_stride;
00067 int mag_stride;
00068 double ra_stride_size;
00069 double dec_stride_size;
00070 double mag_stride_size;
00072
00073 double clip_min_ra;
00074 double clip_min_dec;
00075 double clip_max_ra;
00076 double clip_max_dec;
00077 double clip_faint_mag;
00078 double clip_bright_mag;
00079 double op_progress;
00081
00082 lnc_slist** objects;
00083 lnc_tile_status* status;
00084 lnc_slist** hobjects;
00085 int array_size;
00086 int status_size;
00087 int no_tiles;
00088 int object_size;
00089 int dset_size;
00090 int (*object_insert)(void* dset, void* object);
00091 int insert_id;
00093
00094 lnc_dlist* byte_description;
00095 int object_fields;
00096 int alt_fields;
00097 lnc_field_insert field_insert[128];
00098 lnc_alt_insert alt_insert[128];
00099 lnc_dset_index idx[128];
00100 struct alt_idx alt_data[16];
00101 int record_size;
00102 };
00103
00110 typedef struct {
00111 int catalog_magic;
00112 int endian_magic;
00113 double ra_min;
00114 double ra_max;
00115 double dec_min;
00116 double dec_max;
00117 double mag_faint;
00118 double mag_bright;
00119 int object_size;
00120 int dset_size;
00121 int object_fields;
00122 int insert_id;
00123 } lnc_dataset_hdr;
00124
00125 #endif