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: jmlarsen $ 00022 * $Date: 2007/06/11 13:28:26 $ 00023 * $Revision: 1.41 $ 00024 * $Name: uves-3_4_5 $ 00025 * $Log: uves_scired_impl.c,v $ 00026 * Revision 1.41 2007/06/11 13:28:26 jmlarsen 00027 * Changed recipe contact address to cpl at eso.org 00028 * 00029 * Revision 1.40 2007/06/08 13:06:16 jmlarsen 00030 * Send bug reports to Andrea 00031 * 00032 * Revision 1.39 2007/06/06 08:17:33 amodigli 00033 * replace tab with 4 spaces 00034 * 00035 * Revision 1.38 2007/02/09 13:44:15 jmlarsen 00036 * Moved code to reduce_scired to enable calling from uves_obs_spatred 00037 * 00038 * Revision 1.37 2006/11/06 15:19:42 jmlarsen 00039 * Removed unused include directives 00040 * 00041 * Revision 1.36 2006/10/17 12:33:02 jmlarsen 00042 * Added semicolon at UVES_RECIPE_DEFINE invocation 00043 * 00044 * Revision 1.35 2006/10/09 13:01:13 jmlarsen 00045 * Use macro to define recipe interface functions 00046 * 00047 * Revision 1.34 2006/09/27 15:08:45 jmlarsen 00048 * Fixed doc. bug 00049 * 00050 * Revision 1.33 2006/09/27 13:19:00 jmlarsen 00051 * Factored out scired body to enable calling it from other recipes 00052 * 00053 * Revision 1.32 2006/09/20 15:42:18 jmlarsen 00054 * Implemented MASTER_RESPONSE support 00055 * 00056 * Revision 1.31 2006/09/20 12:53:57 jmlarsen 00057 * Replaced stringcat functions with uves_sprintf() 00058 * 00059 * Revision 1.30 2006/09/20 07:26:43 jmlarsen 00060 * Shortened max line length 00061 * 00062 * Revision 1.29 2006/09/19 14:25:26 jmlarsen 00063 * Propagate FITS keywords from master flat, not science, to WCALIB_FLAT_OBJ 00064 * 00065 * Revision 1.28 2006/09/19 06:55:31 jmlarsen 00066 * Changed interface of uves_frameset to optionally write image statistics kewwords 00067 * 00068 * Revision 1.27 2006/09/06 14:47:05 jmlarsen 00069 * Added commented out code to skip one chip 00070 * 00071 * Revision 1.26 2006/08/24 11:36:37 jmlarsen 00072 * Write recipe start/stop time to header 00073 * 00074 * Revision 1.25 2006/08/22 15:13:15 amodigli 00075 * fix typo 00076 * 00077 * Revision 1.24 2006/08/22 14:18:59 amodigli 00078 * new format for SCI QC key 00079 * 00080 * Revision 1.23 2006/08/18 13:35:42 jmlarsen 00081 * Fixed/changed QC parameter formats 00082 * 00083 * Revision 1.22 2006/08/17 13:56:53 jmlarsen 00084 * Reduced max line length 00085 * 00086 * Revision 1.21 2006/08/17 09:19:19 jmlarsen 00087 * Removed CPL2 code 00088 * 00089 * Revision 1.20 2006/08/11 14:56:05 amodigli 00090 * removed Doxygen warnings 00091 * 00092 * Revision 1.19 2006/08/11 09:00:21 jmlarsen 00093 * Take into account the different meanings of line table 'Y' column 00094 * 00095 * Revision 1.18 2006/08/10 12:35:15 amodigli 00096 * added QC log 00097 * 00098 * Revision 1.17 2006/08/07 14:42:02 jmlarsen 00099 * Implemented on-the-fly correction of a line table when its order numbering 00100 * is inconsistent with the order table (DFS02694) 00101 * 00102 * Revision 1.16 2006/07/14 12:30:34 jmlarsen 00103 * Compute PRO CATG depending on DO CATG 00104 * 00105 * Revision 1.15 2006/07/03 12:46:34 amodigli 00106 * updated description 00107 * 00108 * Revision 1.14 2006/06/16 08:25:45 jmlarsen 00109 * Manually propagate ESO.DET. keywords from 1st/2nd input header 00110 * 00111 * Revision 1.13 2006/06/13 11:57:02 jmlarsen 00112 * Check that calibration frames are from the same chip ID 00113 * 00114 * Revision 1.12 2006/06/06 08:40:10 jmlarsen 00115 * Shortened max line length 00116 * 00117 * Revision 1.11 2006/05/16 12:13:07 amodigli 00118 * added QC log 00119 * 00120 * Revision 1.10 2006/05/12 15:11:15 jmlarsen 00121 * Implemented bad pixel propagation for flux calibration 00122 * 00123 * Revision 1.9 2006/04/24 09:25:34 jmlarsen 00124 * Use FITS convention for coordinates in QC calculation 00125 * 00126 * Revision 1.8 2006/04/20 10:47:39 amodigli 00127 * added qclog 00128 * 00129 * Revision 1.7 2006/04/06 09:48:15 amodigli 00130 * changed uves_frameset_insert interface to have QC log 00131 * 00132 * Revision 1.6 2006/04/06 08:51:04 jmlarsen 00133 * Added flux-calibrated science products 00134 * 00135 * Revision 1.5 2006/03/24 14:46:39 jmlarsen 00136 * Doc. bugfix 00137 * 00138 * Revision 1.4 2006/03/24 13:51:50 jmlarsen 00139 * Changed meaning of VARIANCE_SCIENCE to match MIDAS 00140 * 00141 * Revision 1.3 2006/03/06 09:22:43 jmlarsen 00142 * Added support for reading MIDAS line tables with MIDAS tags 00143 * 00144 * Revision 1.2 2006/03/03 13:54:11 jmlarsen 00145 * Changed syntax of check macro 00146 * 00147 * Revision 1.1 2006/02/03 07:51:04 jmlarsen 00148 * Moved recipe implementations to ./uves directory 00149 * 00150 * Revision 1.48 2006/01/19 08:47:24 jmlarsen 00151 * Inserted missing doxygen end tag 00152 * 00153 * Revision 1.47 2005/12/20 16:10:32 jmlarsen 00154 * Added some documentation 00155 * 00156 * Revision 1.46 2005/12/20 10:33:20 jmlarsen 00157 * Added some doxygen doc. 00158 * 00159 * Revision 1.45 2005/12/19 16:17:55 jmlarsen 00160 * Replaced bool -> int 00161 * 00162 */ 00163 #ifdef HAVE_CONFIG_H 00164 # include <config.h> 00165 #endif 00166 00167 /*----------------------------------------------------------------------------*/ 00174 /*----------------------------------------------------------------------------*/ 00175 00176 /*----------------------------------------------------------------------------- 00177 Includes 00178 -----------------------------------------------------------------------------*/ 00179 00180 #include <uves_reduce_scired.h> 00181 #include <uves_parameters.h> 00182 #include <uves_recipe.h> 00183 #include <uves.h> 00184 #include <uves_error.h> 00185 #include <uves_msg.h> 00186 00187 #include <cpl.h> 00188 00189 /*----------------------------------------------------------------------------- 00190 Functions prototypes 00191 -----------------------------------------------------------------------------*/ 00192 static int 00193 uves_scired_define_parameters(cpl_parameterlist *parameters); 00194 00195 /*----------------------------------------------------------------------------- 00196 Recipe standard code 00197 -----------------------------------------------------------------------------*/ 00198 #define cpl_plugin_get_info uves_scired_get_info 00199 UVES_RECIPE_DEFINE( 00200 UVES_SCIRED_ID, UVES_SCIRED_DOM, uves_scired_define_parameters, 00201 "Jonas M. Larsen", "cpl@eso.org", 00202 uves_scired_desc_short, 00203 uves_scired_desc); 00204 00206 /*----------------------------------------------------------------------------- 00207 Functions code 00208 -----------------------------------------------------------------------------*/ 00209 00210 /*----------------------------------------------------------------------------*/ 00216 /*----------------------------------------------------------------------------*/ 00217 static int 00218 uves_scired_define_parameters(cpl_parameterlist *parameters) 00219 { 00220 return uves_scired_define_parameters_body(parameters, make_str(UVES_SCIRED_ID)); 00221 } 00222 00223 /*----------------------------------------------------------------------------*/ 00230 /*----------------------------------------------------------------------------*/ 00231 static void 00232 IRPLIB_CONCAT2X(UVES_SCIRED_ID,exe)(cpl_frameset *frames, 00233 const cpl_parameterlist *parameters, 00234 const char *starttime) 00235 { 00236 /* Do science reduction while pretending to be 'make_str(UVES_SCIRED_ID)' */ 00237 uves_reduce_scired(frames, parameters, make_str(UVES_SCIRED_ID), starttime); 00238 00239 return; 00240 } 00241 00242
1.5.1