CRIRES Pipeline Reference Manual 2.3.18
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