sinfo_local_types.h

00001 /*
00002  * This file is part of the ESO SINFONI Pipeline
00003  * Copyright (C) 2004,2005 European Southern Observatory
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License as published by
00007  * the Free Software Foundation; either version 2 of the License, or
00008  * (at your option) any later version.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program; if not, write to the Free Software
00017  * Foundation, 51 Franklin St, Fifth Floor, Boston, MA  02111-1307  USA
00018  */
00019 /*----------------------------------------------------------------------------
00020    
00021    File name     :    sinfo_local_types.h
00022    Author         :    Nicolas Devillard
00023    Created on    :    Nov 27, 1995
00024    Description    :    all shared local types for eclipse
00025 
00026  ---------------------------------------------------------------------------*/
00027 /*---------------------------------------------------------------------------
00028     PUBLIC NOTICE AS REQUIRED BY LAW: Any use of this product, in any
00029     manner whatsoever, will increase the amount of disorder in the
00030     universe. Although no liability is implied herein, the consumer is
00031     warned that this process will ultimately lead to the heat death of the
00032     universe.
00033  ---------------------------------------------------------------------------*/
00034 /*
00035     $Id: sinfo_local_types.h,v 1.4 2007/06/06 07:10:45 amodigli Exp $
00036     $Author: amodigli $
00037     $Date: 2007/06/06 07:10:45 $
00038     $Revision: 1.4 $
00039  */
00040 
00041 #ifndef SINFO_LOCAL_TYPES_H
00042 #define SINFO_LOCAL_TYPES_H
00043 /*----------------------------------------------------------------------------
00044                                    Includes
00045  *--------------------------------------------------------------------------*/
00046 /*----------------------------------------------------------------------------
00047                                    Defines
00048  *--------------------------------------------------------------------------*/
00049 
00050 /*----------------------------------------------------------------------------
00051                                    New types
00052  ---------------------------------------------------------------------------*/
00053 /*
00054  * These types are defined for portability issues
00055  * On DEC-Alpha stations, long is 64 bits, but int is 32
00056  * We have to redefine all int values accordingly to ensure
00057  * portability!
00058  */
00059 
00060 #ifdef _DEC_ALPHA
00061 typedef unsigned int ulong32 ;
00062 typedef int long32 ;
00063 #else
00064 typedef unsigned long ulong32 ;
00065 typedef long long32 ;
00066 #endif
00067 
00068 typedef unsigned short ushort16 ;
00069 typedef short short16 ;
00070 
00071 typedef unsigned char uchar8 ;
00072 typedef char char8 ;
00073  
00074 typedef unsigned char BYTE ;
00075 
00076 /* defined in limits.h, redefined here for portability  */
00077 
00078 #define LONG32_MIN  (long32)(-2147483647-1) 
00079 #define LONG32_MAX  (long32)(2147483647)
00080 #define ULONG32_MAX (ulong32)(4294967295)
00081 
00082 #define SHRT16_MIN  (short16)(-32768)
00083 #define SHRT16_MAX  (short16)(32767)
00084 #define USHRT16_MAX (ushort16)(65535)
00085 
00086 typedef struct _DOUBLE_COMPLEX_ {
00087     double x, y ;
00088 } dcomplex ;
00089 
00090 /*--------------------------------------------------------------------------*/
00091 /* pixelvalue is the internal Pixel representation  */
00092 
00093 #ifdef DOUBLEPIX
00094 typedef double    pixelvalue ;
00095 #else
00096 typedef float    pixelvalue ;
00097 #endif
00098 
00099 
00100 
00101 /*
00102  * dpoint: useful to store point coordinates in double precision
00103  */
00104 
00105 typedef struct _DPOINT_ {
00106     double x ;
00107     double y ;
00108 } dpoint ;
00109 
00110 
00111 
00112 
00113 /*--------------------------------------------------------------------------*/
00114 /* Pixel map */
00115 
00116 
00117 typedef uchar8 binpix ;
00118 
00119 typedef struct _PIXEL_MAP_
00120 {
00121     int            lx, ly ;
00122     int            nbpix ;
00123     int            ngoodpix ;
00124     binpix    *    data ;
00125 } pixel_map ;
00126 
00127 
00128 #define NullMap (pixel_map*)NULL
00129 
00130 
00131 #endif 

Generated on 8 Mar 2011 for SINFONI Pipeline Reference Manual by  doxygen 1.6.1