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

Generated on 9 Mar 2012 for UVES Pipeline Reference Manual by  doxygen 1.6.1