CRIRES Pipeline Reference Manual  2.3.15
crires_recipe.h
1 /* $Id: crires_recipe.h,v 1.9 2012-01-16 09:29:23 yjung Exp $
2  *
3  * This file is part of the CRIRES Pipeline
4  * Copyright (C) 2002,2003 European Southern Observatory
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA
19  */
20 
21 /*
22  * $Author: yjung $
23  * $Date: 2012-01-16 09:29:23 $
24  * $Revision: 1.9 $
25  * $Name: not supported by cvs2svn $
26  */
27 
28 /* cpp macros that must be defined before inclusion:
29 
30  RECIPE_NAME: e.g. crires_spec_jitter
31  RECIPE_STRING: e.g. "crires_spec_jitter"
32  RECIPE_SYNOPSIS: String with the recipe synopsis
33  RECIPE_DESCRIPTION: String with the recipe descrption
34  Optionally:
35  RECIPE_PARAMS: Binary or of parameter enums
36 
37 */
38 
39 
40 #ifndef CRIRES_RECIPE_H
41 #define CRIRES_RECIPE_H
42 
43 /*-----------------------------------------------------------------------------
44  Includes
45  -----------------------------------------------------------------------------*/
46 
47 #include <math.h>
48 #include <assert.h>
49 #include <float.h>
50 #include <string.h>
51 
52 #include <cpl.h>
53 
54 #include "irplib_plugin.h"
55 
56 #include "crires_parameter.h"
57 #include "crires_utils.h"
58 #include "crires_load.h"
59 #include "crires_pfits.h"
60 #include "crires_dfs.h"
61 
62 /*-----------------------------------------------------------------------------
63  Defines
64  -----------------------------------------------------------------------------*/
65 
66 #define crires_pipe_id PACKAGE "/" PACKAGE_VERSION
67 
68 #define CRIRES_RECIPE_DEFINE(RECIPE_NAME, RECIPE_PARAMS, SYNOPSIS, DESCRIPTION) \
69  cpl_recipe_define(RECIPE_NAME, CRIRES_BINARY_VERSION, \
70  "Yves Jung", PACKAGE_BUGREPORT, "2002 - 2012", \
71  SYNOPSIS, DESCRIPTION); \
72  \
73  static cpl_error_code CPL_CONCAT2X(RECIPE_NAME,fill_parameterlist) \
74  (cpl_parameterlist * self) { \
75  return crires_parameter_set(self, #RECIPE_NAME, RECIPE_PARAMS) \
76  ? cpl_error_set_where(cpl_func) : CPL_ERROR_NONE; \
77  } \
78  extern int CPL_CONCAT2X(RECIPE_NAME,plugin_end)
79 
80 #endif