uves_pfits.h

00001 /*
00002  * This file is part of the UVES Pipeline
00003  * Copyright (C) 2002, 2003, 2004, 2005 European Southern Observatory
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License as published by
00007  * the Free Software Foundation; either version 2 of the License, or
00008  * (at your option) any later version.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program; if not, write to the Free Software
00017  * Foundation, 51 Franklin St, Fifth Floor, Boston, MA  02111-1307  USA
00018  */
00019 
00020 /*
00021  * $Author: jmlarsen $
00022  * $Date: 2007/06/28 09:18:19 $
00023  * $Revision: 1.80 $
00024  * $Name: uves-3_9_0 $
00025  * $Log: uves_pfits.h,v $
00026  * Revision 1.80  2007/06/28 09:18:19  jmlarsen
00027  * Added functions to write DPR keywords
00028  *
00029  * Revision 1.79  2007/06/01 14:09:55  jmlarsen
00030  * Exported uves_pfits_get_pixelscale
00031  *
00032  * Revision 1.78  2007/05/16 14:38:03  amodigli
00033  * added uves_flames_pfits_get_ident & uves_flames_pfits_get_object
00034  *
00035  * Revision 1.77  2007/05/04 08:53:49  amodigli
00036  * added uves_flames_pfits_get_nflats
00037  *
00038  * Revision 1.76  2007/05/03 15:21:35  jmlarsen
00039  * Added function to read wavecal offset
00040  *
00041  * Revision 1.75  2007/04/26 13:19:42  jmlarsen
00042  * Added uves_pfits_set_ocs_simcal()
00043  *
00044  * Revision 1.74  2007/04/25 08:37:19  amodigli
00045  * added uves_pfits_get_origfile
00046  *
00047  * Revision 1.73  2007/04/24 12:50:29  jmlarsen
00048  * Replaced cpl_propertylist -> uves_propertylist which is much faster
00049  *
00050  * Revision 1.72  2007/04/12 12:15:12  jmlarsen
00051  * Propagate keyword OS-EXPOI
00052  *
00053  * Revision 1.71  2007/03/05 10:18:18  jmlarsen
00054  * Write 2d extraion slit length
00055  *
00056  * Revision 1.70  2007/01/31 13:11:25  jmlarsen
00057  * Added SIMCAL accessor functions
00058  *
00059  * Revision 1.69  2007/01/29 12:10:21  jmlarsen
00060  * Exported set_history_val() for usage by FLAMES
00061  *
00062  * Revision 1.68  2007/01/26 12:33:57  amodigli
00063  * added function for common QC
00064  *
00065  * Revision 1.67  2007/01/17 13:27:09  jmlarsen
00066  * Added BITPIX accessor function
00067  *
00068  * Revision 1.66  2007/01/10 12:39:07  jmlarsen
00069  * Unified two get_plate_id functions
00070  *
00071  * Revision 1.65  2006/12/27 13:55:29  amodigli
00072  * added flames_pfits_get_plate_id and some FLAMES_ defines for FIBER mode
00073  *
00074  * Revision 1.64  2006/12/11 12:35:03  jmlarsen
00075  * Fixed QC bugs
00076  *
00077  * Revision 1.63  2006/12/07 08:25:09  jmlarsen
00078  * Added uves_pfits_get_readspeed
00079  *
00080  * Revision 1.62  2006/12/01 12:27:23  jmlarsen
00081  * Factored out FLAMES plate-id code
00082  *
00083  * Revision 1.61  2006/10/24 14:05:46  jmlarsen
00084  * Added OBSPLATE
00085  *
00086  * Revision 1.60  2006/10/10 11:29:24  jmlarsen
00087  * Added code to propagate TM-START
00088  *
00089  * Revision 1.59  2006/10/05 06:50:23  jmlarsen
00090  * Renamed function format_is_new -> uves_format_is_new
00091  *
00092  * Revision 1.58  2006/10/04 10:55:33  jmlarsen
00093  * Added telescope lat-/longitude accessor functions
00094  *
00095  * Revision 1.57  2006/09/27 13:14:17  jmlarsen
00096  * Added accessor functions for RA/DEC
00097  *
00098  * Revision 1.56  2006/09/20 10:57:36  jmlarsen
00099  * Propagate DATAMEAN/DATAMED/DATARMS if present
00100  *
00101  * Revision 1.55  2006/09/19 14:32:15  jmlarsen
00102  * Minor doc. update
00103  *
00104  * Revision 1.54  2006/09/19 06:42:49  jmlarsen
00105  * Added keywords
00106  *
00107  * Revision 1.53  2006/08/24 11:37:14  jmlarsen
00108  * Write recipe start/stop time to header
00109  *
00110  * Revision 1.52  2006/08/18 10:14:04  jmlarsen
00111  * Use legal FITS keywords for TRACEID/WINDOW/FABSORD/LABSORD
00112  *
00113  * Revision 1.51  2006/08/17 13:56:53  jmlarsen
00114  * Reduced max line length
00115  *
00116  * Revision 1.50  2006/08/16 14:24:03  jmlarsen
00117  * Renamed UIT QC keyword
00118  *
00119  * Revision 1.49  2006/08/09 14:23:19  jmlarsen
00120  * Removed unused function argument
00121  *
00122  * Revision 1.48  2006/08/07 11:32:14  jmlarsen
00123  * Added comment
00124  *
00125  * Revision 1.47  2006/08/04 15:11:54  amodigli
00126  * ESO INS DET1 UIT-->ESO DET WIN1 UIT1
00127  *
00128  * Revision 1.46  2006/07/31 06:29:26  amodigli
00129  * added QC on stability test
00130  *
00131  * Revision 1.45  2006/07/14 12:24:49  jmlarsen
00132  * Added conad, target name
00133  *
00134  * Revision 1.44  2006/06/22 08:54:28  jmlarsen
00135  * Use proper keyword to read number of predicted orders
00136  *
00137  * Revision 1.43  2006/06/13 11:58:55  jmlarsen
00138  * Bugfix: Use proper chipname keyword for REDL chip
00139  *
00140  * Revision 1.42  2006/06/01 14:43:17  jmlarsen
00141  * Added missing documentation
00142  *
00143  * Revision 1.41  2006/06/01 14:22:48  amodigli
00144  * moved format_is_new to c module and made it static
00145  *
00146  * Revision 1.40  2006/05/31 09:26:40  amodigli
00147  * fixed some problem dumping QC log
00148  *
00149  * Revision 1.39  2006/05/19 13:07:20  amodigli
00150  * added uves_pfits_get_slit3_x1encoder
00151  *
00152  * Revision 1.38  2006/05/09 15:43:13  amodigli
00153  * added useful key/functions
00154  *
00155  * Revision 1.37  2006/04/26 12:25:20  amodigli
00156  * fixed a problem with ARCFILE keyword
00157  *
00158  * Revision 1.36  2006/04/25 14:58:48  amodigli
00159  * added paf creation functionalities
00160  *
00161  * Revision 1.35  2006/04/20 10:48:58  amodigli
00162  * added uves_pfits_get_tpl_start
00163  *
00164  * Revision 1.34  2006/02/21 14:26:54  jmlarsen
00165  * Minor changes
00166  *
00167  * Revision 1.33  2006/01/17 13:05:58  jmlarsen
00168  * Changed line table trace id keyword
00169  *
00170  * Revision 1.32  2005/12/19 16:17:56  jmlarsen
00171  * Replaced bool -> int
00172  *
00173  */
00174 
00175 #ifndef UVES_PFITS_H
00176 #define UVES_PFITS_H
00177 
00178 /*----------------------------------------------------------------------------*/
00183 /*----------------------------------------------------------------------------*/
00184 
00185 /*-----------------------------------------------------------------------------
00186                                 Includes
00187  -----------------------------------------------------------------------------*/
00188 
00189 #include <uves_propertylist.h>
00190 #include <uves_chip.h>
00191 #include <cpl.h>
00192 
00193 
00194 /*-----------------------------------------------------------------------------
00195                                 Defines
00196  -----------------------------------------------------------------------------*/
00197 
00198 /*
00199  * Recipe DRS id
00200  */
00201 
00202 #define UVES_DRS_ID "ESO PRO REC1 DRS ID"
00203 
00204 /*
00205  * Pre- and overscan keywords
00206  */
00207 /* Use detector prefix 'ESO DET OUT4' for REDL chips, old format. Otherwise 'ESO DET OUT1' */
00208 
00209 #define UVES_PRESCANX(new_format, chip) \
00210  ((!(new_format) && (chip) == UVES_CHIP_REDL) ? "ESO DET OUT4 PRSCX" : "ESO DET OUT1 PRSCX")
00211 #define UVES_PRESCANY(new_format, chip) \
00212  ((!(new_format) && (chip) == UVES_CHIP_REDL) ? "ESO DET OUT4 PRSCY" : "ESO DET OUT1 PRSCY")
00213 
00214 #define UVES_OVRSCANX(new_format, chip) \
00215  ((!(new_format) && (chip) == UVES_CHIP_REDL) ? "ESO DET OUT4 OVSCX" : "ESO DET OUT1 OVSCX")
00216 #define UVES_OVRSCANY(new_format, chip) \
00217  ((!(new_format) && (chip) == UVES_CHIP_REDL) ? "ESO DET OUT4 OVSCY" : "ESO DET OUT1 OVSCY")
00218 
00219 /* 
00220  *  Readout noise, gain
00221  */
00222 
00223 #define UVES_RON(new_format, chip)  \
00224  ((!(new_format) && (chip) == UVES_CHIP_REDL) ? "ESO DET OUT4 RON"  : "ESO DET OUT1 RON")
00225 #define UVES_GAIN(new_format, chip) \
00226  ((!(new_format) && (chip) == UVES_CHIP_REDL) ? "ESO DET OUT4 GAIN" : "ESO DET OUT1 GAIN")
00227 #define UVES_CONAD(new_format, chip) \
00228  ((!(new_format) && (chip) == UVES_CHIP_REDL) ? "ESO DET OUT4 CONAD" : "ESO DET OUT1 CONAD")
00229 
00230 
00231 #define UVES_NX(new_format, chip) \
00232  ((!(new_format) && (chip) == UVES_CHIP_REDL) ? "ESO DET OUT4 NX" : "ESO DET OUT1 NX")
00233 #define UVES_NY(new_format, chip) \
00234  ((!(new_format) && (chip) == UVES_CHIP_REDL) ? "ESO DET OUT4 NY" : "ESO DET OUT1 NY")
00235 
00236 /*
00237  *  Exposure time
00238  */
00239 #define UVES_EXPTIME "EXPTIME"
00240 
00241 /*
00242  *  User defined subintegration time
00243  */
00244 #define UVES_UIT(new_format)  "ESO DET WIN1 UIT1"
00245 /*#define UVES_QC_UIT(new_format, chip) \
00246   ((!(new_format) && (chip) == UVES_CHIP_REDL) ? "ESO DET4 OUT4 UIT1"  : "ESO DET1 OUT1 UIT1")
00247 */
00248 
00249 /* This is probably what we want to do (use the same keyword name for reading/writing):
00250    #define UVES_QC_UIT(new_format, chip) \
00251    ((chip) == UVES_CHIP_REDL ? "ESO DET WIN4 UIT1"  : "ESO DET WIN1 UIT1")
00252 
00253    but we do like MIDAS: 
00254 
00255    MIDAS uses the name ESO.DET1.WIN1.UIT1 when writing to the product header
00256 */
00257 #define UVES_QC_UIT(new_format, chip) \
00258  ((chip) == UVES_CHIP_REDL ? "ESO INS DET4 UIT"  : "ESO INS DET1 UIT")
00259 
00260 
00261 
00262 /*
00263  *  Start time template
00264  */
00265 #define UVES_TPL_START "ESO TPL START"
00266 #define UVES_TMSTART "TM-START"     /* MIDAS internal? */
00267 
00268 
00269 /*
00270  *  Airmass
00271  */
00272 #define UVES_AIRMASS_START "ESO TEL AIRM START"
00273 #define UVES_AIRMASS_END   "ESO TEL AIRM END"
00274 #define UVES_AIRMASS       "AIRMASS"
00275 
00276 /*
00277  * Image type
00278  */
00279 #define UVES_IMAGETYP "IMAGETYP"
00280 
00281 /*
00282  * Observation time
00283  */
00284 #define UVES_UTC "UTC"
00285 #define UVES_UT "UT"
00286 #define UVES_ST "ST"
00287 
00288 /*
00289  * latitude/longitude
00290  */
00291 #define UVES_GEOLAT "ESO TEL GEOLAT"
00292 #define UVES_GEOLON "ESO TEL GEOLON"
00293 
00294 /*
00295  *  Extension name (new format)
00296  */
00297 #define UVES_EXTNAME "EXTNAME"
00298 
00299 /*
00300  *  Observation date
00301  */
00302 #define UVES_MJDOBS "MJD-OBS"
00303 #define UVES_DATE "DATE"
00304 
00305 /* Observer id */
00306 #define UVES_OS_EXPOI "OS-EXPOI"
00307 
00308 /*
00309  *   Object coordinates
00310  */
00311 #define UVES_RA "RA"
00312 #define UVES_DEC "DEC"
00313 
00314 /*
00315  *   Object name
00316  */
00317 #define UVES_TARG_NAME "ESO OBS TARG NAME"
00318 
00319 /*
00320  *  Binning factors
00321  */
00322 
00323 #define UVES_BINX "ESO DET WIN1 BINX"
00324 #define UVES_BINY "ESO DET WIN1 BINY"
00325 
00326 /*
00327  *  Arcseconds per pixel
00328  */
00329 #define UVES_PIXELSCALE "ESO INS PIXSCALE"
00330 
00331 /*
00332  * Encoder steps
00333  */
00334 
00335 #define  UVES_ENCODER_REF1  "ESO INS SLIT3 X1ENC"
00336 #define  UVES_ENCODER_REF2  "ESO INS SLIT3 X2ENC"
00337 
00338 
00339 /*
00340  *  Slit name, length/width (arcseconds)
00341  */
00342 #define UVES_SLIT1NAME   "ESO INS SLIT1 NAME"
00343 #define UVES_ARM(chip) (((chip) == UVES_CHIP_BLUE) ? "BLUE" : "RED")
00344 #define UVES_ARMID(chip) (((chip) == UVES_CHIP_BLUE) ? "b" : "r")
00345 #define UVES_DETECTOR(chip) (((chip) == UVES_CHIP_BLUE) ? "EEV" : "MIT-LL")
00346 #define UVES_SLITLENGTH(chip) \
00347  (((chip) == UVES_CHIP_BLUE) ? "ESO INS SLIT2 LEN" : "ESO INS SLIT3 LEN")
00348 #define UVES_SLITWIDTH(chip) \
00349  (((chip) == UVES_CHIP_BLUE) ? "ESO INS SLIT2 WID" : "ESO INS SLIT3 WID")
00350 
00351 /*
00352  *   Grating
00353  */
00354 
00355 #define UVES_GRATWLEN(chip) \
00356  (((chip) == UVES_CHIP_BLUE) ? "ESO INS GRAT1 WLEN" : "ESO INS GRAT2 WLEN")
00357 #define UVES_GRATID(chip) \
00358  (((chip) == UVES_CHIP_BLUE) ? "ESO INS GRAT1 ID"   : "ESO INS GRAT2 ID")
00359 #define UVES_GRATNAME(chip) \
00360  (((chip) == UVES_CHIP_BLUE) ? "ESO INS GRAT1 NAME" : "ESO INS GRAT2 NAME")
00361 
00362 /*
00363   BLUE,old CHIP1 NAME
00364   BLUE,new CHIP1 NAME
00365   REDL,old CHIP2 NAME
00366   REDL,new CHIP2 NAME
00367   REDU,old CHIP1 NAME
00368   REDU,new CHIP1 NAME
00369 */
00370 #define UVES_CHIP_NAME(chip) \
00371  (((chip) == UVES_CHIP_REDL) ? "ESO DET CHIP2 NAME" : "ESO DET CHIP1 NAME")
00372 #define UVES_CHIP_ID(chip) \
00373  (((chip) == UVES_CHIP_REDL) ? "ESO DET CHIP2 ID"   : "ESO DET CHIP1 ID")
00374 
00375 /* Is this correct? Do we really want to use different
00376    FITS keywords when reading inputs and writing QC files?
00377 
00378    No, this is wrong:
00379 
00380 #define UVES_QC_CHIP_NAME(chip) \
00381  (((chip) == UVES_CHIP_BLUE) ? "ESO DET CHIP1 NAME" : "ESO DET CHIP2 NAME")
00382 #define UVES_QC_CHIP_ID(chip) \
00383  (((chip) == UVES_CHIP_BLUE) ? "ESO DET CHIP1 ID"   : "ESO DET CHIP2 ID")
00384 #define UVES_QC_CHIP_VAL(chip) \
00385  (((chip) == UVES_CHIP_REDU) ? "MIT" : "EEV")
00386 */
00387 
00388 /*
00389  *
00390  */
00391 #define UVES_CCDID       "ESO DET ID"
00392 #define UVES_PRESSURE    "ESO INS SENS26 MEAN"
00393 #define UVES_TEMPCAM(chip) \
00394  (((chip) == UVES_CHIP_BLUE) ? "ESO INS TEMP1 MEAN"   : "ESO INS TEMP2 MEAN")
00395 
00396 #define UVES_HUMIDITY    "ESO INS TEMP31 MEAN"
00397 
00398 /*
00399  * Keyword in DRS table for predicted number of orders
00400  */
00401 
00402 /* #define UVES_ORD_PRED "ESO PRO QC ORDEF ORD PRED" */
00403 #define UVES_ORD_PRED "NBORDI"
00404 
00405 #define UVES_INSMODE  "ESO INS MODE"
00406 #define UVES_INSPATH  "ESO INS PATH"
00407 
00408 
00409 /* Images statistics */
00410 #define UVES_PRO_DATAAVG  "ESO PRO DATAAVG"
00411 #define UVES_PRO_DATARMS  "ESO PRO DATARMS"
00412 #define UVES_PRO_DATAMED  "ESO PRO DATAMED"
00413 #define UVES_DATAMIN  "DATAMIN"
00414 #define UVES_DATAMAX  "DATAMAX"
00415 #define UVES_DATAMEAN "DATAMEAN"
00416 #define UVES_DATAMED  "DATAMED"
00417 #define UVES_DATARMS  "DATARMS"
00418 
00419 /* Object */
00420 #define UVES_OBJECT "OBJECT"
00421 
00422 /* Line table trace and window ID */
00423 #define UVES_TRACEID      "TRACEID"
00424 #define UVES_TRACE_OFFSET "OFFSET"
00425 #define UVES_WINDOWNUMBER "WINDOW"
00426 
00427 /* Line table order numbers */
00428 #define UVES_FIRSTABSORDER "FABSORD"
00429 #define UVES_LASTABSORDER  "LABSORD"
00430 
00431 /* Image FITS keywords */
00432 #define UVES_BUNIT "BUNIT"
00433 #define UVES_CTYPE1 "CTYPE1"
00434 #define UVES_CTYPE2 "CTYPE2"
00435 #define UVES_CRVAL1 "CRVAL1"
00436 #define UVES_CRVAL2 "CRVAL2"
00437 #define UVES_CRPIX1 "CRPIX1"
00438 #define UVES_CRPIX2 "CRPIX2"
00439 #define UVES_CDELT1 "CDELT1"
00440 #define UVES_CDELT2 "CDELT2"
00441 
00442 #define UVES_BITPIX "BITPIX"
00443 #define UVES_NAXIS  "NAXIS"
00444 #define UVES_NAXIS1 "NAXIS1"
00445 #define UVES_NAXIS2 "NAXIS2"
00446 #define UVES_STARTX "STARTX"
00447 #define UVES_STARTY "STARTY"
00448 
00449 #define UVES_OUT1NX "ESO DET OUT1 NX"
00450 #define UVES_OUT1NY "ESO DET OUT1 NY"
00451 #define UVES_OUT4NX "ESO DET OUT4 NX"
00452 #define UVES_OUT4NY "ESO DET OUT4 NY"
00453 
00454 #define UVES_READ_SPEED "ESO DET READ SPEED"
00455 
00456 /* 2d extraction slit length */
00457 #define UVES_HS "HS"
00458 
00459 /* Rebinned spectrum wavelength offset */
00460 #define UVES_WSTART "WSTART"
00461 #define UVES_WEND   "WEND"
00462 
00463 /* Number of input raw frames */
00464 #define UVES_DATANCOM     "ESO PRO DATANCOM"
00465 #define UVES_DATANCOM_OLD "ESO PRO QC DATANCOM"
00466 
00467 /* QC - Bad pixel corrected */
00468 #define UVES_QC_BADPIXCORR "ESO QC BADPIX CORR"
00469 
00470 /* Reduction level */
00471 #define UVES_REDLEVEL "ESO PRO REDLEVEL"
00472 
00473 /*
00474  *   Note   : Currently we always write to the RECi keyword 
00475  *            with i = 1, like the cpl_setup_product_header
00476  *            function. Maybe this needs to be generalized
00477  *            later (if a product of one recipe is further processed
00478  *            by another recipe).
00479  */
00480 #define UVES_STATUS "ESO PRO REC1 STATUS"
00481 
00482 #define UVES_START "ESO PRO REC1 START"
00483 #define UVES_STOP  "ESO PRO REC1 STOP"
00484 
00485 #define UVES_DPR_TECH "ESO DPR TECH"
00486 #define UVES_DPR_TYPE "ESO DPR TYPE"
00487 #define UVES_DPR_CATG "ESO DPR CATG"
00488 #define UVES_OCS_SIMCAL "ESO OCS SIMCAL"
00489 
00490 /*
00491  *  FLAMES
00492  */
00493 
00494 #define FLAMES_NFLATS  "NFLATS"
00495 
00496 #define FLAMES_OBS_PLATE_ID "ESO INS SLIT3 PLATE"
00497 #define FLAMES_INS_SHUT09   "ESO INS SHUT9 ST"
00498 #define FLAMES_INS_SHUT10   "ESO INS SHUT10 ST"
00499 #define FLAMES_PLATEID      "ESO INS1 TUMB POS"
00500 #define FLAMES_NEWPLATEID   "ESO INS OBSPLATE"
00501 #define FLAMES_DIT          "ESO DET WIN1 DIT1"
00502 #define FLAMES_CCFPOSMAX    "ESO QC CCF POSMAX"
00503 
00506 /*-----------------------------------------------------------------------------
00507                            Functions prototypes
00508 -----------------------------------------------------------------------------*/
00509 bool uves_format_is_new(const uves_propertylist * plist);
00510 void
00511 uves_pfits_set_history_val(uves_propertylist *plist, const char *name, const char *format, ...)
00512 #ifdef __GNUC__
00513     __attribute__((format (printf, 3, 4)))
00514 #endif
00515     ;
00516 
00517 
00518 
00519 int uves_pfits_get_slit3_x1encoder(const uves_propertylist * plist);
00520 int uves_pfits_get_slit3_x2encoder(const uves_propertylist * plist);
00521 double uves_pfits_get_startx(const uves_propertylist * plist);
00522 double uves_pfits_get_starty(const uves_propertylist * plist);
00523 
00524 int uves_pfits_get_maxfibres(const uves_propertylist * plist);
00525 char  uves_pfits_get_chipchoice(const uves_propertylist * plist);
00526 const char * uves_pfits_get_origfile(const uves_propertylist * plist);
00527 const char * uves_pfits_get_badpxframe(const uves_propertylist * plist);
00528 const char * uves_chop_eso_prefix(const char* key);
00529 const char * uves_pfits_get_rec1raw1name(const uves_propertylist * plist);
00530 const char * uves_pfits_get_arcfile(const uves_propertylist * plist);
00531 const char * uves_pfits_get_pipefile(const uves_propertylist * plist);
00532 const char * uves_pfits_get_templateid(const uves_propertylist * plist);
00533 const char * uves_pfits_get_pro_catg(const uves_propertylist * plist) ;
00534 const char * uves_pfits_get_dpr_catg(const uves_propertylist * plist) ;
00535 const char * uves_pfits_get_dpr_tech(const uves_propertylist * plist) ;
00536 const char * uves_pfits_get_dpr_type(const uves_propertylist * plist) ;
00537 void uves_pfits_set_dpr_catg(uves_propertylist * plist, const char *);
00538 void uves_pfits_set_dpr_tech(uves_propertylist * plist, const char *);
00539 void uves_pfits_set_dpr_type(uves_propertylist * plist, const char *);
00540 const char * uves_pfits_get_date_obs(const uves_propertylist * plist) ;
00541 
00542 const char* uves_pfits_get_chipid(const uves_propertylist * plist, enum uves_chip chip);
00543 const char* uves_pfits_get_chip_name(const uves_propertylist * plist, enum uves_chip chip);
00544 const char *uves_pfits_get_drs_id(const uves_propertylist * plist);
00545 const char *uves_pfits_get_tpl_start(const uves_propertylist * plist);
00546 const char* uves_pfits_get_insmode(const uves_propertylist * plist);
00547 const char* uves_pfits_get_inspath(const uves_propertylist * plist);
00548 const char *uves_pfits_get_targ_name(const uves_propertylist * plist);
00549 int uves_pfits_get_ocs_simcal(const uves_propertylist * plist);
00550 void uves_pfits_set_ocs_simcal(uves_propertylist * plist, int simcal);
00551 
00552 int uves_pfits_get_prescanx(const uves_propertylist * plist, enum uves_chip chip);
00553 int uves_pfits_get_ovrscanx(const uves_propertylist * plist, enum uves_chip chip);
00554 int uves_pfits_get_prescany(const uves_propertylist * plist, enum uves_chip chip);
00555 int uves_pfits_get_ovrscany(const uves_propertylist * plist, enum uves_chip chip);
00556 
00557 int uves_pfits_get_ordpred(const uves_propertylist * plist);
00558 int uves_pfits_get_binx(const uves_propertylist * plist);
00559 int uves_pfits_get_biny(const uves_propertylist * plist);
00560 double uves_pfits_get_mjdobs(const uves_propertylist * plist);
00561 double uves_pfits_get_utc(const uves_propertylist * plist);
00562 double uves_pfits_get_ra(const uves_propertylist * plist);
00563 double uves_pfits_get_dec(const uves_propertylist * plist);
00564 double uves_pfits_get_geolon(const uves_propertylist * plist);
00565 double uves_pfits_get_geolat(const uves_propertylist * plist);
00566 double uves_pfits_get_ron_adu(const uves_propertylist * plist, enum uves_chip chip);
00567 double uves_pfits_get_ambipress(const uves_propertylist * plist);
00568 double uves_pfits_get_gain(const uves_propertylist * plist, enum uves_chip chip);
00569 double uves_pfits_get_conad(const uves_propertylist * plist, enum uves_chip chip);
00570 double uves_pfits_get_exptime(const uves_propertylist * plist);
00571 double uves_pfits_get_uit(const uves_propertylist * plist);
00572 double uves_pfits_get_airmass_start(const uves_propertylist * plist);
00573 double uves_pfits_get_airmass_end(const uves_propertylist * plist);
00574 cpl_error_code uves_pfits_set_exptime(uves_propertylist *plist, double exptime);
00575 void uves_pfits_set_dec(uves_propertylist *plist, double dec);
00576 void uves_pfits_set_ra(uves_propertylist *plist, double ra);
00577 void uves_pfits_set_firstabsorder(uves_propertylist *plist, int first_abs_order);
00578 int uves_pfits_get_firstabsorder(const uves_propertylist * plist);
00579 void uves_pfits_set_lastabsorder(uves_propertylist *plist, int last_abs_order);
00580 int uves_pfits_get_lastabsorder(const uves_propertylist * plist);
00581 double uves_pfits_get_offset(const uves_propertylist * plist);
00582 void uves_pfits_set_traceid(uves_propertylist * plist, int trace_id);
00583 void uves_pfits_set_offset(uves_propertylist * plist, double trace_offset);
00584 int            uves_pfits_get_traceid(const uves_propertylist * plist);
00585 void uves_pfits_set_windownumber(uves_propertylist * plist, int window_number);
00586 int            uves_pfits_get_windownumber(const uves_propertylist * plist);
00587 cpl_error_code uves_pfits_set_data_average(uves_propertylist * plist, double average);
00588 cpl_error_code uves_pfits_set_data_stddev (uves_propertylist * plist, double stddev);
00589 cpl_error_code uves_pfits_set_data_median (uves_propertylist * plist, double median);
00590 cpl_error_code uves_pfits_set_data_min    (uves_propertylist * plist, double min);
00591 cpl_error_code uves_pfits_set_data_max    (uves_propertylist * plist, double max);
00592 cpl_error_code uves_pfits_set_object(uves_propertylist * plist, const char *object);
00593 cpl_error_code uves_pfits_set_ordpred(uves_propertylist *plist, int nord);
00594 cpl_error_code uves_pfits_set_badpixcorr(uves_propertylist * plist, const char *corr);
00595 cpl_error_code uves_pfits_set_redlevel(uves_propertylist * plist, const char *redlevel);
00596 cpl_error_code uves_pfits_set_status(uves_propertylist * plist, const char *status);
00597 cpl_error_code uves_pfits_set_starttime(uves_propertylist * plist, const char *start_time);
00598 cpl_error_code uves_pfits_set_stoptime(uves_propertylist * plist, const char *stop_time);
00599 int            uves_pfits_get_datancom(const uves_propertylist * plist);
00600 const char* uves_pfits_get_ccdid(const uves_propertylist * plist);
00601 double uves_pfits_get_pressure(const uves_propertylist * plist);
00602 double uves_pfits_get_tempcam(const uves_propertylist * plist,enum uves_chip chip);
00603 double uves_pfits_get_humidity(const uves_propertylist * plist);
00604 double uves_pfits_get_slitlength_pixels(const uves_propertylist * plist, enum uves_chip chip);
00605 double uves_pfits_get_slitwidth(const uves_propertylist * plist, enum uves_chip chip);
00606 double uves_pfits_get_slitlength(const uves_propertylist * plist, enum uves_chip chip);
00607 double uves_pfits_get_gratwlen(const uves_propertylist * plist, enum uves_chip chip);
00608 const char* uves_pfits_get_gratid(const uves_propertylist * plist, enum uves_chip chip);
00609 const char* uves_pfits_get_gratname(const uves_propertylist * plist, enum uves_chip chip);
00610 const char* uves_pfits_get_readspeed(const uves_propertylist * plist);
00611 
00612 const char* uves_pfits_get_slit1_name(const uves_propertylist * plist);
00613 const char* uves_pfits_get_bunit(const uves_propertylist * plist);
00614 const char* uves_pfits_get_ctype1(const uves_propertylist * plist);
00615 const char* uves_pfits_get_ctype2(const uves_propertylist * plist);
00616 int uves_pfits_get_bitpix(const uves_propertylist * plist);
00617 int uves_pfits_get_naxis(const uves_propertylist * plist);
00618 int uves_pfits_get_naxis1(const uves_propertylist * plist);
00619 int uves_pfits_get_naxis2(const uves_propertylist * plist);
00620 int uves_pfits_get_out1nx(const uves_propertylist * plist);
00621 int uves_pfits_get_out1ny(const uves_propertylist * plist);
00622 int uves_pfits_get_out4nx(const uves_propertylist * plist);
00623 int uves_pfits_get_out4ny(const uves_propertylist * plist);
00624 int uves_pfits_get_nx(const uves_propertylist * plist,enum uves_chip chip);
00625 int uves_pfits_get_ny(const uves_propertylist * plist,enum uves_chip chip);
00626 
00627 double uves_pfits_get_crval1(const uves_propertylist * plist);
00628 double uves_pfits_get_crval2(const uves_propertylist * plist);
00629 double uves_pfits_get_crpix1(const uves_propertylist * plist);
00630 double uves_pfits_get_crpix2(const uves_propertylist * plist);
00631 double uves_pfits_get_cdelt1(const uves_propertylist * plist);
00632 double uves_pfits_get_cdelt2(const uves_propertylist * plist);
00633 double uves_pfits_get_wstart(const uves_propertylist * plist, int order);
00634 double uves_pfits_get_wend(const uves_propertylist * plist, int order);
00635 cpl_error_code uves_pfits_set_bunit(uves_propertylist * plist, const char *bunit);
00636 cpl_error_code uves_pfits_set_ctype1(uves_propertylist * plist, const char *ctype1);
00637 cpl_error_code uves_pfits_set_ctype2(uves_propertylist * plist, const char *ctype2);
00638 cpl_error_code uves_pfits_set_crval1(uves_propertylist * plist, double crval1);
00639 cpl_error_code uves_pfits_set_crval2(uves_propertylist * plist, double crval2);
00640 cpl_error_code uves_pfits_set_crpix1(uves_propertylist * plist, double crpix1);
00641 cpl_error_code uves_pfits_set_crpix2(uves_propertylist * plist, double crpix2);
00642 cpl_error_code uves_pfits_set_cdelt1(uves_propertylist * plist, double cdelt1);
00643 cpl_error_code uves_pfits_set_cdelt2(uves_propertylist * plist, double cdelt2);
00644 cpl_error_code uves_pfits_set_wstart(uves_propertylist * plist, int order, double wstart);
00645 cpl_error_code uves_pfits_set_wend(uves_propertylist * plist, int order, double wend);
00646 
00647 void uves_pfits_set_hs(uves_propertylist * plist, int hs);
00648 void uves_flames_pfits_set_ccfposmax(uves_propertylist *plist, double ccfposmax);
00649 double uves_flames_pfits_get_dit(const uves_propertylist *raw_header);
00650 int uves_flames_pfits_get_plateid(const uves_propertylist *raw_header);
00651 void uves_flames_pfits_set_newplateid(uves_propertylist * plist, int plate_no);
00652 int uves_flames_pfits_get_nflats(const uves_propertylist * plist);
00653 const char * uves_flames_pfits_get_ident(const uves_propertylist * plist);
00654 const char * uves_flames_pfits_get_object(const uves_propertylist * plist);
00655 double uves_pfits_get_pixelscale(const uves_propertylist *plist);
00656 
00657 #endif
00658 

Generated on Fri Apr 18 14:11:42 2008 for UVES Pipeline Reference Manual by  doxygen 1.5.1