00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "muse_cplwrappers.h"
00025 #include "muse_data_format_z.h"
00026
00027
00036
00065
00066 const muse_cpltable_def muse_euro3dcube_e3d_data_def[] = {
00067 { "SPEC_ID", CPL_TYPE_INT, NULL, "%5d",
00068 "Spectrum identifier", CPL_TRUE},
00069 { "SELECTED", CPL_TYPE_INT, NULL, "%1d",
00070 "Selection flag", CPL_TRUE},
00071 { "NSPAX", CPL_TYPE_INT, NULL, "%d",
00072 "Number of instrument spaxels composing the spectrum", CPL_TRUE},
00073 { "SPEC_LEN", CPL_TYPE_INT, "pixel", "%ld",
00074 "Useful number of spectral elements", CPL_TRUE},
00075 { "SPEC_STA", CPL_TYPE_INT, "pixel", "%7d",
00076 "Starting wavelength of spectrum", CPL_TRUE},
00077 { "XPOS", CPL_TYPE_DOUBLE, "pix", "%f",
00078 "Horizontal position", CPL_TRUE},
00079 { "YPOS", CPL_TYPE_DOUBLE, "pix", "%f",
00080 "Vertical position", CPL_TRUE},
00081 { "GROUP_N", CPL_TYPE_INT, NULL, "%d",
00082 "Group number", CPL_TRUE},
00083 { "SPAX_ID", CPL_TYPE_STRING, NULL, "%s",
00084 "Spaxel identifier", CPL_TRUE},
00085 { "DATA_SPE", CPL_TYPE_FLOAT | CPL_TYPE_POINTER, NULL, "%1.5e",
00086 "Data spectrum", CPL_TRUE},
00087 { "QUAL_SPE", CPL_TYPE_INT | CPL_TYPE_POINTER, NULL, "%010x",
00088 "Data quality spectrum", CPL_TRUE},
00089 { "STAT_SPE", CPL_TYPE_FLOAT | CPL_TYPE_POINTER, NULL, "%1.5e",
00090 "Associated statistical error spectrum", CPL_TRUE},
00091 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00092 };
00093
00094
00095
00123
00124 const muse_cpltable_def muse_euro3dcube_e3d_grp_def[] = {
00125 { "GROUP_N", CPL_TYPE_INT, NULL, "%1d",
00126 "Group number", CPL_TRUE},
00127 { "G_SHAPE", CPL_TYPE_STRING, NULL, "%s",
00128 "Spaxel shape keyword", CPL_TRUE},
00129 { "G_SIZE1", CPL_TYPE_FLOAT, "arcsec", "%1.5e",
00130 "Horizontal size per spaxel", CPL_TRUE},
00131 { "G_ANGLE", CPL_TYPE_FLOAT, "deg", "%1.5e",
00132 "Angle of spaxel on the sky", CPL_TRUE},
00133 { "G_SIZE2", CPL_TYPE_FLOAT, "arcsec", "%1.5e",
00134 "Vertical size per spaxel", CPL_TRUE},
00135 { "G_POSWAV", CPL_TYPE_FLOAT, "Angstrom", "%1.5e",
00136 "Wavelength for which the WCS is valid", CPL_TRUE},
00137 { "G_AIRMAS", CPL_TYPE_FLOAT, NULL, "%1.5e",
00138 "Airmass", CPL_TRUE},
00139 { "G_PARANG", CPL_TYPE_FLOAT, "deg", "%1.5e",
00140 "Parallactic angle", CPL_TRUE},
00141 { "G_PRESSU", CPL_TYPE_FLOAT, "hPa", "%1.5e",
00142 "Pressure", CPL_TRUE},
00143 { "G_TEMPER", CPL_TYPE_FLOAT, "K", "%1.5e",
00144 "Temperature", CPL_TRUE},
00145 { "G_HUMID", CPL_TYPE_FLOAT, NULL, "%1.5e",
00146 "Humidity", CPL_TRUE},
00147 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00148 };
00149
00150
00151
00163
00164 const muse_cpltable_def muse_dataspectrum_def[] = {
00165 { "lambda", CPL_TYPE_DOUBLE, "Angstrom", "%7.2f",
00166 "Wavelength", CPL_TRUE},
00167 { "data", CPL_TYPE_DOUBLE, "count", "%1.5e",
00168 "Data values", CPL_TRUE},
00169 { "stat", CPL_TYPE_DOUBLE, "count", "%1.5e",
00170 "Data variance", CPL_TRUE},
00171 { "dq", CPL_TYPE_INT, NULL, "%#x",
00172 "Quality flag of data values", CPL_TRUE},
00173 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00174 };
00175
00176
00177 #ifdef XML_TABLEDEF_TRACE_TABLE
00178
00179
00197
00198 const muse_cpltable_def muse_trace_table_def[] = {
00199 { "SliceNo", CPL_TYPE_INT, NULL, "%7d",
00200 "Slice number", CPL_TRUE},
00201 { "Width", CPL_TYPE_FLOAT, NULL, "%1.5e",
00202 "Average slice width", CPL_TRUE},
00203 { "tc0_ij", CPL_TYPE_DOUBLE, NULL, "%1.5e",
00204 "polynomial coefficients for the central trace solution", CPL_TRUE},
00205 { "MSE0", CPL_TYPE_DOUBLE, NULL, "%1.5e",
00206 "mean squared error of fit (central solution)", CPL_TRUE},
00207 { "tc1_ij", CPL_TYPE_DOUBLE, NULL, "%1.5e",
00208 "polynomial coefficients for the left-edge trace solution", CPL_TRUE},
00209 { "MSE1", CPL_TYPE_DOUBLE, NULL, "%1.5e",
00210 "mean squared error of fit (left-edge solution)", CPL_TRUE},
00211 { "tc2_ij", CPL_TYPE_DOUBLE, NULL, "%1.5e",
00212 "polynomial coefficients for the right-edge trace solution", CPL_TRUE},
00213 { "MSE2", CPL_TYPE_DOUBLE, NULL, "%1.5e",
00214 "mean squared error of fit (right-edge solution)", CPL_TRUE},
00215 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00216 };
00217
00218 #endif
00219
00220 #ifdef XML_TABLEDEF_TRACE_SAMPLES
00221
00222
00238
00239 const muse_cpltable_def muse_trace_samples_def[] = {
00240 { "slice", CPL_TYPE_INT, NULL, "%7d",
00241 "Slice number", CPL_TRUE},
00242 { "y", CPL_TYPE_FLOAT, "pix", "%1.5e",
00243 "y position on the CCD", CPL_TRUE},
00244 { "mid", CPL_TYPE_FLOAT, "pix", "%1.5e",
00245 "Midpoint of the slice at this y position", CPL_TRUE},
00246 { "left", CPL_TYPE_FLOAT, "pix", "%1.5e",
00247 "Left edge of the slice at this y position", CPL_TRUE},
00248 { "right", CPL_TYPE_FLOAT, "pix", "%1.5e",
00249 "Right edge of the slice at this y position", CPL_TRUE},
00250 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00251 };
00252
00253 #endif
00254
00255 #ifdef XML_TABLEDEF_WAVECAL_TABLE
00256
00257
00269
00270 const muse_cpltable_def muse_wavecal_table_def[] = {
00271 { "SliceNo", CPL_TYPE_INT, NULL, "%7d",
00272 "Slice number", CPL_TRUE},
00273 { "wlcIJ", CPL_TYPE_DOUBLE, NULL, "%1.5e",
00274 "Polynomial coefficients for the wavelength solution", CPL_TRUE},
00275 { "MSE", CPL_TYPE_DOUBLE, NULL, "%1.5e",
00276 "Mean squared error of fit", CPL_TRUE},
00277 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00278 };
00279
00280 #endif
00281
00282 #ifdef XML_TABLEDEF_WAVECAL_RESIDUALS
00283
00284
00301
00302 const muse_cpltable_def muse_wavecal_residuals_def[] = {
00303 { "slice", CPL_TYPE_INT, NULL, "%7d",
00304 "Slice number", CPL_TRUE},
00305 { "iteration", CPL_TYPE_INT, NULL, "%7d",
00306 "Iteration", CPL_TRUE},
00307 { "x", CPL_TYPE_INT, "pix", "%7d",
00308 "x position on the CCD", CPL_TRUE},
00309 { "y", CPL_TYPE_INT, "pix", "%7d",
00310 "y position on the CCD", CPL_TRUE},
00311 { "lambda", CPL_TYPE_FLOAT, "Angstrom", "%1.5e",
00312 "Wavelength", CPL_TRUE},
00313 { "residual", CPL_TYPE_DOUBLE, "Angstrom", "%1.5e",
00314 "Residual at this point", CPL_TRUE},
00315 { "rejlimit", CPL_TYPE_DOUBLE, "Angstrom", "%1.5e",
00316 "Rejection limit for this iteration", CPL_TRUE},
00317 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00318 };
00319
00320 #endif
00321
00322
00349
00350 const muse_cpltable_def muse_lsf_profile_def[] = {
00351 { "ifu", CPL_TYPE_INT, NULL, "%7d",
00352 "IFU number", CPL_TRUE},
00353 { "slice", CPL_TYPE_INT, NULL, "%7d",
00354 "Slice number within the IFU", CPL_TRUE},
00355 { "sensitivity", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL, "%1.5e",
00356 "Detector sensitivity, relative to the reference", CPL_TRUE},
00357 { "offset", CPL_TYPE_DOUBLE, NULL, "%1.5e",
00358 "Wavelength calibration offset", CPL_TRUE},
00359 { "refraction", CPL_TYPE_DOUBLE, NULL, "%1.5e",
00360 "Relative refraction index", CPL_TRUE},
00361 { "slit_width", CPL_TYPE_DOUBLE, NULL, "%1.5e",
00362 "Slit width", CPL_TRUE},
00363 { "bin_width", CPL_TYPE_DOUBLE, NULL, "%1.5e",
00364 "Bin width", CPL_TRUE},
00365 { "lsf_width", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL, "%1.5e",
00366 "LSF gauss-hermitean width", CPL_TRUE},
00367 { "hermit3", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL, "%1.5e",
00368 "3th order hermitean coefficient", CPL_TRUE},
00369 { "hermit4", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL, "%1.5e",
00370 "4th order hermitean coefficient", CPL_TRUE},
00371 { "hermit5", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL, "%1.5e",
00372 "5th order hermitean coefficient", CPL_TRUE},
00373 { "hermit6", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL, "%1.5e",
00374 "6th order hermitean coefficient", CPL_TRUE},
00375 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00376 };
00377
00378
00379 #ifdef XML_TABLEDEF_GEOMETRY_TABLE
00380
00381
00402
00403 const muse_cpltable_def muse_geometry_table_def[] = {
00404 { "SubField", CPL_TYPE_INT, NULL, "%02d",
00405 "sub-field (IFU / channel) number", CPL_TRUE},
00406 { "SliceCCD", CPL_TYPE_INT, NULL, "%02d",
00407 "Slice number on the CCD, counted from left to right", CPL_TRUE},
00408 { "SliceSky", CPL_TYPE_INT, NULL, "%02d",
00409 "Slice number on the sky", CPL_TRUE},
00410 { "x", CPL_TYPE_DOUBLE, "pix", "%9.4f",
00411 "x position within field of view", CPL_TRUE},
00412 { "y", CPL_TYPE_DOUBLE, "pix", "%9.4f",
00413 "y position within field of view", CPL_TRUE},
00414 { "angle", CPL_TYPE_DOUBLE, "deg", "%6.3f",
00415 "Rotation angle of slice", CPL_TRUE},
00416 { "width", CPL_TYPE_DOUBLE, "pix", "%.2f",
00417 "Width of slice within field of view", CPL_TRUE},
00418 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00419 };
00420
00421 #endif
00422
00423 #ifdef XML_TABLEDEF_SPOTS_TABLE
00424
00425
00458
00459 const muse_cpltable_def muse_spots_table_def[] = {
00460 { "filename", CPL_TYPE_STRING, NULL, "%s",
00461 "(Raw) filename from which this measurement originates", CPL_TRUE},
00462 { "image", CPL_TYPE_INT, NULL, "%03d",
00463 "Number of the image in the series", CPL_TRUE},
00464 { "POSENC2", CPL_TYPE_INT, NULL, "%7d",
00465 "X position of the mask in encoder steps", CPL_TRUE},
00466 { "POSPOS2", CPL_TYPE_DOUBLE, "mm", "%.3f",
00467 "X position of the mask", CPL_TRUE},
00468 { "POSENC3", CPL_TYPE_INT, NULL, "%7d",
00469 "Y position of the mask in encoder steps", CPL_TRUE},
00470 { "POSPOS3", CPL_TYPE_DOUBLE, "mm", "%.3f",
00471 "Y position of the mask", CPL_TRUE},
00472 { "POSENC4", CPL_TYPE_INT, NULL, "%7d",
00473 "Z position of the mask in encoder steps", CPL_TRUE},
00474 { "POSPOS4", CPL_TYPE_DOUBLE, "mm", "%.3f",
00475 "Z position of the mask", CPL_TRUE},
00476 { "VPOS", CPL_TYPE_DOUBLE, "mm", "%.3f",
00477 "Real vertical position of the mask", CPL_TRUE},
00478 { "ScaleFOV", CPL_TYPE_DOUBLE, "arcsec/mm", "%.3f",
00479 "Focus scale in VLT focal plane (from the FITS header)", CPL_TRUE},
00480 { "SubField", CPL_TYPE_INT, NULL, "%02d",
00481 "Sub-field number", CPL_TRUE},
00482 { "SliceCCD", CPL_TYPE_INT, NULL, "%02d",
00483 "Slice number as counted on the CCD", CPL_TRUE},
00484 { "lambda", CPL_TYPE_DOUBLE, "Angstrom", "%.3f",
00485 "Wavelength", CPL_TRUE},
00486 { "SpotNo", CPL_TYPE_INT, NULL, "%04d",
00487 "Number of this spot within the slice (1 is left, 2 is the central one, 3 is right within the slice)", CPL_TRUE},
00488 { "xc", CPL_TYPE_DOUBLE, "pix", "%.3f",
00489 "x center of this spot on the CCD", CPL_TRUE},
00490 { "yc", CPL_TYPE_DOUBLE, "pix", "%.3f",
00491 "y center of this spot on the CCD", CPL_TRUE},
00492 { "xfwhm", CPL_TYPE_DOUBLE, "pix", "%.2f",
00493 "FWHM in x-direction on the CCD", CPL_TRUE},
00494 { "yfwhm", CPL_TYPE_DOUBLE, "pix", "%.2f",
00495 "FWHM in y-direction on the CCD", CPL_TRUE},
00496 { "flux", CPL_TYPE_DOUBLE, NULL, "%.1f",
00497 "Flux of the spot as integrated on the CCD image", CPL_TRUE},
00498 { "bg", CPL_TYPE_DOUBLE, NULL, "%f",
00499 "Background level around the spot", CPL_TRUE},
00500 { "dxcen", CPL_TYPE_DOUBLE, "pix", "%f",
00501 "distance to center of slice at vertical position yc (positive: right of center)", CPL_TRUE},
00502 { "twidth", CPL_TYPE_DOUBLE, "pix", "%f",
00503 "trace width of the slice at the vertical CCD position of the spot", CPL_TRUE},
00504 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00505 };
00506
00507 #endif
00508
00509
00525
00526 const muse_cpltable_def muse_sky_lines_lines_def[] = {
00527 { "name", CPL_TYPE_STRING, NULL, "%s",
00528 "Line name", CPL_TRUE},
00529 { "group", CPL_TYPE_INT, NULL, "%2d",
00530 "Line group id", CPL_TRUE},
00531 { "lambda", CPL_TYPE_DOUBLE, "Angstrom", "%7.2f",
00532 "Air wavelength", CPL_TRUE},
00533 { "flux", CPL_TYPE_DOUBLE, "10**(-20)*erg/(s cm^2 arcsec^2)", "%1.5e",
00534 "Line flux", CPL_TRUE},
00535 { "dq", CPL_TYPE_INT, NULL, "%#x",
00536 "Quality of the entry (>0: dont use)", CPL_TRUE},
00537 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00538 };
00539
00540
00541
00560
00561 const muse_cpltable_def muse_sky_lines_oh_transitions_def[] = {
00562 { "name", CPL_TYPE_STRING, NULL, "%s",
00563 "Transition name; like &OH 8-3 P1e(22.5) 2&", CPL_TRUE},
00564 { "lambda", CPL_TYPE_DOUBLE, "Angstrom", "%7.2f",
00565 "Air wavelength", CPL_TRUE},
00566 { "v_u", CPL_TYPE_INT, NULL, "%7d",
00567 "Upper transition level", CPL_TRUE},
00568 { "v_l", CPL_TYPE_INT, NULL, "%7d",
00569 "Lower transition level", CPL_TRUE},
00570 { "nu", CPL_TYPE_INT, NULL, "%7d",
00571 "Vibrational momentum", CPL_TRUE},
00572 { "E_u", CPL_TYPE_DOUBLE, "J", "%1.5e",
00573 "Upper energy", CPL_TRUE},
00574 { "J_u", CPL_TYPE_DOUBLE, NULL, "%1.5e",
00575 "Upper momentum", CPL_TRUE},
00576 { "A", CPL_TYPE_DOUBLE, NULL, "%1.5e",
00577 "Transition probability", CPL_TRUE},
00578 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00579 };
00580
00581
00582 #ifdef XML_TABLEDEF_FLUX_TABLE
00583
00584
00596
00597 const muse_cpltable_def muse_flux_table_def[] = {
00598 { "lambda", CPL_TYPE_DOUBLE, "Angstrom", "%7.2f",
00599 "Wavelength", CPL_TRUE},
00600 { "flux", CPL_TYPE_DOUBLE, "erg/(s cm^2 arcsec^2)", "%1.5e",
00601 "Flux", CPL_TRUE},
00602 { "fluxerr", CPL_TYPE_DOUBLE, "erg/(s cm^2 arcsec^2)", "%1.5e",
00603 "Error of the flux", CPL_FALSE},
00604 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00605 };
00606
00607 #endif
00608
00609 #ifdef XML_TABLEDEF_STD_FLUX_TABLE
00610
00611
00630
00631 const muse_cpltable_def muse_std_flux_table_def[] = {
00632 { "lambda", CPL_TYPE_DOUBLE, "Angstrom", "%7.2f",
00633 "Wavelength", CPL_TRUE},
00634 { "flux", CPL_TYPE_DOUBLE, "erg/s/cm**2/Angstrom", "%1.5e",
00635 "The standard star flux", CPL_TRUE},
00636 { "fluxerr", CPL_TYPE_DOUBLE, "erg/s/cm**2/Angstrom", "%1.5e",
00637 "Error of the standard star flux, optional", CPL_FALSE},
00638 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00639 };
00640
00641 #endif
00642
00643 #ifdef XML_TABLEDEF_STD_RESPONSE
00644
00645
00656
00657 const muse_cpltable_def muse_std_response_def[] = {
00658 { "lambda", CPL_TYPE_DOUBLE, "Angstrom", "%7.2f",
00659 "wavelength", CPL_TRUE},
00660 { "response", CPL_TYPE_DOUBLE, "2.5*log10((count/s/Angstrom)/(erg/s/cm**2/Angstrom))", "%.4e",
00661 "instrument response derived from standard star", CPL_TRUE},
00662 { "resperr", CPL_TYPE_DOUBLE, "2.5*log10((count/s/Angstrom)/(erg/s/cm**2/Angstrom))", "%.4e",
00663 "instrument response error derived from standard star", CPL_TRUE},
00664 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00665 };
00666
00667 #endif
00668
00669 #ifdef XML_TABLEDEF_STD_TELLURIC
00670
00671
00682
00683 const muse_cpltable_def muse_std_telluric_def[] = {
00684 { "lambda", CPL_TYPE_DOUBLE, "Angstrom", "%7.2f",
00685 "wavelength", CPL_TRUE},
00686 { "ftelluric", CPL_TYPE_DOUBLE, NULL, "%.5f",
00687 "the telluric correction factor, normalized to an airmass of 1", CPL_TRUE},
00688 { "ftellerr", CPL_TYPE_DOUBLE, NULL, "%.5f",
00689 "the error of the telluric correction factor", CPL_TRUE},
00690 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00691 };
00692
00693 #endif
00694
00695 #ifdef XML_TABLEDEF_EXTINCT_TABLE
00696
00697
00712
00713 const muse_cpltable_def muse_extinct_table_def[] = {
00714 { "lambda", CPL_TYPE_DOUBLE, "Angstrom", "%1.5e",
00715 "Wavelength", CPL_TRUE},
00716 { "extinction", CPL_TYPE_DOUBLE, "mag/airmass", "%1.5e",
00717 "Extinction", CPL_TRUE},
00718 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00719 };
00720
00721 #endif
00722
00723 #ifdef XML_TABLEDEF_TELLURIC_REGIONS
00724
00725
00739
00740 const muse_cpltable_def muse_telluric_regions_def[] = {
00741 { "lmin", CPL_TYPE_DOUBLE, "Angstrom", "%8.3f",
00742 "Lower limit of the telluric region", CPL_TRUE},
00743 { "lmax", CPL_TYPE_DOUBLE, "Angstrom", "%8.3f",
00744 "Upper limit of the telluric region", CPL_TRUE},
00745 { "bgmin", CPL_TYPE_DOUBLE, "Angstrom", "%8.3f",
00746 "Lower limit of the background region", CPL_TRUE},
00747 { "bgmax", CPL_TYPE_DOUBLE, "Angstrom", "%8.3f",
00748 "Upper limit of the background region", CPL_TRUE},
00749 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00750 };
00751
00752 #endif
00753
00754
00779
00780 const muse_cpltable_def muse_line_catalog_def[] = {
00781 { MUSE_LINE_CATALOG_LAMBDA, CPL_TYPE_FLOAT, "Angstrom", "%1.5e",
00782 "Wavelength", CPL_TRUE},
00783 { MUSE_LINE_CATALOG_FLUX, CPL_TYPE_FLOAT, NULL, "%1.5e",
00784 "Relative flux", CPL_TRUE},
00785 { MUSE_LINE_CATALOG_ION, CPL_TYPE_STRING, NULL, "%s",
00786 "Ion from which the line originates", CPL_TRUE},
00787 { MUSE_LINE_CATALOG_QUALITY, CPL_TYPE_INT, NULL, "%7d",
00788 "Quality flag (0: undetected line, 1: line used for pattern matching, 2: line that is part of a multiplet, 3: good line, fully used, 5: bright and isolated line, use as FWHM reference", CPL_TRUE},
00789 { "comment", CPL_TYPE_STRING, NULL, "%s",
00790 "Optional comment", CPL_FALSE},
00791 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00792 };
00793
00794
00795
00809
00810 const muse_cpltable_def muse_badpix_table_def[] = {
00811 { MUSE_BADPIX_X, CPL_TYPE_INT, "pix", "%4d",
00812 "X position of a bad pixel (on untrimmed raw data)", CPL_TRUE},
00813 { MUSE_BADPIX_Y, CPL_TYPE_INT, "pix", "%4d",
00814 "Y position of a bad pixel (on untrimmed raw data)", CPL_TRUE},
00815 { MUSE_BADPIX_DQ, CPL_TYPE_INT, NULL, "%#010x",
00816 "32bit bad pixel mask as defined by Euro3D", CPL_TRUE},
00817 { MUSE_BADPIX_VALUE, CPL_TYPE_FLOAT, "count", "%7.4f",
00818 "Extra value, e.g. depth for traps", CPL_TRUE},
00819 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00820 };
00821
00822
00823 #ifdef XML_TABLEDEF_ASTROMETRY_REFERENCE
00824
00825
00846
00847 const muse_cpltable_def muse_astrometry_reference_def[] = {
00848 { "SourceID", CPL_TYPE_STRING, NULL, "%s",
00849 "Source identification", CPL_TRUE},
00850 { "RA", CPL_TYPE_DOUBLE, "deg", "%1.5e",
00851 "Right ascension", CPL_TRUE},
00852 { "DEC", CPL_TYPE_DOUBLE, "deg", "%1.5e",
00853 "Declination", CPL_TRUE},
00854 { "filter", CPL_TYPE_STRING, NULL, "%s",
00855 "Filter name used for column mag", CPL_TRUE},
00856 { "mag", CPL_TYPE_DOUBLE, "mag", "%1.5e",
00857 "Object (Vega) magnitude", CPL_TRUE},
00858 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00859 };
00860
00861 #endif
00862
00863 #ifdef XML_TABLEDEF_FILTER_LIST
00864
00865
00877
00878 const muse_cpltable_def muse_filter_list_def[] = {
00879 { "lambda", CPL_TYPE_DOUBLE, "Angstrom", "%1.5e",
00880 "Wavelength", CPL_TRUE},
00881 { "throughput", CPL_TYPE_DOUBLE, NULL, "%1.5e",
00882 "Filter throughput (in fractions of 1)", CPL_TRUE},
00883 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00884 };
00885
00886 #endif
00887
00888
00919
00920 const muse_cpltable_def muse_offset_list_def[] = {
00921 { MUSE_OFFSETS_DATEOBS, CPL_TYPE_STRING, NULL, "%s",
00922 "Date and time at the start of the exposure", CPL_TRUE},
00923 { MUSE_OFFSETS_MJDOBS, CPL_TYPE_DOUBLE, "s", "%.8f",
00924 "MJD at the start of the exposure", CPL_FALSE},
00925 { MUSE_OFFSETS_DRA, CPL_TYPE_DOUBLE, "deg", "%.6e",
00926 "Right ascension offset in degrees", CPL_TRUE},
00927 { MUSE_OFFSETS_DDEC, CPL_TYPE_DOUBLE, "deg", "%.6e",
00928 "Declination offset in degrees", CPL_TRUE},
00929 { MUSE_OFFSETS_FSCALE, CPL_TYPE_DOUBLE, NULL, "%.5f",
00930 "(Relative) flux scaling of the given exposure", CPL_FALSE},
00931 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
00932 };
00933
00934