CASToR  2.0
Tomographic Reconstruction (PET/SPECT/CT)
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
gVariables.hh
Go to the documentation of this file.
1 /*
2 This file is part of CASToR.
3 
4  CASToR is free software: you can redistribute it and/or modify it under the
5  terms of the GNU General Public License as published by the Free Software
6  Foundation, either version 3 of the License, or (at your option) any later
7  version.
8 
9  CASToR is distributed in the hope that it will be useful, but WITHOUT ANY
10  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12  details.
13 
14  You should have received a copy of the GNU General Public License along with
15  CASToR (in file GNU_GPL.TXT). If not, see <http://www.gnu.org/licenses/>.
16 
17 Copyright 2017-2018 all CASToR contributors listed below:
18 
19  --> current contributors: Thibaut MERLIN, Simon STUTE, Didier BENOIT, Claude COMTAT, Marina FILIPOVIC, Mael MILLARDET
20  --> past contributors: Valentin VIELZEUF
21 
22 This is CASToR version 2.0.
23 */
24 
33 #ifndef GVARIABLES_HH
34 #define GVARIABLES_HH 1
35 
36 // All includes
37 #include <iostream>
38 #include <fstream>
39 #include <sstream>
40 #include <cstdio>
41 #include <cstdlib>
42 #include <cstring>
43 #include <stdint.h>
44 #include <string>
45 #include <cmath>
46 #include <ctime>
47 #include <map>
48 #include <stdexcept>
49 #include <vector>
50 #include <algorithm>
51 #include <sys/stat.h>
52 #include <random>
53 #include <cfloat>
54 #include <chrono>
55 #include <iomanip>
56 #ifdef CASTOR_OMP
57 #include <omp.h>
58 #endif
59 #ifdef CASTOR_MPI
60 #include <mpi.h>
61 #endif
62 #ifdef _WIN32
63 #include <windows.h>
64 #endif
65 
66 // The std namespace is used throughout the whole project
67 using namespace std;
68 
69 // The current CASToR version
70 #define CASTOR_VERSION "2.0"
71 
81 #define FLTNB float
82 
83 #define HPFLTNB double
84 
85 #define FLTNBMPI MPI_FLOAT
86 
87 #define FLTNBDATA float
88 
89 #define FLTNBLUT float
90 
91 //#define INTNB int64_t
92 #define INTNB int
93 
97 #define EXIT_DEBUG 10
98 
100 #define TWO_SQRT_TWO_LN_2 2.354820045
101 
103 #define INV_SQRT_2_PI 0.398942280
104 
106 #define SPEED_OF_LIGHT 0.299792458
107 
108 #ifdef _WIN32
109 #define M_PI 3.141592654
110 #endif
111 
112 #endif