X-shooter Pipeline Reference Manual 3.8.15
xsh_data_linetilt.h
Go to the documentation of this file.
1/* *
2 * This file is part of the ESO X-shooter Pipeline *
3 * Copyright (C) 2006 European Southern Observatory *
4 * *
5 * This library 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/*
21 * $Author: rhaigron $
22 * $Date: 2010-09-09 13:04:39 $
23 * $Revision: 1.18 $
24 */
25
26
27#ifndef XSH_DATA_LINETILT_H
28#define XSH_DATA_LINETILT_H 1.2
29
30#include <cpl.h>
31
32
33#define XSH_LINETILT_TABLE_NB_COL 15
34
35#define XSH_LINETILT_TABLE_COLNAME_WAVELENGTH "WAVELENGTH"
36#define XSH_LINETILT_TABLE_UNIT_WAVELENGTH "none"
37
38#define XSH_LINETILT_TABLE_COLNAME_NAME "NAME"
39#define XSH_LINETILT_TABLE_UNIT_NAME "none"
40
41#define XSH_LINETILT_TABLE_COLNAME_ORDER "ORDER"
42#define XSH_LINETILT_TABLE_UNIT_ORDER "none"
43
44#define XSH_LINETILT_TABLE_COLNAME_FLUX "Flux"
45#define XSH_LINETILT_TABLE_UNIT_FLUX "ADU"
46
47#define XSH_LINETILT_TABLE_COLNAME_INTENSITY "Intensity"
48#define XSH_LINETILT_TABLE_UNIT_INTENSITY "ADU"
49
50#define XSH_LINETILT_TABLE_COLNAME_CENPOSX "Xcen"
51#define XSH_LINETILT_TABLE_UNIT_CENPOSX "pixel"
52
53#define XSH_LINETILT_TABLE_COLNAME_CENPOSY "Ycen"
54#define XSH_LINETILT_TABLE_UNIT_CENPOSY "pixel"
55
56#define XSH_LINETILT_TABLE_COLNAME_GAUSSY "YGauss"
57#define XSH_LINETILT_TABLE_UNIT_GAUSSY "pixel"
58
59#define XSH_LINETILT_TABLE_COLNAME_TILTY "Ytilt"
60#define XSH_LINETILT_TABLE_UNIT_TILTY "pixel"
61
62#define XSH_LINETILT_TABLE_COLNAME_FWHM "FWHM"
63#define XSH_LINETILT_TABLE_UNIT_FWHM "pixel"
64
65#define XSH_LINETILT_TABLE_COLNAME_SHIFTY "SHIFT_Y"
66#define XSH_LINETILT_TABLE_UNIT_SHIFTY "pixel"
67
68#define XSH_LINETILT_TABLE_COLNAME_TILT "TILT"
69#define XSH_LINETILT_TABLE_UNIT_TILT "none"
70
71#define XSH_LINETILT_TABLE_COLNAME_CHISQ "chisq"
72#define XSH_LINETILT_TABLE_UNIT_CHISQ "none"
73
74#define XSH_LINETILT_TABLE_COLNAME_SPECRES "SPECRES"
75#define XSH_LINETILT_TABLE_UNIT_SPECRES "none"
76
77#define XSH_LINETILT_TABLE_COLNAME_FLAG "FLAG"
78#define XSH_LINETILT_TABLE_UNIT_FLAG "none"
79
80typedef struct{
81 /* wavelength of arc line */
83 /* name of arc line*/
84 char* name;
85 int order ;
86 double cenposx ;
87 double cenposy ;
88 double pre_pos_y ;
89 double tilt_y;
90 double shift_y;
91 double deltay ;
92 double slit ;
94 double tilt ;
95 double chisq ;
96 double xmin,
98 double specres ;
99 double area ;
100 double intensity;
101 int ntot ;
102 int ngood ;
103 int flag ;
104} xsh_linetilt ;
105
106
107typedef struct{
108 int size;
111 cpl_propertylist* header;
113
115 cpl_propertylist * header ) ;
118void xsh_linetilt_free( xsh_linetilt ** tilt) ;
120 xsh_linetilt * line, int idx ) ;
121cpl_frame * xsh_linetilt_list_save( xsh_linetilt_list * list,
123 const char * filename,
124 const char* tag,
125 const double kappa,
126 const int niter,float exptime) ;
127
137cpl_propertylist * xsh_linetilt_list_get_header( xsh_linetilt_list * list) ;
138int xsh_linetilt_is_duplicate( xsh_linetilt_list * list, float lambda,
139 int order ) ;
140
141#endif /* XSH_DATA_LINETILT_H */
static double exptime
static xsh_instrument * instrument
double * xsh_linetilt_list_get_sigma_y(xsh_linetilt_list *list)
get the Y sigma. The returned array must be deallocated by the caller.
double * xsh_linetilt_list_get_slits(xsh_linetilt_list *list)
get the slits . The returned array must be deallocated by the caller.
void xsh_linetilt_list_free(xsh_linetilt_list **list)
free memory associated to a arclist
int xsh_linetilt_is_duplicate(xsh_linetilt_list *list, float lambda, int order)
double * xsh_linetilt_list_get_wavelengths(xsh_linetilt_list *list)
get the wavelength . The returned array must be deallocated by the caller.
xsh_linetilt * xsh_linetilt_new(void)
void xsh_linetilt_list_add(xsh_linetilt_list *list, xsh_linetilt *line, int idx)
int * xsh_linetilt_list_get_slit_index(xsh_linetilt_list *list)
get the slit_index array . The returned array must be deallocated by the caller.
cpl_propertylist * xsh_linetilt_list_get_header(xsh_linetilt_list *list)
double * xsh_linetilt_list_get_posx(xsh_linetilt_list *list)
get the X central positions. The returned array must be deallocated by the caller.
xsh_linetilt_list * xsh_linetilt_list_new(int size, cpl_propertylist *header)
cpl_frame * xsh_linetilt_list_save(xsh_linetilt_list *list, xsh_instrument *instrument, const char *filename, const char *tag, const double kappa, const int niter, float exptime)
save a (ks clip clean) linetilt list to a frame
void xsh_linetilt_free(xsh_linetilt **tilt)
free memory associated to a linetilt
double * xsh_linetilt_list_get_orders(xsh_linetilt_list *list)
get the orders . The returned array must be deallocated by the caller.
double * xsh_linetilt_list_get_deltay(xsh_linetilt_list *list)
get the Y Delta. The returned array must be deallocated by the caller.
double * xsh_linetilt_list_get_pre_posy(xsh_linetilt_list *list)
get the previous Y positions. The returned array must be deallocated by the caller.
double * xsh_linetilt_list_get_posy(xsh_linetilt_list *list)
get the Y central positions. The returned array must be deallocated by the caller.
int size
xsh_linetilt ** list
cpl_propertylist * header
double kappa
Definition: xsh_detmon_lg.c:81
int niter
Definition: xsh_detmon_lg.c:82
int order
Definition: xsh_detmon_lg.c:80