r93: *** empty log message ***
[ctsim.git] / include / ct.h
1 /*****************************************************************************
2 ** FILE IDENTIFICATION
3 **
4 **   Name:          ct.h
5 **   Purpose:       Master header file for CTSim
6 **   Programmer:    Kevin Rosenberg
7 **   Date Started:  Aug 1984
8 **
9 **  This is part of the CTSim program
10 **  Copyright (C) 1983-2000 Kevin Rosenberg
11 **
12 **  $Id: ct.h,v 1.13 2000/06/10 23:00:17 kevin Exp $
13 **
14 **  This program is free software; you can redistribute it and/or modify
15 **  it under the terms of the GNU General Public License (version 2) as
16 **  published by the Free Software Foundation.
17 **
18 **  This program is distributed in the hope that it will be useful,
19 **  but WITHOUT ANY WARRANTY; without even the implied warranty of
20 **  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21 **  GNU General Public License for more details.
22 **
23 **  You should have received a copy of the GNU General Public License
24 **  along with this program; if not, write to the Free Software
25 **  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26 ******************************************************************************/
27
28 #ifndef CT_H
29 #define CT_H
30
31 #ifdef _WIN32
32   typedef long off_t;
33   #define HAVE_STRING_H 1
34   #include <fcntl.h>
35   #define snprintf _snprintf
36   #define vsnprintf _vsnprintf
37   #define strcasecmp stricmp
38   #define strncasecmp strnicmp
39 #endif
40
41 #ifdef HAVE_CONFIG_H
42   #include <config.h>
43 #endif
44 #ifdef HAVE_PNG
45   #include "png.h"
46 #endif
47 #ifdef HAVE_G2_H
48   #ifdef __cplusplus
49   extern "C" { 
50     #include "g2.h" 
51   }
52   #else
53   #include "g2.h"
54   #endif
55   #ifdef HAVE_X11
56     #ifdef __cplusplus
57       extern "C" {
58         #include "g2_X11.h"
59       }
60     #else
61         #include "g2_X11.h"
62     #endif
63   #endif
64 #endif
65 #ifdef HAVE_STDIO_H
66 #include <stdio.h>
67 #endif
68 #ifdef HAVE_STRING_H
69 #include <string.h>
70 #endif
71 #ifdef HAVE_STDDEF_H
72 #include <stddef.h>
73 #endif
74 #ifdef HAVE_STDLIB_H
75 #include <stdlib.h>
76 #endif
77 #ifdef HAVE_STDARG_H
78 #include <stdarg.h>
79 #endif
80 #ifdef  HAVE_SYS_TYPES_H
81 #include <sys/types.h>
82 #endif
83 #ifdef HAVE_SYS_STAT_H
84 #include <sys/stat.h>
85 #endif
86 #ifdef HAVE_CTYPE_H
87 #include <ctype.h>
88 #endif
89 #ifdef HAVE_MATH_H
90 #include <math.h>
91 #endif
92 #ifdef HAVE_SYS_FCNTL_H
93 #include <sys/fcntl.h>
94 #endif
95 #ifdef HAVE_FCNTL_H
96 #include <fcntl.h>
97 #endif
98 #if defined(HAVE_GETOPT_H) || defined(HAVE_GETOPT_LONG)
99 #include <getopt.h>
100 #endif
101 #ifdef HAVE_UNISTD_H
102 #include <unistd.h>
103 #endif
104 #ifdef HAVE_SETJMP_H
105 #include <setjmp.h>
106 #endif
107 #ifdef HAVE_SYS_PARAM_H
108 #include <sys/param.h>          /* for htonl on FreeBSD */
109 #endif
110 #ifdef HAVE_NETINET_IN_H
111 #include <netinet/in.h>         /* for htonl on Linux/Solaris */
112 #endif
113 #ifdef HAVE_INTTYPES_H
114 #include <inttypes.h>           /* for htonl on Solaris */
115 #endif
116 #ifdef HAVE_STDINT_H
117 #include <stdint.h>             /* Standard ints on Linux */
118 #endif
119
120 #ifdef HAVE_MPI
121 #include "mpi++.h"
122 #include "mpiworld.h"
123 #endif
124
125 #include "kstddef.h"
126 #include "kmath.h"
127 #include "keyboard.h"
128 #include "cio.h"
129
130 #ifdef HAVE_SGP
131   #include "ezplot.h"
132   #include "sgp.h"
133 #endif
134
135 #include <iostream>
136 #include <string>
137
138 using namespace std;
139
140 #include "array2d.h"
141 #include "imagefile.h"
142 #include "ir.h"
143 #include "backprojectors.h"
144
145
146 #endif
147