SINFONI Pipeline Reference Manual  2.6.0
sinfo_lamp_cfg.h
1 /*
2  * This file is part of the ESO SINFONI Pipeline
3  * Copyright (C) 2004,2005 European Southern Observatory
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA
18  */
19 /*---------------------------------------------------------------------------
20  File name : sinfo_lamp_cfg.h
21  Author : Juergen Schreiber
22  Created on : March 2002
23  Description : lamp_ini definitions + handling prototypes
24  ---------------------------------------------------------------------------*/
25 #ifndef SINFO_LAMP_CFG_H
26 #define SINFO_LAMP_CFG_H
27 /*---------------------------------------------------------------------------
28  Includes
29  ---------------------------------------------------------------------------*/
30 #include <stdlib.h>
31 #include <cpl.h>
32 #include "sinfo_globals.h"
33 /*---------------------------------------------------------------------------
34  Defines
35  ---------------------------------------------------------------------------*/
36 /*---------------------------------------------------------------------------
37  New types
38  ---------------------------------------------------------------------------*/
39 /*
40  prepare lamp spectrum blackboard container
41 
42  This structure holds all information related to the halogen lamp
43  spectrum handling
44  routine. It is used as a container for the flux of ancillary data,
45  computed values, and algorithm status. Pixel flux is separated from
46  the blackboard.
47  */
48 
49 typedef struct lamp_config {
50 /*-------General---------*/
51  char inFrame[FILE_NAME_SZ] ; /* file name of the input halogen
52  lamp frame */
53  char wavemapim[FILE_NAME_SZ] ; /* file name of the wavelength map */
54  char outName[FILE_NAME_SZ] ; /* output name of resulting fits frame */
55 /*------ Resampling ------*/
56  /* number of coefficients for the polynomial interpolation
57  (order + 1) */
58  int ncoeffs ;
59  /* number of rows in the resulting resampled image =
60  number of spectral bins */
61  int nrows ;
62 /*------ Extractspectrum ------*/
63  /* percentage of rejected low intensity pixels */
64  float loReject ;
65  /* percentage of rejected high intensity pixels */
66  float hiReject ;
67  /* conversion factor of detector counts per intensity unit */
68  float countsToIntensity ;
69 } lamp_config ;
70 
71 /*---------------------------------------------------------------------------
72  Function prototypes
73  ---------------------------------------------------------------------------*/
81 lamp_config *
82 sinfo_lamp_cfg_create(void);
83 
91 void
92 sinfo_lamp_cfg_destroy(lamp_config * sc);
93 
94 #endif