r160: *** 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.28 2000/07/23 01:49:03 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_DMALLOC
45 #include <dmalloc.h>
46 #endif
47 #ifdef HAVE_PNG
48   #include "png.h"
49 #endif
50 #ifdef HAVE_G2_H
51 extern "C" { 
52 #include "g2.h" 
53 }
54 #ifdef HAVE_X11
55 extern "C" {
56 #include "g2_X11.h"
57 }
58 #endif
59 #endif
60 #ifdef HAVE_STDIO_H
61 #include <stdio.h>
62 #endif
63 #ifdef HAVE_STRING_H
64 #include <string.h>
65 #endif
66 #ifdef HAVE_STDDEF_H
67 #include <stddef.h>
68 #endif
69 #ifdef HAVE_STDLIB_H
70 #include <stdlib.h>
71 #endif
72 #ifdef HAVE_STDARG_H
73 #include <stdarg.h>
74 #endif
75 #ifdef  HAVE_SYS_TYPES_H
76 #include <sys/types.h>
77 #endif
78 #ifdef HAVE_SYS_STAT_H
79 #include <sys/stat.h>
80 #endif
81 #ifdef HAVE_CTYPE_H
82 #include <ctype.h>
83 #endif
84 #ifdef HAVE_MATH_H
85 #include <math.h>
86 #endif
87 #ifdef HAVE_SYS_FCNTL_H
88 #include <sys/fcntl.h>
89 #endif
90 #ifdef HAVE_FCNTL_H
91 #include <fcntl.h>
92 #endif
93 #if defined(HAVE_GETOPT_H) || defined(HAVE_GETOPT_LONG)
94 #include <getopt.h>
95 #endif
96 #ifdef HAVE_UNISTD_H
97 #include <unistd.h>
98 #endif
99 #ifdef HAVE_SETJMP_H
100 #include <setjmp.h>
101 #endif
102 #ifdef HAVE_SYS_PARAM_H
103 #include <sys/param.h>          /* for htonl on FreeBSD */
104 #endif
105 #ifdef HAVE_NETINET_IN_H
106 #include <netinet/in.h>         /* for htonl on Linux/Solaris */
107 #endif
108 #ifdef HAVE_INTTYPES_H
109 #include <inttypes.h>           /* for htonl on Solaris */
110 #endif
111 #ifdef HAVE_STDINT_H
112 #include <stdint.h>             /* Standard ints on Linux */
113 #endif
114 #ifdef HAVE_ASSERT_H
115 #include <assert.h>
116 #endif
117
118 #ifdef HAVE_FFTW
119 #include <rfftw.h>
120 #include <fftw.h>
121 #endif
122
123 #include <fstream>
124 #include <iostream>
125 #include <sstream>
126 #include <string>
127 #include <iterator>
128 #include <algorithm>
129 #include <exception>
130 #include <stdexcept>
131 #include <memory>
132 #include <complex>
133
134 using namespace std;
135
136 #ifdef HAVE_MPI
137 #include "mpi++.h"
138 #include "mpiworld.h"
139 #endif
140
141 #include "ctsupport.h"
142 #include "fnetorderstream.h"
143
144 #ifdef HAVE_SGP
145   #include "ezplot.h"
146   #include "sgp.h"
147 #endif
148
149 #include "array2d.h"
150 #include "array2dfile.h"
151 #include "fnetorderstream.h"
152 #include "imagefile.h"
153 #include "phantom.h"
154 #include "scanner.h"
155 #include "backprojectors.h"
156 #include "filter.h"
157 #include "projections.h"
158 #include "trace.h"
159
160
161 #endif
162