sinfoni_pfits.c

00001 /* $Id: sinfoni_pfits.c,v 1.8 2005/05/02 06:49:15 amodigli Exp $
00002  *
00003  * This file is part of the SINFONI Pipeline
00004  * Copyright (C) 2002,2003 European Southern Observatory
00005  *
00006  * This program is free software; you can redistribute it and/or modify
00007  * it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation; either version 2 of the License, or
00009  * (at your option) any later version.
00010  *
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software
00018  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019  */
00020 
00021 /*
00022  * $Author: amodigli $
00023  * $Date: 2005/05/02 06:49:15 $
00024  * $Revision: 1.8 $
00025  * $Name:  $
00026  */
00027 /*-----------------------------------------------------------------------------
00028                                 Includes
00029  -----------------------------------------------------------------------------*/
00030 #include <cpl.h>
00031 #include "sinfoni_pfits.h"
00032 
00033 #include <string.h>
00034 #include "qfits.h"
00035 
00036 /*----------------------------------------------------------------------------*/
00041 /*----------------------------------------------------------------------------*/
00042 
00045 /*-----------------------------------------------------------------------------
00046                             Function codes
00047  -----------------------------------------------------------------------------*/
00048 
00049 /*----------------------------------------------------------------------------*/
00055 /*----------------------------------------------------------------------------*/
00056 char * sinfoni_pfits_get_airmass_start(const char * filename)
00057 {
00058     char    *   val ;
00059 
00060     if (qfits_is_paf_file((char *) filename)) {
00061         val = qfits_paf_query((char *) filename, (char*) "TEL.AIRM.START") ;
00062     } else {
00063         val = qfits_query_hdr((char *) filename, (char*) "TEL.AIRM.START") ;
00064     }
00065     return qfits_pretty_string(val);
00066 }
00067 
00068 /*----------------------------------------------------------------------------*/
00074 /*----------------------------------------------------------------------------*/
00075 char * sinfoni_pfits_get_airmass_end(const char * filename)
00076 {
00077     char    *   val ;
00078 
00079     if (qfits_is_paf_file((char *) filename)) {
00080         val = qfits_paf_query((char *) filename, (char*) "TEL.AIRM.END") ;
00081     } else {
00082         val = qfits_query_hdr((char *) filename, (char*) "TEL.AIRM.END") ;
00083     }
00084     return qfits_pretty_string(val);
00085 }
00086 
00087 /*----------------------------------------------------------------------------*/
00093 /*----------------------------------------------------------------------------*/
00094 char * sinfoni_pfits_get_alpha(const char * filename)
00095 {
00096     char    *   val ;
00097 
00098     if (qfits_is_paf_file((char *) filename)) {
00099         val = qfits_paf_query((char *) filename, (char*) "TEL.TARG.OFFSETALPHA") ;
00100     } else {
00101         val = qfits_query_hdr((char *) filename, (char*) "TEL.TARG.OFFSETALPHA") ;
00102     }
00103     return qfits_pretty_string(val);
00104 }
00105 
00106 /*----------------------------------------------------------------------------*/
00112 /*----------------------------------------------------------------------------*/
00113 char * sinfoni_pfits_get_rom(const char * filename)
00114 {
00115     char    *   val ;
00116 
00117     if (qfits_is_paf_file((char *) filename)) {
00118         val = qfits_paf_query((char *) filename, (char*) "DET.NCORRS") ;
00119     } else {
00120         val = qfits_query_hdr((char *) filename, (char*) "DET.NCORRS");
00121     }
00122     return qfits_pretty_string(val);
00123 }
00124 
00125 
00126 /*----------------------------------------------------------------------------*/
00132 /*----------------------------------------------------------------------------*/
00133 char * sinfoni_pfits_get_arcfile(const char * filename)
00134 {
00135     char    *   val ;
00136 
00137     if (qfits_is_paf_file((char *) filename)) {
00138         val = qfits_paf_query((char *) filename, (char*) "ARCFILE") ;
00139     } else {
00140         val = qfits_query_hdr((char *) filename, (char*) "ARCFILE") ;
00141     }
00142     return qfits_pretty_string(val);
00143 }
00144 
00145 
00146 /*----------------------------------------------------------------------------*/
00152 /*----------------------------------------------------------------------------*/
00153 char * sinfoni_pfits_get_rec1raw1name(const char * filename)
00154 {
00155     char    *   val ;
00156 
00157     if (qfits_is_paf_file((char *) filename)) {
00158         val = qfits_paf_query((char *) filename, (char*) "PRO.REC1.RAW1.NAME" ) ;
00159     } else {
00160         val = qfits_query_hdr((char *) filename, (char*) "PRO.REC1.RAW1.NAME" ) ;
00161     }
00162     return qfits_pretty_string(val);
00163 }
00164 
00165 
00166 /*----------------------------------------------------------------------------*/
00172 /*----------------------------------------------------------------------------*/
00173 char * sinfoni_pfits_get_ins_setup(const char * filename)
00174 {
00175     char    *   val ;
00176 
00177     if (qfits_is_paf_file((char *) filename)) {
00178         val = qfits_paf_query((char *) filename, (char*) "INS.SETUP.ID") ;
00179     } else {
00180         val = qfits_query_hdr((char *) filename, (char*) "INS.SETUP.ID") ;
00181     }
00182     return qfits_pretty_string(val);
00183 }
00184 
00185 
00186 
00187 /*----------------------------------------------------------------------------*/
00193 /*----------------------------------------------------------------------------*/
00194 char * sinfoni_pfits_get_wlen(const char * filename)
00195 {
00196     char    *   val ;
00197 
00198     if (qfits_is_paf_file((char *) filename)) {
00199         val = qfits_paf_query((char *) filename, (char*) "INS.GRAT1.WLEN") ;
00200     } else {
00201         val = qfits_query_hdr((char *) filename, (char*) "INS.GRAT1.WLEN") ;
00202     }
00203     return qfits_pretty_string(val);
00204 }
00205 
00206 /*----------------------------------------------------------------------------*/
00212 /*----------------------------------------------------------------------------*/
00213 char * sinfoni_pfits_get_chop_ncycles(const char * filename)
00214 {
00215     char    *   val ;
00216 
00217     if (qfits_is_paf_file((char *) filename)) {
00218         val = qfits_paf_query((char *) filename, (char*) "DET.CHOP.NCYCLES") ;
00219     } else {
00220         val = qfits_query_hdr((char *) filename, (char*) "DET.CHOP.NCYCLES") ;
00221     }
00222     return qfits_pretty_string(val);
00223 }
00224 
00225 /*----------------------------------------------------------------------------*/
00232 /*----------------------------------------------------------------------------*/
00233 char * sinfoni_pfits_get_cumoffsetx(const char * filename)
00234 {
00235     char    *   val ;
00236 
00237     if (qfits_is_paf_file((char *) filename)) {
00238         val = qfits_paf_query((char *) filename, (char*) "SEQ.CUMOFFSETX") ;
00239     } else {
00240         val = qfits_query_hdr((char *) filename, (char*) "SEQ.CUMOFFSETX");
00241     }
00242     return qfits_pretty_string(val);
00243 }
00244 
00245 /*----------------------------------------------------------------------------*/
00252 /*----------------------------------------------------------------------------*/
00253 char * sinfoni_pfits_get_cumoffsety(const char * filename)
00254 {
00255     char    *   val ;
00256 
00257     if (qfits_is_paf_file((char *) filename)) {
00258         val = qfits_paf_query((char *) filename, (char*) "SEQ.CUMOFFSETY") ;
00259     } else {
00260         val = qfits_query_hdr((char *) filename, (char*) "SEQ.CUMOFFSETY");
00261     }
00262     return qfits_pretty_string(val);
00263 }
00264 
00265 /*----------------------------------------------------------------------------*/
00271 /*----------------------------------------------------------------------------*/
00272 char * sinfoni_pfits_get_date_obs(const char * filename)
00273 {
00274     char    *   val ;
00275 
00276     if (qfits_is_paf_file((char *) filename)) {
00277         val = qfits_paf_query((char *) filename, (char*) "DATE-OBS") ;
00278     } else {
00279         val = qfits_query_hdr((char *) filename, (char*) "DATE-OBS");
00280     }
00281     return qfits_pretty_string(val);
00282 }
00283         
00284 /*----------------------------------------------------------------------------*/
00290 /*----------------------------------------------------------------------------*/
00291 char * sinfoni_pfits_get_delta(const char * filename)
00292 {
00293     char    *   val ;
00294 
00295     if (qfits_is_paf_file((char *) filename)) {
00296         val = qfits_paf_query((char *) filename, (char*) "TEL.TARG.OFFSETDELTA") ;
00297     } else {
00298         val = qfits_query_hdr((char *) filename, (char*) "TEL.TARG.OFFSETDELTA");
00299     }
00300     return qfits_pretty_string(val);
00301 }
00302 
00303 /*----------------------------------------------------------------------------*/
00309 /*----------------------------------------------------------------------------*/
00310 char * sinfoni_pfits_get_dec(const char * filename)
00311 {
00312     char    *   val ;
00313 
00314     if (qfits_is_paf_file((char *) filename)) {
00315         val = qfits_paf_query((char *) filename, (char*) "DEC") ;
00316     } else {
00317         val = qfits_query_hdr((char *) filename, (char*) "DEC");
00318     }
00319     return qfits_pretty_string(val);
00320 }
00321 
00322 /*----------------------------------------------------------------------------*/
00329 /*----------------------------------------------------------------------------*/
00330 char * sinfoni_pfits_get_dit(const char * filename)
00331 {
00332     char    *   val ;
00333 
00334     if (qfits_is_paf_file((char *) filename)) {
00335         val = qfits_paf_query((char *) filename, (char*) "DET.DIT") ;
00336     } else {
00337         val = qfits_query_hdr((char *) filename, (char*) "DET.DIT");
00338     }
00339     return qfits_pretty_string(val);
00340 }
00341 
00342 
00343 /*----------------------------------------------------------------------------*/
00350 /*----------------------------------------------------------------------------*/
00351 char * sinfoni_pfits_get_ncorrs_name(const char * filename)
00352 {
00353     char    *   val ;
00354 
00355     if (qfits_is_paf_file((char *) filename)) {
00356         val = qfits_paf_query((char *) filename, (char*) "DET.NCORRS.NAME") ;
00357     } else {
00358         val = qfits_query_hdr((char *) filename, (char*) "DET.NCORRS.NAME");
00359     }
00360     return qfits_pretty_string(val);
00361 }
00362 
00363 
00364 
00365 /*----------------------------------------------------------------------------*/
00371 /*----------------------------------------------------------------------------*/
00372 char * sinfoni_pfits_get_dpr_catg(const char * filename)
00373 {
00374     char    *   val ;
00375 
00376     if (qfits_is_paf_file((char *) filename)) {
00377         val = qfits_paf_query((char *) filename, (char*) "DPR.CATG") ;
00378     } else {
00379         val = qfits_query_hdr((char *) filename, (char*) "DPR.CATG");
00380     }
00381     return qfits_pretty_string(val);
00382 }
00383 
00384 /*----------------------------------------------------------------------------*/
00390 /*----------------------------------------------------------------------------*/
00391 char * sinfoni_pfits_get_dpr_tech(const char * filename)
00392 {
00393     char    *   val ;
00394 
00395     if (qfits_is_paf_file((char *) filename)) {
00396         val = qfits_paf_query((char *) filename, (char*) "DPR.TECH") ;
00397     } else {
00398         val = qfits_query_hdr((char *) filename, (char*) "DPR.TECH");
00399     }
00400     return qfits_pretty_string(val);
00401 }
00402 
00403 /*----------------------------------------------------------------------------*/
00409 /*----------------------------------------------------------------------------*/
00410 char * sinfoni_pfits_get_dpr_type(const char * filename)
00411 {
00412     char    *   val ;
00413 
00414     if (qfits_is_paf_file((char *) filename)) {
00415         val = qfits_paf_query((char *) filename, (char*) "DPR.TYPE") ;
00416     } else {
00417         val = qfits_query_hdr((char *) filename, (char*) "DPR.TYPE");
00418     }
00419     return qfits_pretty_string(val);
00420 }
00421 
00422 /*----------------------------------------------------------------------------*/
00428 /*----------------------------------------------------------------------------*/
00429 char * sinfoni_pfits_get_expno(const char * filename)
00430 {
00431     char    *   val ;
00432 
00433     if (qfits_is_paf_file((char *) filename)) {
00434         val = qfits_paf_query((char *) filename, (char*) "TPL.EXPNO") ;
00435     } else {
00436         val = qfits_query_hdr((char *) filename, (char*) "TPL.EXPNO");
00437     }
00438     return qfits_pretty_string(val);
00439 }
00440 
00441 /*----------------------------------------------------------------------------*/
00447 /*----------------------------------------------------------------------------*/
00448 char * sinfoni_pfits_get_filter_im(const char * filename)
00449 {
00450     char    *   val ;
00451 
00452     if (qfits_is_paf_file((char *) filename)) {
00453         val = qfits_paf_query((char *) filename, (char*) "INS.FILT1.NAME") ;
00454     } else {
00455         val = qfits_query_hdr((char *) filename, (char*) "INS.FILT1.NAME") ;
00456     }
00457     return qfits_pretty_string(val);
00458 }
00459 
00460 /*----------------------------------------------------------------------------*/
00466 /*----------------------------------------------------------------------------*/
00467 char * sinfoni_pfits_get_filter_spec(const char * filename)
00468 {
00469     char    *   val ;
00470 
00471     if (qfits_is_paf_file((char *) filename)) {
00472         val = qfits_paf_query((char *) filename, (char*) "INS.FILT2.NAME") ;
00473     } else {
00474         val = qfits_query_hdr((char *) filename, (char*) "INS.FILT2.NAME") ;
00475     }
00476     return qfits_pretty_string(val);
00477 }
00478 
00479 /*----------------------------------------------------------------------------*/
00485 /*----------------------------------------------------------------------------*/
00486 char * sinfoni_pfits_get_focus(const char * filename)
00487 {
00488     char    *   val ;
00489 
00490     if (qfits_is_paf_file((char *) filename)) {
00491         val = qfits_paf_query((char *) filename, (char*) "TEL.FOCU.LEN") ;
00492     } else {
00493         val = qfits_query_hdr((char *) filename, (char*) "TEL.FOCU.LEN");
00494     }
00495     return qfits_pretty_string(val);
00496 }
00497 
00498 /*----------------------------------------------------------------------------*/
00504 /*----------------------------------------------------------------------------*/
00505 char * sinfoni_pfits_get_exptime(const char * filename)
00506 {
00507     char    *   val ;
00508 
00509     if (qfits_is_paf_file((char *) filename)) {
00510         val = qfits_paf_query((char *) filename, (char*) "EXPTIME") ;
00511     } else {
00512         val = qfits_query_hdr((char *) filename, (char*) "EXPTIME");
00513     }
00514     return qfits_pretty_string(val);
00515 }
00516 
00517 /*----------------------------------------------------------------------------*/
00523 /*----------------------------------------------------------------------------*/
00524 char * sinfoni_pfits_get_frame_type(const char * filename)
00525 {
00526     char    *   val ;
00527 
00528     if (qfits_is_paf_file((char *) filename)) {
00529         val = qfits_paf_query((char *) filename, (char*) "DET.FRAM.TYPE") ;
00530     } else {
00531         val = qfits_query_hdr((char *) filename, (char*) "DET.FRAM.TYPE");
00532     }
00533     return qfits_pretty_string(val);
00534 }
00535 
00536 /*----------------------------------------------------------------------------*/
00542 /*----------------------------------------------------------------------------*/
00543 char * sinfoni_pfits_get_instrument(const char * filename)
00544 {
00545     char    *   val ;
00546 
00547     if (qfits_is_paf_file((char *) filename)) {
00548         val = qfits_paf_query((char *) filename, (char*) "INSTRUME") ;
00549     } else {
00550         val = qfits_query_hdr((char *) filename, (char*) "INSTRUME");
00551     }
00552     return qfits_pretty_string(val);
00553 }
00554 
00555 /*----------------------------------------------------------------------------*/
00561 /*----------------------------------------------------------------------------*/
00562 char * sinfoni_pfits_get_mjdobs(const char * filename)
00563 {
00564     char    *   val ;
00565 
00566     if (qfits_is_paf_file((char *) filename)) {
00567         val = qfits_paf_query((char *) filename, (char*) "MJD-OBS") ;
00568     } else {
00569         val = qfits_query_hdr((char *) filename, (char*) "MJD-OBS");
00570     }
00571     return qfits_pretty_string(val);
00572 }
00573 
00574 /*----------------------------------------------------------------------------*/
00580 /*----------------------------------------------------------------------------*/
00581 char * sinfoni_pfits_get_mode(const char * filename)
00582 {
00583     char    *   val ;
00584 
00585     if (qfits_is_paf_file((char *) filename)) {
00586         val = qfits_paf_query((char *) filename, (char*) "DET.MODE.NAME") ;
00587     } else {
00588         val = qfits_query_hdr((char *) filename, (char*) "DET.MODE.NAME") ;
00589     }
00590     return qfits_pretty_string(val);
00591 }
00592 
00593 /*----------------------------------------------------------------------------*/
00599 /*----------------------------------------------------------------------------*/
00600 char * sinfoni_pfits_get_monoc_pos(const char * filename)
00601 {
00602     char    *   val ;
00603 
00604     if (qfits_is_paf_file((char *) filename)) {
00605         val = qfits_paf_query((char *) filename, (char*) "INS.MONOC1.POS") ;
00606     } else {
00607         val = qfits_query_hdr((char *) filename, (char*) "INS.MONOC1.POS") ;
00608     }
00609     return qfits_pretty_string(val);
00610 }
00611 
00612 /*----------------------------------------------------------------------------*/
00618 /*----------------------------------------------------------------------------*/
00619 char * sinfoni_pfits_get_ndit(const char * filename)
00620 {
00621     char    *   val ;
00622 
00623     if (qfits_is_paf_file((char *) filename)) {
00624         val = qfits_paf_query((char *) filename, (char*) "DET.NDIT") ;
00625     } else {
00626         val = qfits_query_hdr((char *) filename, (char*) "DET.NDIT") ;
00627     }
00628     return qfits_pretty_string(val);
00629 }
00630 
00631 /*----------------------------------------------------------------------------*/
00637 /*----------------------------------------------------------------------------*/
00638 char * sinfoni_pfits_get_naxis3(const char * filename)
00639 {
00640     char    *   val ;
00641 
00642     if (qfits_is_paf_file((char *) filename)) {
00643         val = qfits_paf_query((char *) filename, (char*) "NAXIS3") ;
00644     } else {
00645         val = qfits_query_hdr((char *) filename, (char*) "NAXIS3") ;
00646     }
00647     return qfits_pretty_string(val);
00648 }
00649 
00650 /*----------------------------------------------------------------------------*/
00656 /*----------------------------------------------------------------------------*/
00657 char * sinfoni_pfits_get_numbexp(const char * filename)
00658 {
00659     char    *   val ;
00660 
00661     if (qfits_is_paf_file((char *) filename)) {
00662         val = qfits_paf_query((char *) filename, (char*) "TPL.NEXP") ;
00663     } else {
00664         val = qfits_query_hdr((char *) filename, (char*) "TPL.NEXP");
00665     }
00666     return qfits_pretty_string(val);
00667 }
00668 
00669 /*----------------------------------------------------------------------------*/
00675 /*----------------------------------------------------------------------------*/
00676 char * sinfoni_pfits_get_obs_id(const char * filename)
00677 {
00678     char    *   val ;
00679 
00680     if (qfits_is_paf_file((char *) filename)) {
00681         val = qfits_paf_query((char *) filename, (char*) "OBS.ID") ;
00682     } else {
00683         val = qfits_query_hdr((char *) filename, (char*) "OBS.ID");
00684     }
00685     return qfits_pretty_string(val);
00686 }
00687 
00688 /*----------------------------------------------------------------------------*/
00694 /*----------------------------------------------------------------------------*/
00695 char * sinfoni_pfits_get_nodpos(const char * filename)
00696 {
00697     char    *   val ;
00698 
00699     if (qfits_is_paf_file((char *) filename)) {
00700         val = qfits_paf_query((char *) filename, (char*) "SEQ.NODPOS") ;
00701     } else {
00702         val = qfits_query_hdr((char *) filename, (char*) "SEQ.NODPOS") ;
00703     }
00704     return qfits_pretty_string(val);
00705 }
00706 
00707 /*----------------------------------------------------------------------------*/
00713 /*----------------------------------------------------------------------------*/
00714 char * sinfoni_pfits_get_pixscale(const char * filename)
00715 {
00716     char    *   val ;
00717 
00718     if (qfits_is_paf_file((char *) filename)) {
00719         val = qfits_paf_query((char *) filename, (char*) "INS.PFOV") ;
00720     } else {
00721         val = qfits_query_hdr((char *) filename, (char*) "INS.PFOV");
00722     }
00723     return qfits_pretty_string(val);
00724 }
00725 
00726 /*----------------------------------------------------------------------------*/
00732 /*----------------------------------------------------------------------------*/
00733 char * sinfoni_pfits_get_ra(const char * filename)
00734 {
00735     char    *   val ;
00736 
00737     if (qfits_is_paf_file((char *) filename)) {
00738         val = qfits_paf_query((char *) filename, (char*) "RA") ;
00739     } else {
00740         val = qfits_query_hdr((char *) filename, (char*) "RA");
00741     }
00742     return qfits_pretty_string(val);
00743 }
00744 
00745 /*----------------------------------------------------------------------------*/
00751 /*----------------------------------------------------------------------------*/
00752 char * sinfoni_pfits_get_starname(const char * filename)
00753 {
00754     char    *   val ;
00755 
00756     if (qfits_is_paf_file((char *) filename)) {
00757         val = qfits_paf_query((char *) filename, (char*) "OBS.TARG.NAME") ;
00758     } else {
00759         val = qfits_query_hdr((char *) filename, (char*) "OBS.TARG.NAME");
00760     }
00761     return qfits_pretty_string(val);
00762 }
00763 
00764 /*----------------------------------------------------------------------------*/
00770 /*----------------------------------------------------------------------------*/
00771 char * sinfoni_pfits_get_resol(const char * filename)
00772 {
00773     char    *   val ;
00774 
00775     if (qfits_is_paf_file((char *) filename)) {
00776         val = qfits_paf_query((char *) filename, (char*) "INS.RESOL") ;
00777     } else {
00778         val = qfits_query_hdr((char *) filename, (char*) "INS.RESOL");
00779     }
00780     return qfits_pretty_string(val);
00781 }
00782 
00783 /*----------------------------------------------------------------------------*/
00789 /*----------------------------------------------------------------------------*/
00790 char * sinfoni_pfits_get_templateid(const char * filename)
00791 {
00792     char    *   val ;
00793 
00794     if (qfits_is_paf_file((char *) filename)) {
00795         val = qfits_paf_query((char *) filename, (char*) "TPL.ID") ;
00796     } else {
00797         val = qfits_query_hdr((char *) filename, (char*) "TPL.ID");
00798     }
00799     return qfits_pretty_string(val);
00800 }
00801 

Generated on Wed Oct 26 13:08:55 2005 for SINFONI Pipeline Reference Manual by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001