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

Generated on Tue Jun 19 14:39:16 2007 for UVES Pipeline Reference Manual by  doxygen 1.4.6