uves_physmod_impl.c

00001 /*                                                                              *
00002  *   This file is part of the ESO UVES Pipeline                                 *
00003  *   Copyright (C) 2004,2005 European Southern Observatory                      *
00004  *                                                                              *
00005  *   This library 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/09/24 09:32:07 $
00023  * $Revision: 1.38 $
00024  * $Name: uves-4_9_1 $
00025  * $Log: uves_physmod_impl.c,v $
00026  * Revision 1.38  2010/09/24 09:32:07  amodigli
00027  * put back QFITS dependency to fix problem spot by NRI on FIBER mode (with MIDAS calibs) data
00028  *
00029  * Revision 1.36  2008/03/28 08:54:22  amodigli
00030  * IRPLIB_CONCAT2X-->UVES_CONCAT2X
00031  *
00032  * Revision 1.35  2007/06/11 13:28:26  jmlarsen
00033  * Changed recipe contact address to cpl at eso.org
00034  *
00035  * Revision 1.34  2007/06/06 08:17:33  amodigli
00036  * replace tab with 4 spaces
00037  *
00038  * Revision 1.33  2007/02/09 13:39:51  jmlarsen
00039  * Use defines for recipe id
00040  *
00041  * Revision 1.32  2006/11/06 15:19:41  jmlarsen
00042  * Removed unused include directives
00043  *
00044  * Revision 1.31  2006/10/24 14:12:16  jmlarsen
00045  * Parametrized recipe id to support FLAMES recipe
00046  *
00047  * Revision 1.30  2006/10/19 13:53:25  jmlarsen
00048  * Changed guess line table tag to LINE_GUESS_TAB
00049  *
00050  * Revision 1.29  2006/10/17 12:33:02  jmlarsen
00051  * Added semicolon at UVES_RECIPE_DEFINE invocation
00052  *
00053  * Revision 1.28  2006/10/11 12:22:36  amodigli
00054  * now the stability check consist only i the msrawxy and the table comparison, as in MIDAS
00055  *
00056  * Revision 1.27  2006/10/09 13:01:13  jmlarsen
00057  * Use macro to define recipe interface functions
00058  *
00059  * Revision 1.26  2006/09/19 14:31:38  jmlarsen
00060  * uves_insert_frame(): use bitmap to specify which image statistics keywords must be computed
00061  *
00062  * Revision 1.25  2006/09/19 06:55:39  jmlarsen
00063  * Changed interface of uves_frameset to optionally write image statistics kewwords
00064  *
00065  * Revision 1.24  2006/08/24 11:36:37  jmlarsen
00066  * Write recipe start/stop time to header
00067  *
00068  * Revision 1.23  2006/08/18 13:35:42  jmlarsen
00069  * Fixed/changed QC parameter formats
00070  *
00071  * Revision 1.22  2006/08/17 13:56:53  jmlarsen
00072  * Reduced max line length
00073  *
00074  * Revision 1.21  2006/08/11 14:56:05  amodigli
00075  * removed Doxygen warnings
00076  *
00077  * Revision 1.20  2006/08/07 11:35:35  jmlarsen
00078  * Disabled parameter environment variable mode
00079  *
00080  * Revision 1.19  2006/08/01 14:42:34  amodigli
00081  * fixed bugs getting raw header from master formatcheck
00082  *
00083  * Revision 1.18  2006/07/31 06:29:26  amodigli
00084  * added QC on stability test
00085  *
00086  * Revision 1.17  2006/07/28 14:51:26  amodigli
00087  * fixed some bugs on improper table selection
00088  *
00089  * Revision 1.16  2006/07/14 12:19:28  jmlarsen
00090  * Support multiple QC tests per product
00091  *
00092  * Revision 1.15  2006/07/03 12:46:34  amodigli
00093  * updated description
00094  *
00095  * Revision 1.14  2006/06/28 13:28:29  amodigli
00096  * improved output
00097  *
00098  * Revision 1.13  2006/06/20 09:06:39  amodigli
00099  * correct input tag info in man page
00100  *
00101  * Revision 1.12  2006/06/16 08:25:45  jmlarsen
00102  * Manually propagate ESO.DET. keywords from 1st/2nd input header
00103  *
00104  * Revision 1.11  2006/06/13 11:57:02  jmlarsen
00105  * Check that calibration frames are from the same chip ID
00106  *
00107  * Revision 1.10  2006/06/07 13:06:28  jmlarsen
00108  * Changed doxygen tag addtogroup -> defgroup
00109  *
00110  * Revision 1.9  2006/06/07 09:01:28  amodigli
00111  * added some doc
00112  *
00113  * Revision 1.8  2006/05/08 15:42:16  amodigli
00114  * allow to specify order column label
00115  *
00116  * Revision 1.7  2006/04/20 10:47:39  amodigli
00117  * added qclog
00118  *
00119  * Revision 1.6  2006/04/07 07:11:12  jmlarsen
00120  * Minor doc. fix
00121  *
00122  * Revision 1.5  2006/04/06 09:48:15  amodigli
00123  * changed uves_frameset_insert interface to have QC log
00124  *
00125  * Revision 1.4  2006/04/06 08:42:19  jmlarsen
00126  * Changed indentation
00127  *
00128  * Revision 1.3  2006/03/03 13:54:11  jmlarsen
00129  * Changed syntax of check macro
00130  *
00131  * Revision 1.2  2006/02/28 09:15:22  jmlarsen
00132  * Minor update
00133  *
00134  * Revision 1.1  2006/02/03 07:46:30  jmlarsen
00135  * Moved recipe implementations to ./uves directory
00136  *
00137  * Revision 1.66  2006/01/25 10:09:18  jmlarsen
00138  * Added doxygen end marker
00139  *
00140  * Revision 1.65  2006/01/20 10:36:25  amodigli
00141  *
00142  * Fixed warings from doxigen
00143  *
00144  * Revision 1.64  2006/01/19 10:03:06  amodigli
00145  * Fixed leaks
00146  *
00147  * Revision 1.62  2006/01/16 13:52:58  jmlarsen
00148  * Removed memory leak
00149  *
00150  * Revision 1.61  2006/01/16 08:01:57  amodigli
00151  *
00152  * Added stability check
00153  *
00154  * Revision 1.60  2006/01/13 13:43:15  jmlarsen
00155  * Removed memory leak
00156  *
00157  * Revision 1.59  2006/01/13 09:54:42  amodigli
00158  * Fixed some bugs: improved agreement with MIDAS version
00159  *
00160  * Revision 1.58  2006/01/09 15:23:06  jmlarsen
00161  * Removed some warnings
00162  *
00163  * Revision 1.57  2006/01/09 14:05:42  amodigli
00164  * Fixed doxigen warnings
00165  *
00166  * Revision 1.56  2006/01/03 16:57:13  amodigli
00167  * Fixed bug
00168  *
00169  * Revision 1.55  2006/01/03 14:47:53  amodigli
00170  *
00171  * Added uves_physmod_chop_otab.h .c to match MIDAS
00172  *
00173  * Revision 1.54  2005/12/19 16:17:55  jmlarsen
00174  * Replaced bool -> int
00175  *
00176  */
00177 #ifdef HAVE_CONFIG_H
00178 #  include <config.h>
00179 #endif
00180 
00181 /*----------------------------------------------------------------------------*/
00189 /*----------------------------------------------------------------------------*/
00190 
00191 /*-----------------------------------------------------------------------------
00192                                 Includes
00193  -----------------------------------------------------------------------------*/
00194 
00195 #include <uves.h>
00196 #include <uves_physmod_body.h>
00197 #include <uves_recipe.h>
00198 #include <uves_error.h>
00199 
00200 #include <cpl.h>
00201 
00202 /*-----------------------------------------------------------------------------
00203                                 Defines
00204  -----------------------------------------------------------------------------*/
00205 /*-----------------------------------------------------------------------------
00206                             Functions prototypes
00207  ----------------------------------------------------------------------------*/
00208 static int uves_physmod_define_parameters(cpl_parameterlist *parameters);
00209 
00210 /*-----------------------------------------------------------------------------
00211                             Recipe standard code
00212  -----------------------------------------------------------------------------*/
00213 #define cpl_plugin_get_info uves_physmod_get_info
00214 UVES_RECIPE_DEFINE(
00215     UVES_PHYSMOD_ID, UVES_PHYSMOD_DOM, uves_physmod_define_parameters,
00216     "Andrea Modigliani", "cpl@eso.org",
00217     uves_physmod_desc_short,
00218     uves_physmod_desc);
00219 
00221 /*-----------------------------------------------------------------------------
00222                               Functions code
00223  -----------------------------------------------------------------------------*/
00224 /*----------------------------------------------------------------------------*/
00230 /*----------------------------------------------------------------------------*/
00231 static int
00232 uves_physmod_define_parameters(cpl_parameterlist *parameters)
00233 {
00234     return uves_physmod_define_parameters_body(parameters, make_str(UVES_PHYSMOD_ID));
00235 }
00236 
00237 /*----------------------------------------------------------------------------*/
00245 /*----------------------------------------------------------------------------*/
00246 static void
00247 UVES_CONCAT2X(UVES_PHYSMOD_ID,exe)(cpl_frameset *frames, 
00248                      const cpl_parameterlist *parameters,
00249                      const char *starttime)
00250 {
00251     bool flames = false;
00252     uves_physmod_exe_body(frames, flames, make_str(UVES_PHYSMOD_ID),
00253               parameters, starttime);
00254 }

Generated on 8 Mar 2011 for UVES Pipeline Reference Manual by  doxygen 1.6.1