00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef XSH_PFITS_H
00028 #define XSH_PFITS_H
00029
00030
00031
00032
00033 #include <stdbool.h>
00034 #include <cpl.h>
00035 #include <xsh_pfits_qc.h>
00036
00037
00038
00039 #define XSH_MJDOBS "MJD-OBS"
00040 #define XSH_NAXIS "NAXIS"
00041
00042
00043 #define XSH_RA "RA"
00044 #define XSH_DEC "DEC"
00045
00046 #define XSH_GEOLAT "ESO TEL GEOLAT"
00047 #define XSH_GEOLON "ESO TEL GEOLON"
00048 #define XSH_UTC "UTC"
00049
00050 #define XSH_TELESCOP "TELESCOP"
00051
00052 #define XSH_TEL_TARG_ALPHA "ESO TEL TARG ALPHA"
00053 #define XSH_TEL_TARG_DELTA "ESO TEL TARG DELTA"
00054
00055
00056 #define XSH_CD1 "CD1"
00057
00058 #define XSH_CD11 "CD1_1"
00059 #define XSH_CD12 "CD1_2"
00060 #define XSH_CD21 "CD2_1"
00061 #define XSH_CD22 "CD2_2"
00062
00063
00064
00065
00066 #define XSH_CD13 "CD1_3"
00067 #define XSH_CD31 "CD3_1"
00068 #define XSH_CD23 "CD2_3"
00069 #define XSH_CD32 "CD3_2"
00070 #define XSH_CD33 "CD3_3"
00071
00072 #define XSH_LST "LST"
00073
00074
00075
00076 #define XSH_NAXIS1 "NAXIS1"
00077 #define XSH_NAXIS2 "NAXIS2"
00078 #define XSH_NAXIS3 "NAXIS3"
00079
00080 #define XSH_CRPIX1 "CRPIX1"
00081 #define XSH_CRPIX2 "CRPIX2"
00082 #define XSH_CRPIX3 "CRPIX3"
00083
00084
00085 #define XSH_CDELT1 "CDELT1"
00086 #define XSH_CDELT2 "CDELT2"
00087 #define XSH_CDELT3 "CDELT3"
00088
00089 #define XSH_CRVAL1 "CRVAL1"
00090 #define XSH_CRVAL2 "CRVAL2"
00091 #define XSH_CRVAL3 "CRVAL3"
00092
00093
00094 #define XSH_CTYPE1 "CTYPE1"
00095 #define XSH_CTYPE2 "CTYPE2"
00096 #define XSH_CTYPE3 "CTYPE3"
00097
00098 #define XSH_CUNIT1 "CUNIT1"
00099 #define XSH_CUNIT2 "CUNIT2"
00100 #define XSH_CUNIT3 "CUNIT3"
00101
00102 #define XSH_BUNIT "BUNIT"
00103 #define XSH_BUNIT_FLUX_ABS_C "erg/s/cm2/A"
00104 #define XSH_BUNIT_FLUX_REL_C "ADU"
00105
00106 #define XSH_RAW1_NAME "ESO PRO REC1 RAW1 NAME"
00107 #define XSH_RAW1_CATG "ESO PRO REC1 RAW1 CATG"
00108 #define XSH_ARCFILE "ARCFILE"
00109 #define XSH_DATE "DATE"
00110 #define XSH_DATE_OBS "DATE-OBS"
00111 #define XSH_EXTNAME "EXTNAME"
00112 #define XSH_EXPTIME "EXPTIME"
00113
00114 #define XSH_OBS_ID "ESO OBS ID"
00115 #define XSH_OBS_TARG_NAME "ESO OBS TARG NAME"
00116
00117 #define XSH_AIRM_START "ESO TEL AIRM START"
00118 #define XSH_AIRM_END "ESO TEL AIRM END"
00119
00120 #define XSH_SEEING_START "ESO TEL AMBI FWHM START"
00121 #define XSH_SEEING_END "ESO TEL AMBI FWHM END"
00122
00123 #define XSH_SLIT_UVB "ESO INS OPTI3 NAME"
00124 #define XSH_SLIT_VIS "ESO INS OPTI4 NAME"
00125 #define XSH_SLIT_NIR "ESO INS OPTI5 NAME"
00126
00127 #define XSH_FOCU1ENC_VAL "ESO INS FOCU1 ENC"
00128
00129 #define XSH_TEMP82_VAL "ESO INS TEMP82 VAL"
00130 #define XSH_TEMP2_VAL "ESO INS TEMP2 VAL"
00131 #define XSH_TEMP5_VAL "ESO INS TEMP5 VAL"
00132
00133 #define XSH_DPR_TECH "ESO DPR TECH"
00134 #define XSH_DPR_TYPE "ESO DPR TYPE"
00135 #define XSH_DPR_CATG "ESO DPR CATG"
00136 #define XSH_OUT_NX "ESO DET OUT1 NX"
00137 #define XSH_OUT_NY "ESO DET OUT1 NY"
00138 #define XSH_CHIP_NX "ESO DET CHIP NX"
00139 #define XSH_CHIP_NY "ESO DET CHIP NY"
00140 #define XSH_WIN_NX "ESO DET WIN NX"
00141 #define XSH_WIN_NY "ESO DET WIN NY"
00142 #define XSH_WIN_BINX "ESO DET WIN1 BINX"
00143 #define XSH_WIN_BINY "ESO DET WIN1 BINY"
00144 #define XSH_OVSCX "ESO DET OUT1 OVSCX"
00145 #define XSH_OVSCY "ESO DET OUT1 OVSCY"
00146 #define XSH_PRSCX "ESO DET OUT1 PRSCX"
00147 #define XSH_PRSCY "ESO DET OUT1 PRSCY"
00148 #define XSH_RON "ESO DET OUT1 RON"
00149 #define XSH_CONAD "ESO DET OUT1 CONAD"
00150
00151 #define XSH_DET_PXSPACE "ESO DET CHIP PXSPACE"
00152 #define XSH_DET_GAIN "ESO DET OUT1 GAIN"
00153 #define XSH_DET_WIN1_DIT1 "ESO DET WIN1 DIT1"
00154 #define XSH_DET_DIT "ESO DET DIT"
00155 #define XSH_PSZX "ESO DET CHIP1 PSZX"
00156 #define XSH_PSZY "ESO DET CHIP1 PSZY"
00157
00158 #define XSH_SEQ_ARM "ESO SEQ ARM"
00159
00160 #define XSH_LAMP_ON_OFF "ESO INS1 LAMP5 ST" // for SINFONI, XSH 'INS LAMP5 ST'
00161
00162 #define XSH_BIAS_LEFT_MEDIAN "ESO PRO BIAS LEFT MEDIAN"
00163 #define XSH_BIAS_RIGHT_MEDIAN "ESO PRO BIAS RIGHT MEDIAN"
00164 #define XSH_BIAS_UP_MEDIAN "ESO PRO BIAS UP MEDIAN"
00165 #define XSH_BIAS_DOWN_MEDIAN "ESO PRO BIAS DOWN MEDIAN"
00166 #define XSH_BIAS_LEFT_STDEV "ESO PRO BIAS LEFT STDEV"
00167 #define XSH_BIAS_RIGHT_STDEV "ESO PRO BIAS RIGHT STDEV"
00168 #define XSH_BIAS_UP_STDEV "ESO PRO BIAS UP STDEV"
00169 #define XSH_BIAS_DOWN_STDEV "ESO PRO BIAS DOWN STDEV"
00170 #define XSH_PCATG "ESO PRO CATG"
00171 #define XSH_WAVESOL_LAMBDA_MIN "ESO PRO WAVESOL LAMBDA MIN"
00172 #define XSH_WAVESOL_LAMBDA_MAX "ESO PRO WAVESOL LAMBDA MAX"
00173 #define XSH_WAVESOL_ORDER_MIN "ESO PRO WAVESOL ORDER MIN"
00174 #define XSH_WAVESOL_ORDER_MAX "ESO PRO WAVESOL ORDER MAX"
00175 #define XSH_WAVESOL_SLIT_MIN "ESO PRO WAVESOL SLIT MIN"
00176 #define XSH_WAVESOL_SLIT_MAX "ESO PRO WAVESOL SLIT MAX"
00177
00178 #define XSH_WAVESOL_X_MIN "ESO PRO WAVESOL X MIN"
00179 #define XSH_WAVESOL_X_MAX "ESO PRO WAVESOL X MAX"
00180 #define XSH_WAVESOL_Y_MIN "ESO PRO WAVESOL Y MIN"
00181 #define XSH_WAVESOL_Y_MAX "ESO PRO WAVESOL Y MAX"
00182
00183 #define XSH_EXTRACT_SLIT_MIN "ESO PRO EXTRACT SLIT MIN"
00184 #define XSH_EXTRACT_SLIT_MAX "ESO PRO EXTRACT SLIT MAX"
00185
00186
00187 #define XSH_RECTIFY_BIN_LAMBDA "ESO PRO RECT BIN LAMBDA"
00188 #define XSH_RECTIFY_BIN_SPACE "ESO PRO RECT BIN SPACE"
00189 #define XSH_RECTIFY_LAMBDA_MIN "ESO PRO RECT LAMBDA MIN"
00190 #define XSH_RECTIFY_LAMBDA_MAX "ESO PRO RECT LAMBDA MAX"
00191 #define XSH_RECTIFY_SPACE_MIN "ESO PRO RECT SPACE MIN"
00192 #define XSH_RECTIFY_SPACE_MAX "ESO PRO RECT SPACE MAX"
00193 #define XSH_DATANCOM "ESO PRO DATANCOM"
00194
00195 #define XSH_SPECTRALFORMAT_DIST_ORDER "ESO PRO DIST ORDER"
00196
00197 #define XSH_WAVESOLTYPE "ESO PRO WAVESOL TYPE"
00198 #define XSH_WAVESOLTYPE_POLYNOMIAL "POLYNOMIAL"
00199 #define XSH_WAVESOLTYPE_MODEL "PHYSMOD"
00200
00201
00202 #define XSH_MODEL_CFG_START "ESO MOD CFG START"
00203
00204 #define XSH_DPR_TECH_SINGLE_PINHOLE "ECHELLE,PINHOLE"
00205 #define XSH_DPR_TECH_MULTI_PINHOLE "ECHELLE,MULTI-PINHOLE"
00206
00207 #define XSH_NOD_CUMULATIVE_OFFSET_DEC "ESO SEQ CUMOFF DEC"
00208 #define XSH_NOD_CUMULATIVE_OFFSET_RA "ESO SEQ CUMOFF RA"
00209
00210 #define XSH_NOD_CUMULATIVE_OFFSETX "ESO SEQ CUMOFF X"
00211 #define XSH_NOD_CUMULATIVE_OFFSETY "ESO SEQ CUMOFF Y"
00212
00213 #define XSH_NOD_THROW "ESO SEQ NOD THROW"
00214 #define XSH_NOD_JITTER_BOX "ESO SEQ JITTER WIDTH"
00215
00216 #define XSH_NOD_RELATIVE_OFFSET_DEC "ESO SEQ RELOFF DEC"
00217 #define XSH_NOD_RELATIVE_OFFSET_RA "ESO SEQ RELOFF RA"
00218 #define XSH_POSANG "ESO ADA POSANG"
00219
00220
00221 #define XSH_NOD_RELATIVE_B_OFFSET_RA "ESO PRO B RELOFF RA"
00222 #define XSH_NOD_RELATIVE_B_OFFSET_DEC "ESO PRO B RELOFF DEC"
00223 #define XSH_NOD_CUMULATIVE_B_OFFSET_RA "ESO PRO B CUMOFF RA"
00224 #define XSH_NOD_CUMULATIVE_B_OFFSET_DEC "ESO PRO B CUMOFF DEC"
00225 #define XSH_QC_NPIXSAT "ESO QC NPIXSAT"
00226 #define XSH_QC_NPIXSAT_C "Number of saturated pixels"
00227 #define XSH_QC_FPIXSAT "ESO QC FPIXSAT"
00228 #define XSH_QC_FPIXSAT_C "Fraction of saturated pixels"
00229
00230
00231 #define XSH_SLITMAP_ORDER_EDGUP "ESO PRO ORD%d EDGUP SLIT"
00232 #define XSH_SLITMAP_ORDER_EDGLO "ESO PRO ORD%d EDGLO SLIT"
00233 #define XSH_SLITMAP_ORDER_CEN "ESO PRO ORD%d CEN SLIT"
00234 #define XSH_SLITMAP_ORDER_SLICUP "ESO PRO ORD%d SLICUP SLIT"
00235 #define XSH_SLITMAP_ORDER_SLICLO "ESO PRO ORD%d SLICLO SLIT"
00236
00237 #define XSH_SLITMAP_MEDIAN_EDGUP "ESO PRO MEDIAN EDGUP SLIT"
00238 #define XSH_SLITMAP_MEDIAN_EDGLO "ESO PRO MEDIAN EDGLO SLIT"
00239 #define XSH_SLITMAP_MEDIAN_CEN "ESO PRO MEDIAN CEN SLIT"
00240 #define XSH_SLITMAP_MEDIAN_SLICUP "ESO PRO MEDIAN SLICUP SLIT"
00241 #define XSH_SLITMAP_MEDIAN_SLICLO "ESO PRO MEDIAN SLICLO SLIT"
00242
00243 #define XSH_WAVEMAP_ORDER_LAMBDA_MIN "ESO PRO ORD%d LAMBDA MIN"
00244 #define XSH_WAVEMAP_ORDER_LAMBDA_MAX "ESO PRO ORD%d LAMBDA MAX"
00245
00246 #define XSH_SHIFTIFU_WAVEREF "ESO PRO LAMBDA REF"
00247 #define XSH_SHIFTIFU_SLITREF "ESO PRO SLIT REF"
00248 #define XSH_SHIFTIFU_SLITDOWNREF "ESO PRO SLIT DOWN REF"
00249 #define XSH_SHIFTIFU_SLITCENREF "ESO PRO SLIT CEN REF"
00250 #define XSH_SHIFTIFU_SLITUPREF "ESO PRO SLIT UP REF"
00251
00252
00253
00254
00255 #define XSH_PFITS_GET(RET, LIST, KW, TYPE) \
00256 check_msg( xsh_get_property_value( LIST, KW, TYPE, &RET),\
00257 "Error reading keyword '%s'", KW)
00258
00259
00260
00261
00262
00263 double xsh_pfits_get_pixscale(const cpl_propertylist * plist);
00264 double xsh_pfits_get_posangle(const cpl_propertylist * plist);
00265 int xsh_pfits_get_FOCU1ENC (const cpl_propertylist * plist);
00266 double xsh_pfits_get_temp82 (const cpl_propertylist * plist);
00267 double xsh_pfits_get_temp2 (const cpl_propertylist * plist);
00268 double xsh_pfits_get_temp5 (const cpl_propertylist * plist);
00269 const char* xsh_pfits_get_dpr_tech(const cpl_propertylist * plist);
00270 const char* xsh_pfits_get_dpr_type(const cpl_propertylist * plist);
00271 const char* xsh_pfits_get_dpr_catg(const cpl_propertylist * plist);
00272 const char* xsh_pfits_get_bunit(const cpl_propertylist * plist);
00273 const char* xsh_pfits_get_cunit1(const cpl_propertylist * plist);
00274 const char* xsh_pfits_get_cunit2(const cpl_propertylist * plist);
00275 const char* xsh_pfits_get_cunit3(const cpl_propertylist * plist);
00276 double xsh_pfits_get_mjdobs(const cpl_propertylist * plist);
00277 int xsh_pfits_get_naxis(const cpl_propertylist * plist);
00278 int xsh_pfits_get_naxis1(const cpl_propertylist * plist);
00279 int xsh_pfits_get_naxis2(const cpl_propertylist * plist);
00280 int xsh_pfits_get_naxis3(const cpl_propertylist * plist);
00281 int xsh_pfits_get_binx(const cpl_propertylist * plist);
00282 int xsh_pfits_get_biny(const cpl_propertylist * plist);
00283 int xsh_pfits_get_out_nx(const cpl_propertylist * plist);
00284 int xsh_pfits_get_chip_ny(const cpl_propertylist * plist);
00285 int xsh_pfits_get_chip_nx(const cpl_propertylist * plist);
00286 int xsh_pfits_get_out_ny(const cpl_propertylist * plist);
00287 int xsh_pfits_get_ovscx(const cpl_propertylist * plist);
00288 int xsh_pfits_get_ovscy(const cpl_propertylist * plist);
00289 int xsh_pfits_get_prscx(const cpl_propertylist * plist);
00290 int xsh_pfits_get_prscy(const cpl_propertylist * plist);
00291 double xsh_pfits_get_gain(const cpl_propertylist * plist);
00292 double xsh_pfits_get_ron(const cpl_propertylist * plist);
00293 double xsh_pfits_get_lst (const cpl_propertylist * plist);
00294 double xsh_pfits_get_conad(const cpl_propertylist * plist);
00295 double xsh_pfits_get_det_gain(const cpl_propertylist * plist);
00296 void xsh_pfits_set_dit(cpl_propertylist *, double dit) ;
00297 double xsh_pfits_get_dit(const cpl_propertylist *) ;
00298 double xsh_pfits_get_win1_dit1 (const cpl_propertylist * plist);
00299 const char * xsh_pfits_get_date(const cpl_propertylist *) ;
00300 const char * xsh_pfits_get_date_obs(const cpl_propertylist *) ;
00301 const char * xsh_pfits_get_arcfile(const cpl_propertylist *) ;
00302 const char * xsh_pfits_get_pcatg(const cpl_propertylist *) ;
00303 double xsh_pfits_get_crval1( const cpl_propertylist *) ;
00304 double xsh_pfits_get_crval2( const cpl_propertylist *) ;
00305 double xsh_pfits_get_cdelt1( const cpl_propertylist *) ;
00306 double xsh_pfits_get_cdelt2( const cpl_propertylist *) ;
00307 double xsh_pfits_get_cdelt3( const cpl_propertylist *) ;
00308 double xsh_pfits_get_crpix1(const cpl_propertylist * plist);
00309 double xsh_pfits_get_crpix2(const cpl_propertylist * plist);
00310 double xsh_pfits_get_crpix3(const cpl_propertylist * plist);
00311 double xsh_pfits_get_crval3(const cpl_propertylist * plist);
00312
00313 double xsh_pfits_get_exptime( const cpl_propertylist *) ;
00314 double xsh_pfits_get_pszx(const cpl_propertylist * plist) ;
00315 double xsh_pfits_get_pszy(const cpl_propertylist * plist) ;
00316 double xsh_pfits_get_det_pxspace(const cpl_propertylist * plist);
00317 double xsh_pfits_get_bias_left_median(cpl_propertylist * plist);
00318 double xsh_pfits_get_bias_right_median(cpl_propertylist * plist);
00319 double xsh_pfits_get_bias_left_stdev(cpl_propertylist * plist);
00320 double xsh_pfits_get_bias_right_stdev(cpl_propertylist * plist);
00321 double xsh_pfits_get_bias_up_median(cpl_propertylist * plist);
00322 double xsh_pfits_get_bias_down_median(cpl_propertylist * plist);
00323 double xsh_pfits_get_bias_up_stdev(cpl_propertylist * plist);
00324 double xsh_pfits_get_bias_down_stdev(cpl_propertylist * plist);
00325
00326 double xsh_pfits_get_ins_targ_alpha(const cpl_propertylist * plist);
00327 double xsh_pfits_get_ins_targ_delta(const cpl_propertylist * plist);
00328
00329 double xsh_pfits_get_ra(const cpl_propertylist * plist);
00330 double xsh_pfits_get_dec(const cpl_propertylist * plist);
00331
00332 const char * xsh_pfits_get_extname(const cpl_propertylist *) ;
00333 bool xsh_pfits_get_lamp_on_off( const cpl_propertylist *) ;
00334 int xsh_pfits_get_datancom( const cpl_propertylist *);
00335 int xsh_pfits_get_nb_pinhole( const cpl_propertylist *);
00336 double xsh_pfits_get_cd11 (const cpl_propertylist * plist);
00337 double xsh_pfits_get_cd12 (const cpl_propertylist * plist);
00338 double xsh_pfits_get_cd21 (const cpl_propertylist * plist);
00339 double xsh_pfits_get_cd22 (const cpl_propertylist * plist);
00340 double xsh_pfits_get_cd13 (const cpl_propertylist * plist);
00341 double xsh_pfits_get_cd23 (const cpl_propertylist * plist);
00342 double xsh_pfits_get_cd33 (const cpl_propertylist * plist);
00343 double xsh_pfits_get_cd31 (const cpl_propertylist * plist);
00344 double xsh_pfits_get_cd32 (const cpl_propertylist * plist);
00345 double xsh_pfits_get_tel_targ_alpha( const cpl_propertylist * plist);
00346 double xsh_pfits_get_tel_targ_delta( const cpl_propertylist * plist);
00347
00348
00349 void xsh_pfits_set_cd1(cpl_propertylist * plist, double cd1);
00350
00351 void xsh_pfits_set_cd11(cpl_propertylist * plist, double cd11);
00352 void xsh_pfits_set_cd12(cpl_propertylist * plist, double cd12);
00353 void xsh_pfits_set_cd21(cpl_propertylist * plist, double cd21);
00354 void xsh_pfits_set_cd22(cpl_propertylist * plist, double cd22);
00355
00356
00357 void xsh_pfits_set_cd13(cpl_propertylist * plist, double cd23);
00358 void xsh_pfits_set_cd23(cpl_propertylist * plist, double cd23);
00359 void xsh_pfits_set_cd31(cpl_propertylist * plist, double cd31);
00360 void xsh_pfits_set_cd32(cpl_propertylist * plist, double cd32);
00361 void xsh_pfits_set_cd33(cpl_propertylist * plist, double cd33);
00362
00363
00364 void xsh_pfits_set_crpix1(cpl_propertylist * plist, double crpix1);
00365 void xsh_pfits_set_crpix2(cpl_propertylist * plist, double crpix2);
00366 void xsh_pfits_set_crpix3(cpl_propertylist * plist, double crpix3);
00367
00368 void xsh_pfits_set_crval1(cpl_propertylist * plist, double crval1);
00369 void xsh_pfits_set_crval2(cpl_propertylist * plist, double crval2);
00370 void xsh_pfits_set_crval3(cpl_propertylist * plist, double crval3);
00371
00372 void xsh_pfits_set_cdelt1(cpl_propertylist * plist, double cdelt1);
00373 void xsh_pfits_set_cdelt2(cpl_propertylist * plist, double cdelt2);
00374 void xsh_pfits_set_cdelt3(cpl_propertylist * plist, double cdelt3);
00375
00376 void xsh_pfits_set_ctype1(cpl_propertylist * plist, const char* value);
00377 void xsh_pfits_set_ctype2(cpl_propertylist * plist, const char* value);
00378 void xsh_pfits_set_ctype3(cpl_propertylist * plist, const char* value);
00379 void xsh_pfits_set_bunit(cpl_propertylist * plist, const char* value);
00380 void xsh_pfits_set_cunit1(cpl_propertylist * plist, const char* value);
00381 void xsh_pfits_set_cunit2(cpl_propertylist * plist, const char* value);
00382 void xsh_pfits_set_cunit3(cpl_propertylist * plist, const char* value);
00383
00384 void xsh_pfits_set_exptime(cpl_propertylist * plist, double exptime);
00385 void xsh_pfits_set_extname(cpl_propertylist * plist, const char* value);
00386 void xsh_pfits_set_pcatg(cpl_propertylist * plist, const char* value);
00387 void xsh_pfits_set_dpr_type (cpl_propertylist * plist, const char *value);
00388 void xsh_pfits_set_dpr_tech (cpl_propertylist * plist, const char *value);
00389 void xsh_pfits_set_dpr_catg (cpl_propertylist * plist, const char *value);
00390
00391 void xsh_pfits_set_bias_left_median(cpl_propertylist * plist, double value);
00392 void xsh_pfits_set_bias_right_median(cpl_propertylist * plist, double value);
00393 void xsh_pfits_set_bias_up_median(cpl_propertylist * plist, double value);
00394 void xsh_pfits_set_bias_down_median(cpl_propertylist * plist, double value);
00395 void xsh_pfits_set_bias_left_stdev(cpl_propertylist * plist, double value);
00396 void xsh_pfits_set_bias_right_stdev(cpl_propertylist * plist, double value);
00397 void xsh_pfits_set_bias_up_stdev(cpl_propertylist * plist, double value);
00398 void xsh_pfits_set_bias_down_stdev(cpl_propertylist * plist, double value);
00399 void xsh_pfits_set_datancom( cpl_propertylist *plist, int value);
00400
00401 void xsh_pfits_set_wavesol_lambda_min(cpl_propertylist * plist, double value);
00402 void xsh_pfits_set_wavesol_lambda_max(cpl_propertylist * plist, double value);
00403 void xsh_pfits_set_wavesol_order_min(cpl_propertylist * plist, double value);
00404 void xsh_pfits_set_wavesol_order_max(cpl_propertylist * plist, double value);
00405 void xsh_pfits_set_wavesol_slit_min(cpl_propertylist * plist, double value);
00406 void xsh_pfits_set_wavesol_slit_max(cpl_propertylist * plist, double value);
00407 void xsh_pfits_set_wavesol_x_min(cpl_propertylist * plist, double value);
00408 void xsh_pfits_set_wavesol_x_max(cpl_propertylist * plist, double value);
00409 void xsh_pfits_set_wavesol_y_min(cpl_propertylist * plist, double value);
00410 void xsh_pfits_set_wavesol_y_max(cpl_propertylist * plist, double value);
00411 double xsh_pfits_get_wavesol_lambda_min(cpl_propertylist * plist);
00412 double xsh_pfits_get_wavesol_lambda_max(cpl_propertylist * plist);
00413 double xsh_pfits_get_wavesol_order_min(cpl_propertylist * plist);
00414 double xsh_pfits_get_wavesol_order_max(cpl_propertylist * plist);
00415 double xsh_pfits_get_wavesol_slit_min(cpl_propertylist * plist);
00416 double xsh_pfits_get_wavesol_slit_max(cpl_propertylist * plist);
00417 double xsh_pfits_get_wavesol_x_min(cpl_propertylist * plist);
00418 double xsh_pfits_get_wavesol_x_max(cpl_propertylist * plist);
00419 double xsh_pfits_get_wavesol_y_min(cpl_propertylist * plist);
00420 double xsh_pfits_get_wavesol_y_max(cpl_propertylist * plist);
00421
00422 double xsh_pfits_get_extract_slit_min(cpl_propertylist * plist);
00423 double xsh_pfits_get_extract_slit_max(cpl_propertylist * plist);
00424
00425 double xsh_pfits_get_airm_end (const cpl_propertylist * plist);
00426 double xsh_pfits_get_airm_start (const cpl_propertylist * plist);
00427 double xsh_pfits_get_airm_mean (const cpl_propertylist * plist);
00428
00429 double xsh_pfits_get_seeing_start (const cpl_propertylist * plist) ;
00430 double xsh_pfits_get_seeing_end (const cpl_propertylist * plist) ;
00431
00432 double xsh_pfits_get_slit_width (const cpl_propertylist * plist,
00433 xsh_instrument * instrument ) ;
00434
00435 void xsh_pfits_set_rectify_bin_lambda(cpl_propertylist * plist, double value);
00436 void xsh_pfits_set_rectify_bin_space(cpl_propertylist * plist, double value);
00437 void xsh_pfits_set_rectify_lambda_min(cpl_propertylist * plist, double value);
00438 void xsh_pfits_set_rectify_lambda_max(cpl_propertylist * plist, double value);
00439 void xsh_pfits_set_rectify_space_min(cpl_propertylist * plist, double value);
00440 void xsh_pfits_set_rectify_space_max(cpl_propertylist * plist, double value);
00441
00442 double xsh_pfits_get_rectify_bin_lambda(cpl_propertylist * plist);
00443 double xsh_pfits_get_rectify_bin_space(cpl_propertylist * plist);
00444 double xsh_pfits_get_rectify_lambda_min(cpl_propertylist * plist);
00445 double xsh_pfits_get_rectify_lambda_max(cpl_propertylist * plist);
00446 double xsh_pfits_get_rectify_space_min(cpl_propertylist * plist);
00447 double xsh_pfits_get_rectify_space_max(cpl_propertylist * plist);
00448
00449
00450 void xsh_pfits_set_b_ra_reloffset(cpl_propertylist * plist, double value);
00451 void xsh_pfits_set_b_dec_reloffset(cpl_propertylist * plist, double value);
00452 void xsh_pfits_set_b_ra_cumoffset(cpl_propertylist * plist, double value);
00453 void xsh_pfits_set_b_dec_cumoffset(cpl_propertylist * plist, double value);
00454
00455 double xsh_pfits_get_cumoffsety( const cpl_propertylist *plist);
00456 double xsh_pfits_get_cumoffsetx( const cpl_propertylist *plist);
00457 double xsh_pfits_get_posang( const cpl_propertylist *plist);
00458 double xsh_pfits_get_ra_cumoffset( const cpl_propertylist *plist);
00459 double xsh_pfits_get_dec_cumoffset( const cpl_propertylist *plist);
00460 double xsh_pfits_get_ra_reloffset( const cpl_propertylist *plist);
00461 double xsh_pfits_get_dec_reloffset( const cpl_propertylist *plist);
00462 double xsh_pfits_get_b_ra_reloffset( const cpl_propertylist *plist);
00463 double xsh_pfits_get_b_dec_reloffset( const cpl_propertylist *plist);
00464 double xsh_pfits_get_b_ra_cumoffset( const cpl_propertylist *plist);
00465 double xsh_pfits_get_b_dec_cumoffset( const cpl_propertylist *plist);
00466
00467 double xsh_pfits_get_nod_reloffset( const cpl_propertylist * plist ) ;
00468 double xsh_pfits_get_nod_cumoffset( const cpl_propertylist * plist ) ;
00469 double xsh_pfits_get_nod_jitterwidth( const cpl_propertylist * plist) ;
00470 double xsh_pfits_get_nodthrow( const cpl_propertylist * plist) ;
00471
00472 void xsh_pfits_set_wavesoltype( cpl_propertylist * plist, const char* value);
00473 const char* xsh_pfits_get_wavesoltype(const cpl_propertylist *);
00474
00475 cpl_error_code
00476 xsh_frame_force_pro_catg(const char* fname,
00477 const char* tag);
00478
00479
00480 void xsh_pfits_set_arm( cpl_propertylist * plist, xsh_instrument* instr);
00481
00482 XSH_ARM xsh_pfits_get_arm( const cpl_propertylist * plist) ;
00483 void xsh_pfits_set_extract_slit_min(cpl_propertylist * plist, double value);
00484 void xsh_pfits_set_extract_slit_max(cpl_propertylist * plist, double value);
00485 void xsh_pfits_set_nsat(cpl_propertylist * plist, int value);
00486 void xsh_pfits_set_frac_sat(cpl_propertylist * plist, double value);
00487 char* xsh_pfits_get_slit_value (const cpl_propertylist * plist,xsh_instrument * instrument );
00488
00489 int xsh_pfits_get_obs_id(cpl_propertylist * plist);
00490 const char* xsh_pfits_get_raw1name (const cpl_propertylist * plist);
00491 const char* xsh_pfits_get_raw1catg (const cpl_propertylist * plist);
00492 const char* xsh_pfits_get_obs_targ_name (const cpl_propertylist * plist);
00493
00494 void xsh_pfits_set_slitmap_order_edgup( cpl_propertylist * plist, int absorder, double value);
00495 void xsh_pfits_set_slitmap_order_edglo( cpl_propertylist * plist, int absorder, double value);
00496 void xsh_pfits_set_slitmap_order_cen( cpl_propertylist * plist, int absorder, double value);
00497 void xsh_pfits_set_slitmap_order_slicup( cpl_propertylist * plist, int absorder, double value);
00498 void xsh_pfits_set_slitmap_order_sliclo( cpl_propertylist * plist, int absorder, double value);
00499
00500 void xsh_pfits_set_slitmap_median_edgup( cpl_propertylist * plist, double value);
00501 void xsh_pfits_set_slitmap_median_edglo( cpl_propertylist * plist, double value);
00502 void xsh_pfits_set_slitmap_median_cen( cpl_propertylist * plist, double value);
00503 void xsh_pfits_set_slitmap_median_slicup( cpl_propertylist * plist, double value);
00504 void xsh_pfits_set_slitmap_median_sliclo( cpl_propertylist * plist, double value);
00505
00506 double xsh_pfits_get_slitmap_median_edgup(const cpl_propertylist * plist);
00507 double xsh_pfits_get_slitmap_median_edglo(const cpl_propertylist * plist);
00508 double xsh_pfits_get_slitmap_median_cen(const cpl_propertylist * plist);
00509 double xsh_pfits_get_slitmap_median_slicup(const cpl_propertylist * plist);
00510 double xsh_pfits_get_slitmap_median_sliclo(const cpl_propertylist * plist);
00511
00512 void xsh_pfits_set_wavemap_order_lambda_min( cpl_propertylist * plist, int absorder, double value);
00513 void xsh_pfits_set_wavemap_order_lambda_max( cpl_propertylist * plist, int absorder, double value);
00514 double xsh_pfits_get_geolon(const cpl_propertylist * plist);
00515 double xsh_pfits_get_geolat(const cpl_propertylist * plist);
00516 double xsh_pfits_get_utc(const cpl_propertylist * plist);
00517
00518 void xsh_pfits_set_shiftifu_lambdaref( cpl_propertylist * plist, double value);
00519 void xsh_pfits_set_shiftifu_slitref( cpl_propertylist * plist, double value);
00520 void xsh_pfits_set_shiftifu_slitdownref( cpl_propertylist * plist, double value);
00521 void xsh_pfits_set_shiftifu_slitcenref( cpl_propertylist * plist, double value);
00522 void xsh_pfits_set_shiftifu_slitupref( cpl_propertylist * plist, double value);
00523 double xsh_pfits_get_shiftifu_lambdaref( cpl_propertylist * plist);
00524 double xsh_pfits_get_shiftifu_slitref( cpl_propertylist * plist);
00525 const char* xsh_pfits_get_telescop (const cpl_propertylist * plist);
00526 cpl_error_code
00527 xsh_plist_set_extra_keys(cpl_propertylist* plist,
00528 const char* hduclas1,
00529 const char* hduclas2,
00530 const char* hduclas3,
00531 const char* scidata,
00532 const char* errdata,
00533 const char* qualdata,
00534 const int type);
00535 #endif