24 #include "muse_cplwrappers.h"
25 #include "muse_data_format_z.h"
36 #ifdef XML_TABLEDEF_PIXEL_TABLE
60 {
"xpos", CPL_TYPE_FLOAT,
"pix",
"%7.2f",
61 "x position of a pixel within the field of view", CPL_TRUE},
62 {
"ypos", CPL_TYPE_FLOAT,
"pix",
"%7.2f",
63 "y position of a pixel within the field of view", CPL_TRUE},
64 {
"lambda", CPL_TYPE_FLOAT,
"Angstrom",
"%8.2f",
65 "Wavelength assigned to the pixel", CPL_TRUE},
66 {
"data", CPL_TYPE_FLOAT,
"count",
"%1.5e",
67 "Data value", CPL_TRUE},
68 {
"dq", CPL_TYPE_INT, NULL,
"%#x",
69 "32bit bad pixel status as defined by Euro3D", CPL_TRUE},
70 {
"stat", CPL_TYPE_FLOAT,
"count2",
"%1.5e",
71 "The data variance", CPL_TRUE},
72 {
"origin", CPL_TYPE_INT, NULL,
"0x%08x",
73 "Encoded value of IFU and slice number, as well as x and y position in the raw (trimmed) data", CPL_TRUE},
74 {
"weight", CPL_TYPE_FLOAT, NULL,
"%1.5e",
75 "The relative weight of this pixel", CPL_FALSE},
76 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
112 {
"SPEC_ID", CPL_TYPE_INT, NULL,
"%5d",
113 "Spectrum identifier", CPL_TRUE},
114 {
"SELECTED", CPL_TYPE_INT, NULL,
"%1d",
115 "Selection flag", CPL_TRUE},
116 {
"NSPAX", CPL_TYPE_INT, NULL,
"%d",
117 "Number of instrument spaxels composing the spectrum", CPL_TRUE},
118 {
"SPEC_LEN", CPL_TYPE_INT,
"pixel",
"%ld",
119 "Useful number of spectral elements", CPL_TRUE},
120 {
"SPEC_STA", CPL_TYPE_INT,
"pixel",
"%7d",
121 "Starting wavelength of spectrum", CPL_TRUE},
122 {
"XPOS", CPL_TYPE_DOUBLE,
"pix",
"%f",
123 "Horizontal position", CPL_TRUE},
124 {
"YPOS", CPL_TYPE_DOUBLE,
"pix",
"%f",
125 "Vertical position", CPL_TRUE},
126 {
"GROUP_N", CPL_TYPE_INT, NULL,
"%d",
127 "Group number", CPL_TRUE},
128 {
"SPAX_ID", CPL_TYPE_STRING, NULL,
"%s",
129 "Spaxel identifier", CPL_TRUE},
130 {
"DATA_SPE", CPL_TYPE_FLOAT | CPL_TYPE_POINTER, NULL,
"%1.5e",
131 "Data spectrum", CPL_TRUE},
132 {
"QUAL_SPE", CPL_TYPE_INT | CPL_TYPE_POINTER, NULL,
"%010x",
133 "Data quality spectrum", CPL_TRUE},
134 {
"STAT_SPE", CPL_TYPE_FLOAT | CPL_TYPE_POINTER, NULL,
"%1.5e",
135 "Associated statistical error spectrum", CPL_TRUE},
136 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
170 {
"GROUP_N", CPL_TYPE_INT, NULL,
"%1d",
171 "Group number", CPL_TRUE},
172 {
"G_SHAPE", CPL_TYPE_STRING, NULL,
"%s",
173 "Spaxel shape keyword", CPL_TRUE},
174 {
"G_SIZE1", CPL_TYPE_FLOAT,
"arcsec",
"%1.5e",
175 "Horizontal size per spaxel", CPL_TRUE},
176 {
"G_ANGLE", CPL_TYPE_FLOAT,
"deg",
"%1.5e",
177 "Angle of spaxel on the sky", CPL_TRUE},
178 {
"G_SIZE2", CPL_TYPE_FLOAT,
"arcsec",
"%1.5e",
179 "Vertical size per spaxel", CPL_TRUE},
180 {
"G_POSWAV", CPL_TYPE_FLOAT,
"Angstrom",
"%1.5e",
181 "Wavelength for which the WCS is valid", CPL_TRUE},
182 {
"G_AIRMAS", CPL_TYPE_FLOAT, NULL,
"%1.5e",
183 "Airmass", CPL_TRUE},
184 {
"G_PARANG", CPL_TYPE_FLOAT,
"deg",
"%1.5e",
185 "Parallactic angle", CPL_TRUE},
186 {
"G_PRESSU", CPL_TYPE_FLOAT,
"hPa",
"%1.5e",
187 "Pressure", CPL_TRUE},
188 {
"G_TEMPER", CPL_TYPE_FLOAT,
"K",
"%1.5e",
189 "Temperature", CPL_TRUE},
190 {
"G_HUMID", CPL_TYPE_FLOAT, NULL,
"%1.5e",
191 "Humidity", CPL_TRUE},
192 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
210 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%7.2f",
211 "Wavelength", CPL_TRUE},
212 {
"data", CPL_TYPE_DOUBLE,
"count",
"%1.5e",
213 "Data values", CPL_TRUE},
214 {
"stat", CPL_TYPE_DOUBLE,
"count",
"%1.5e",
215 "Data variance", CPL_TRUE},
216 {
"dq", CPL_TYPE_INT, NULL,
"%#x",
217 "Quality flag of data values", CPL_TRUE},
218 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
222 #ifdef XML_TABLEDEF_TRACE_TABLE
244 {
"SliceNo", CPL_TYPE_INT, NULL,
"%7d",
245 "Slice number", CPL_TRUE},
246 {
"Width", CPL_TYPE_FLOAT, NULL,
"%1.5e",
247 "Average slice width", CPL_TRUE},
248 {
"tc0_ij", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
249 "polynomial coefficients for the central trace solution", CPL_TRUE},
250 {
"MSE0", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
251 "mean squared error of fit (central solution)", CPL_TRUE},
252 {
"tc1_ij", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
253 "polynomial coefficients for the left-edge trace solution", CPL_TRUE},
254 {
"MSE1", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
255 "mean squared error of fit (left-edge solution)", CPL_TRUE},
256 {
"tc2_ij", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
257 "polynomial coefficients for the right-edge trace solution", CPL_TRUE},
258 {
"MSE2", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
259 "mean squared error of fit (right-edge solution)", CPL_TRUE},
260 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
265 #ifdef XML_TABLEDEF_TRACE_SAMPLES
285 {
"slice", CPL_TYPE_INT, NULL,
"%7d",
286 "Slice number", CPL_TRUE},
287 {
"y", CPL_TYPE_FLOAT,
"pix",
"%1.5e",
288 "y position on the CCD", CPL_TRUE},
289 {
"mid", CPL_TYPE_FLOAT,
"pix",
"%1.5e",
290 "Midpoint of the slice at this y position", CPL_TRUE},
291 {
"left", CPL_TYPE_FLOAT,
"pix",
"%1.5e",
292 "Left edge of the slice at this y position", CPL_TRUE},
293 {
"right", CPL_TYPE_FLOAT,
"pix",
"%1.5e",
294 "Right edge of the slice at this y position", CPL_TRUE},
295 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
300 #ifdef XML_TABLEDEF_WAVECAL_TABLE
316 {
"SliceNo", CPL_TYPE_INT, NULL,
"%7d",
317 "Slice number", CPL_TRUE},
318 {
"wlcIJ", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
319 "Polynomial coefficients for the wavelength solution", CPL_TRUE},
320 {
"MSE", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
321 "Mean squared error of fit", CPL_TRUE},
322 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
327 #ifdef XML_TABLEDEF_WAVECAL_RESIDUALS
348 {
"slice", CPL_TYPE_INT, NULL,
"%7d",
349 "Slice number", CPL_TRUE},
350 {
"iteration", CPL_TYPE_INT, NULL,
"%7d",
351 "Iteration", CPL_TRUE},
352 {
"x", CPL_TYPE_INT,
"pix",
"%7d",
353 "x position on the CCD", CPL_TRUE},
354 {
"y", CPL_TYPE_INT,
"pix",
"%7d",
355 "y position on the CCD", CPL_TRUE},
356 {
"lambda", CPL_TYPE_FLOAT,
"Angstrom",
"%1.5e",
357 "Wavelength", CPL_TRUE},
358 {
"residual", CPL_TYPE_DOUBLE,
"Angstrom",
"%1.5e",
359 "Residual at this point", CPL_TRUE},
360 {
"rejlimit", CPL_TYPE_DOUBLE,
"Angstrom",
"%1.5e",
361 "Rejection limit for this iteration", CPL_TRUE},
362 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
367 #ifdef XML_TABLEDEF_LSF_TABLE
393 {
"ifu", CPL_TYPE_INT, NULL,
"%7d",
394 "IFU number", CPL_TRUE},
395 {
"slice", CPL_TYPE_INT, NULL,
"%7d",
396 "Slice number within the IFU", CPL_TRUE},
397 {
"sensitivity", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL,
"%1.5e",
398 "Detector sensitivity, relative to the reference", CPL_TRUE},
399 {
"offset", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
400 "Wavelength calibration offset", CPL_TRUE},
401 {
"refraction", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
402 "Relative refraction index", CPL_TRUE},
403 {
"slit_width", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
404 "Slit width", CPL_TRUE},
405 {
"bin_width", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
406 "Bin width", CPL_TRUE},
407 {
"lsf_width", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL,
"%1.5e",
408 "LSF gauss-hermitean width", CPL_TRUE},
409 {
"hermit3", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL,
"%1.5e",
410 "3th order hermitean coefficient", CPL_TRUE},
411 {
"hermit4", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL,
"%1.5e",
412 "4th order hermitean coefficient", CPL_TRUE},
413 {
"hermit5", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL,
"%1.5e",
414 "5th order hermitean coefficient", CPL_TRUE},
415 {
"hermit6", CPL_TYPE_DOUBLE | CPL_TYPE_POINTER, NULL,
"%1.5e",
416 "6th order hermitean coefficient", CPL_TRUE},
417 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
422 #ifdef XML_TABLEDEF_GEOMETRY_TABLE
465 {
"SubField", CPL_TYPE_INT, NULL,
"%02d",
466 "sub-field number", CPL_TRUE},
467 {
"SliceCCD", CPL_TYPE_INT, NULL,
"%02d",
468 "Slice number on the CCD, counted from left to right", CPL_TRUE},
469 {
"SliceSky", CPL_TYPE_INT, NULL,
"%02d",
470 "Slice number on the sky", CPL_TRUE},
471 {
"x", CPL_TYPE_DOUBLE,
"pix",
"%9.4f",
472 "x position within field of view", CPL_TRUE},
473 {
"y", CPL_TYPE_DOUBLE,
"pix",
"%9.4f",
474 "y position within field of view", CPL_TRUE},
475 {
"angle", CPL_TYPE_DOUBLE,
"deg",
"%6.3f",
476 "Rotation angle of slice", CPL_TRUE},
477 {
"width", CPL_TYPE_DOUBLE,
"pix",
"%.2f",
478 "Width of slice within field of view", CPL_TRUE},
479 {
"xerr", CPL_TYPE_DOUBLE,
"pix",
"%8.4f",
480 "Error estimated of x position within field of view", CPL_TRUE},
481 {
"yerr", CPL_TYPE_DOUBLE,
"pix",
"%8.4f",
482 "Error estimated of y position within field of view", CPL_TRUE},
483 {
"angleerr", CPL_TYPE_DOUBLE,
"deg",
"%.3f",
484 "Error estimate of rotation angle", CPL_TRUE},
485 {
"sliceerr", CPL_TYPE_DOUBLE,
"pix",
"%.3f",
486 "Error estimate of slice width", CPL_TRUE},
487 {
"stack", CPL_TYPE_INT, NULL,
"%02d",
488 "Slicer stack that this slice belongs to (optical numbering)", CPL_TRUE},
489 {
"spot", CPL_TYPE_INT, NULL,
"%1d",
490 "Spot number in this slice", CPL_TRUE},
491 {
"xrel", CPL_TYPE_DOUBLE,
"mm",
"%7.4f",
492 "X offset of this spot relative to the slice center", CPL_TRUE},
493 {
"xrelerr", CPL_TYPE_DOUBLE,
"mm",
"%6.4",
494 "Error of the relative x offset of this spot", CPL_TRUE},
495 {
"xc", CPL_TYPE_DOUBLE,
"pix",
"%.3",
496 "X center of this spot on the CCD", CPL_TRUE},
497 {
"yc", CPL_TYPE_DOUBLE,
"pix",
"%.3",
498 "Y center of this spot on the CCD", CPL_TRUE},
499 {
"dxl", CPL_TYPE_DOUBLE,
"pix",
"%.3",
500 "Distance to left edge of slice on the CCD", CPL_TRUE},
501 {
"dxr", CPL_TYPE_DOUBLE,
"pix",
"%.3",
502 "Distance to right edge of slice on the CCD", CPL_TRUE},
503 {
"dx", CPL_TYPE_DOUBLE,
"pix",
"%.3",
504 "Pinhole distance in x on the CCD", CPL_TRUE},
505 {
"dxerr", CPL_TYPE_DOUBLE,
"pix",
"%.3f",
506 "Error estimate of the pinhole distance in x on the CCD", CPL_TRUE},
507 {
"vpos", CPL_TYPE_DOUBLE,
"mm",
"%.4f",
508 "(Averaged) vertical position of the mask", CPL_TRUE},
509 {
"vposerr", CPL_TYPE_DOUBLE,
"mm",
"%.4f",
510 "Error estimated of the (averaged) vertical position of the mask", CPL_TRUE},
511 {
"flux", CPL_TYPE_DOUBLE,
"",
"%.1f",
512 "Flux of the spot as integrated on the CCD image", CPL_TRUE},
513 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%.3",
514 "Wavelength", CPL_TRUE},
515 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
520 #ifdef XML_TABLEDEF_SPOTS_TABLE
557 {
"filename", CPL_TYPE_STRING, NULL,
"%s",
558 "(Raw) filename from which this measurement originates", CPL_TRUE},
559 {
"image", CPL_TYPE_INT, NULL,
"%03d",
560 "Number of the image in the series", CPL_TRUE},
561 {
"POSENC2", CPL_TYPE_INT, NULL,
"%7d",
562 "X position of the mask in encoder steps", CPL_TRUE},
563 {
"POSPOS2", CPL_TYPE_DOUBLE,
"mm",
"%.3f",
564 "X position of the mask", CPL_TRUE},
565 {
"POSENC3", CPL_TYPE_INT, NULL,
"%7d",
566 "Y position of the mask in encoder steps", CPL_TRUE},
567 {
"POSPOS3", CPL_TYPE_DOUBLE,
"mm",
"%.3f",
568 "Y position of the mask", CPL_TRUE},
569 {
"POSENC4", CPL_TYPE_INT, NULL,
"%7d",
570 "Z position of the mask in encoder steps", CPL_TRUE},
571 {
"POSPOS4", CPL_TYPE_DOUBLE,
"mm",
"%.3f",
572 "Z position of the mask", CPL_TRUE},
573 {
"VPOS", CPL_TYPE_DOUBLE,
"mm",
"%.3f",
574 "Real vertical position of the mask", CPL_TRUE},
575 {
"ScaleFOV", CPL_TYPE_DOUBLE,
"arcsec/mm",
"%.3f",
576 "Focus scale in VLT focal plane (from the FITS header)", CPL_TRUE},
577 {
"SubField", CPL_TYPE_INT, NULL,
"%02d",
578 "Sub-field number", CPL_TRUE},
579 {
"SliceCCD", CPL_TYPE_INT, NULL,
"%02d",
580 "Slice number as counted on the CCD", CPL_TRUE},
581 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%.3f",
582 "Wavelength", CPL_TRUE},
583 {
"SpotNo", CPL_TYPE_INT, NULL,
"%04d",
584 "Number of this spot within the slice (1 is left, 2 is the central one, 3 is right within the slice)", CPL_TRUE},
585 {
"xc", CPL_TYPE_DOUBLE,
"pix",
"%.3f",
586 "x center of this spot on the CCD", CPL_TRUE},
587 {
"yc", CPL_TYPE_DOUBLE,
"pix",
"%.3f",
588 "y center of this spot on the CCD", CPL_TRUE},
589 {
"xfwhm", CPL_TYPE_DOUBLE,
"pix",
"%.2f",
590 "FWHM in x-direction on the CCD", CPL_TRUE},
591 {
"yfwhm", CPL_TYPE_DOUBLE,
"pix",
"%.2f",
592 "FWHM in y-direction on the CCD", CPL_TRUE},
593 {
"flux", CPL_TYPE_DOUBLE, NULL,
"%.1f",
594 "Flux of the spot as integrated on the CCD image", CPL_TRUE},
595 {
"bg", CPL_TYPE_DOUBLE, NULL,
"%f",
596 "Background level around the spot", CPL_TRUE},
597 {
"dxcen", CPL_TYPE_DOUBLE,
"pix",
"%f",
598 "distance to center of slice at vertical position yc (positive: right of center)", CPL_TRUE},
599 {
"twidth", CPL_TYPE_DOUBLE,
"pix",
"%f",
600 "trace width of the slice at the vertical CCD position of the spot", CPL_TRUE},
601 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
624 {
"name", CPL_TYPE_STRING, NULL,
"%s",
625 "Line name", CPL_TRUE},
626 {
"group", CPL_TYPE_INT, NULL,
"%2d",
627 "Line group id", CPL_TRUE},
628 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%7.2f",
629 "Air wavelength", CPL_TRUE},
630 {
"flux", CPL_TYPE_DOUBLE,
"10**(-20)*erg/(s cm^2 arcsec^2)",
"%1.5e",
631 "Line flux", CPL_TRUE},
632 {
"dq", CPL_TYPE_INT, NULL,
"%#x",
633 "Quality of the entry (>0: dont use)", CPL_TRUE},
634 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
659 {
"name", CPL_TYPE_STRING, NULL,
"%s",
660 "Transition name; like &OH 8-3 P1e(22.5) 2&", CPL_TRUE},
661 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%7.2f",
662 "Air wavelength", CPL_TRUE},
663 {
"v_u", CPL_TYPE_INT, NULL,
"%7d",
664 "Upper transition level", CPL_TRUE},
665 {
"v_l", CPL_TYPE_INT, NULL,
"%7d",
666 "Lower transition level", CPL_TRUE},
667 {
"nu", CPL_TYPE_INT, NULL,
"%7d",
668 "Vibrational momentum", CPL_TRUE},
669 {
"E_u", CPL_TYPE_DOUBLE,
"J",
"%1.5e",
670 "Upper energy", CPL_TRUE},
671 {
"J_u", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
672 "Upper momentum", CPL_TRUE},
673 {
"A", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
674 "Transition probability", CPL_TRUE},
675 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
679 #ifdef XML_TABLEDEF_FLUX_TABLE
695 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%7.2f",
696 "Wavelength", CPL_TRUE},
697 {
"flux", CPL_TYPE_DOUBLE,
"erg/(s cm^2 arcsec^2)",
"%1.5e",
699 {
"fluxerr", CPL_TYPE_DOUBLE,
"erg/(s cm^2 arcsec^2)",
"%1.5e",
700 "Error of the flux", CPL_FALSE},
701 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
706 #ifdef XML_TABLEDEF_STD_FLUX_TABLE
729 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%7.2f",
730 "Wavelength", CPL_TRUE},
731 {
"flux", CPL_TYPE_DOUBLE,
"erg/s/cm**2/Angstrom",
"%1.5e",
732 "The standard star flux", CPL_TRUE},
733 {
"fluxerr", CPL_TYPE_DOUBLE,
"erg/s/cm**2/Angstrom",
"%1.5e",
734 "Error of the standard star flux, optional", CPL_FALSE},
735 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
740 #ifdef XML_TABLEDEF_STD_RESPONSE
755 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%7.2f",
756 "wavelength", CPL_TRUE},
757 {
"response", CPL_TYPE_DOUBLE,
"2.5*log10((count/s/Angstrom)/(erg/s/cm**2/Angstrom))",
"%.4e",
758 "instrument response derived from standard star", CPL_TRUE},
759 {
"resperr", CPL_TYPE_DOUBLE,
"2.5*log10((count/s/Angstrom)/(erg/s/cm**2/Angstrom))",
"%.4e",
760 "instrument response error derived from standard star", CPL_TRUE},
761 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
766 #ifdef XML_TABLEDEF_STD_TELLURIC
781 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%7.2f",
782 "wavelength", CPL_TRUE},
783 {
"ftelluric", CPL_TYPE_DOUBLE, NULL,
"%.5f",
784 "the telluric correction factor, normalized to an airmass of 1", CPL_TRUE},
785 {
"ftellerr", CPL_TYPE_DOUBLE, NULL,
"%.5f",
786 "the error of the telluric correction factor", CPL_TRUE},
787 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
792 #ifdef XML_TABLEDEF_EXTINCT_TABLE
811 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%1.5e",
812 "Wavelength", CPL_TRUE},
813 {
"extinction", CPL_TYPE_DOUBLE,
"mag/airmass",
"%1.5e",
814 "Extinction", CPL_TRUE},
815 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
820 #ifdef XML_TABLEDEF_TELLURIC_REGIONS
838 {
"lmin", CPL_TYPE_DOUBLE,
"Angstrom",
"%8.3f",
839 "Lower limit of the telluric region", CPL_TRUE},
840 {
"lmax", CPL_TYPE_DOUBLE,
"Angstrom",
"%8.3f",
841 "Upper limit of the telluric region", CPL_TRUE},
842 {
"bgmin", CPL_TYPE_DOUBLE,
"Angstrom",
"%8.3f",
843 "Lower limit of the background region", CPL_TRUE},
844 {
"bgmax", CPL_TYPE_DOUBLE,
"Angstrom",
"%8.3f",
845 "Upper limit of the background region", CPL_TRUE},
846 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
851 #ifdef XML_TABLEDEF_LINE_CATALOG
880 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%1.5e",
881 "Wavelength", CPL_TRUE},
882 {
"flux", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
883 "Relative flux", CPL_TRUE},
884 {
"ion", CPL_TYPE_STRING, NULL,
"%s",
885 "Ion from which the line originates", CPL_TRUE},
886 {
"quality", CPL_TYPE_INT, NULL,
"%7d",
887 "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},
888 {
"comment", CPL_TYPE_STRING, NULL,
"%s",
889 "Optional comment", CPL_TRUE},
890 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
911 { MUSE_BADPIX_X, CPL_TYPE_INT,
"pix",
"%4d",
912 "X position of a bad pixel (on untrimmed raw data)", CPL_TRUE},
913 { MUSE_BADPIX_Y, CPL_TYPE_INT,
"pix",
"%4d",
914 "Y position of a bad pixel (on untrimmed raw data)", CPL_TRUE},
915 { MUSE_BADPIX_DQ, CPL_TYPE_INT, NULL,
"%#010x",
916 "32bit bad pixel mask as defined by Euro3D", CPL_TRUE},
917 { MUSE_BADPIX_VALUE, CPL_TYPE_FLOAT,
"count",
"%7.4f",
918 "Extra value, e.g. depth for traps", CPL_TRUE},
919 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
923 #ifdef XML_TABLEDEF_ASTROMETRY_REFERENCE
948 {
"SourceID", CPL_TYPE_STRING, NULL,
"%s",
949 "Source identification", CPL_TRUE},
950 {
"RA", CPL_TYPE_DOUBLE,
"deg",
"%1.5e",
951 "Right ascension", CPL_TRUE},
952 {
"DEC", CPL_TYPE_DOUBLE,
"deg",
"%1.5e",
953 "Declination", CPL_TRUE},
954 {
"filter", CPL_TYPE_STRING, NULL,
"%s",
955 "Filter name used for column mag", CPL_TRUE},
956 {
"mag", CPL_TYPE_DOUBLE,
"mag",
"%1.5e",
957 "Object (Vega) magnitude", CPL_TRUE},
958 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
963 #ifdef XML_TABLEDEF_FILTER_LIST
979 {
"lambda", CPL_TYPE_DOUBLE,
"Angstrom",
"%1.5e",
980 "Wavelength", CPL_TRUE},
981 {
"throughput", CPL_TYPE_DOUBLE, NULL,
"%1.5e",
982 "Filter throughput (in fractions of 1)", CPL_TRUE},
983 { NULL, 0, NULL, NULL, NULL, CPL_FALSE }
Definition of a cpl table structure.