GIRAFFE Pipeline Reference Manual

gislitgeometry.h

00001 /* $Id: gislitgeometry.h,v 1.8 2007/03/12 12:53:23 rpalsa Exp $
00002  *
00003  * This file is part of the GIRAFFE Pipeline
00004  * Copyright (C) 2002-2006 European Southern Observatory
00005  *
00006  * This program is free software; you can redistribute it and/or modify
00007  * it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation; either version 2 of the License, or
00009  * (at your option) any later version.
00010  *
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00019  */
00020 
00021 /*
00022  * $Author: rpalsa $
00023  * $Date: 2007/03/12 12:53:23 $
00024  * $Revision: 1.8 $
00025  * $Name: giraffe-2_8_8 $
00026  */
00027 
00028 #ifndef GISLITGEOMETRY_H
00029 #define GISLITGEOMETRY_H
00030 
00031 #include <cxmacros.h>
00032 #include <cxtypes.h>
00033 #include <cxstring.h>
00034 
00035 #include <gitable.h>
00036 
00037 
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041 
00042 
00052 struct GiSlitGeometry {
00053 
00054     cpl_matrix *fps;
00055     cpl_matrix *rindex;
00056 
00057     cpl_matrix *xf;
00058     cpl_matrix *yf;
00059 
00063     cxint nsubslits;
00064 
00071     cpl_matrix **subslits;
00072 
00073 };
00074 
00075 typedef struct GiSlitGeometry GiSlitGeometry;
00076 
00077 
00078 GiSlitGeometry *giraffe_slitgeometry_new(void);
00079 GiSlitGeometry *giraffe_slitgeometry_create(GiTable *, cxbool);
00080 GiSlitGeometry *giraffe_slitgeometry_duplicate(GiSlitGeometry *);
00081 void giraffe_slitgeometry_delete(GiSlitGeometry *);
00082 
00083 cxint giraffe_slitgeometry_size(GiSlitGeometry *);
00084 void giraffe_slitgeometry_resize(GiSlitGeometry *, cxint);
00085 
00086 void giraffe_slitgeometry_set(GiSlitGeometry *, cxint, cpl_matrix *);
00087 cpl_matrix* giraffe_slitgeometry_get(GiSlitGeometry *, cxint);
00088 void giraffe_slitgeometry_print(GiSlitGeometry *);
00089 
00090 
00091 GiTable *giraffe_slitgeometry_load(const GiTable *fibers,
00092                                    const cxchar *filename, cxint pos,
00093                                    const cxchar *tag);
00094 cpl_frame *giraffe_slitgeometry_save(const GiTable *slitgeometry);
00095 
00096 
00097 #ifdef __cplusplus
00098 }
00099 #endif
00100 
00101 #endif /* GISLITGEOMETRY_H */

This file is part of the GIRAFFE Pipeline Reference Manual 2.8.8.
Documentation copyright © 2002-2006 European Southern Observatory.
Generated on Fri Mar 4 10:50:28 2011 by doxygen 1.6.3 written by Dimitri van Heesch, © 1997-2004