Logo Coherent WaveBurst  
Reference Guide
Logo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
wat.hh
Go to the documentation of this file.
1 #ifndef WAT_HH
2 #define WAT_HH
3 
4 const int NIFO_MAX=8;
5 const int NRES_MAX=12;
6 
7 namespace WAT {
8 
9 // return if HEALPix is enabled/disabled
10 #ifdef _USE_HEALPIX
11 inline bool USE_HEALPIX() {return true;}
12 #else
13 inline bool USE_HEALPIX() {return false;}
14 #endif
15 
16 // return if LAL is enabled/disabled
17 #ifdef _USE_LAL
18 inline bool USE_LAL() {return true;}
19 #else
20 inline bool USE_LAL() {return false;}
21 #endif
22 
23 // return if EBBH is enabled/disabled
24 #ifdef _USE_EBBH
25 inline bool USE_EBBH() {return true;}
26 #else
27 inline bool USE_EBBH() {return false;}
28 #endif
29 
30 // return if ROOT6 is enabled/disabled
31 #ifdef _USE_ROOT6
32 inline bool USE_ROOT6() {return true;}
33 #else
34 inline bool USE_ROOT6() {return false;}
35 #endif
36 
37 // return if CPP11 is enabled/disabled
38 #ifdef _USE_CPP11
39 inline bool USE_CPP11() {return true;}
40 #else
41 inline bool USE_CPP11() {return false;}
42 #endif
43 
44 // return if ICC is enabled/disabled
45 #ifdef _USE_ICC
46 inline bool USE_ICC() {return true;}
47 #else
48 inline bool USE_ICC() {return false;}
49 #endif
50 
51 } // end namespace
52 
53 #define _ALIGNED __attribute__((aligned(32)))
54 
55 #if XIFO < 5
56 #define NIFO 4
57 #endif
58 
59 #if XIFO > 4
60 #define NIFO 8
61 #endif
62 
63 #if XIFO < 5
64 #define _NET(P1,P2) \
65 P1
66 #endif
67 
68 #if XIFO > 4
69 #define _NET(P1,P2) \
70 P1 \
71 P2
72 #endif
73 
74 #if XIFO == 1
75 #define NETX(P1,P2,P3,P4,P5,P6,P7,P8) \
76 P1
77 #endif
78 
79 #if XIFO == 2
80 #define NETX(P1,P2,P3,P4,P5,P6,P7,P8) \
81 P1 \
82 P2
83 #endif
84 
85 #if XIFO == 3
86 #define NETX(P1,P2,P3,P4,P5,P6,P7,P8) \
87 P1 \
88 P2 \
89 P3
90 #endif
91 
92 #if XIFO == 4
93 #define NETX(P1,P2,P3,P4,P5,P6,P7,P8) \
94 P1 \
95 P2 \
96 P3 \
97 P4
98 #endif
99 
100 #if XIFO == 5
101 #define NETX(P1,P2,P3,P4,P5,P6,P7,P8) \
102 P1 \
103 P2 \
104 P3 \
105 P4 \
106 P5
107 #endif
108 
109 #if XIFO == 6
110 #define NETX(P1,P2,P3,P4,P5,P6,P7,P8) \
111 P1 \
112 P2 \
113 P3 \
114 P4 \
115 P5 \
116 P6
117 #endif
118 
119 #if XIFO == 7
120 #define NETX(P1,P2,P3,P4,P5,P6,P7,P8) \
121 P1 \
122 P2 \
123 P3 \
124 P4 \
125 P5 \
126 P6 \
127 P7
128 #endif
129 
130 #if XIFO == 8
131 #define NETX(P1,P2,P3,P4,P5,P6,P7,P8) \
132 P1 \
133 P2 \
134 P3 \
135 P4 \
136 P5 \
137 P6 \
138 P7 \
139 P8
140 #endif
141 
142 #if XIFO==1
143 #define XSUM(X) X[0]
144 #define YSUM(Y) 0
145 #endif
146 #if XIFO==2
147 #define XSUM(X) X[0]+X[1]
148 #define YSUM(Y) 0
149 #endif
150 #if XIFO==3
151 #define XSUM(X) X[0]+X[1]+X[2]
152 #define YSUM(Y) 0
153 #endif
154 #if XIFO==4
155 #define XSUM(X) X[0]+X[1]+X[2]+X[3]
156 #define YSUM(Y) 0
157 #endif
158 #if XIFO==5
159 #define XSUM(X) X[0]+X[1]+X[2]+X[3]
160 #define YSUM(Y) Y[0]
161 #endif
162 #if XIFO==6
163 #define XSUM(X) X[0]+X[1]+X[2]+X[3]
164 #define YSUM(Y) Y[0]+Y[1]
165 #endif
166 #if XIFO==7
167 #define XSUM(X) X[0]+X[1]+X[2]+X[3]
168 #define YSUM(Y) Y[0]+Y[1]+Y[2]
169 #endif
170 #if XIFO==8
171 #define XSUM(X) X[0]+X[1]+X[2]+X[3]
172 #define YSUM(Y) Y[0]+Y[1]+Y[2]+Y[3]
173 #endif
174 
175 #endif
176 
177 ; // DO NOT REMOVE !!!
bool USE_EBBH()
Definition: wat.hh:27
bool USE_ROOT6()
Definition: wat.hh:34
bool USE_ICC()
Definition: wat.hh:48
bool USE_CPP11()
Definition: wat.hh:41
const int NIFO_MAX
Definition: wat.hh:4
const int NRES_MAX
Definition: wat.hh:5
bool USE_HEALPIX()
Definition: wat.hh:13
Definition: wat.hh:7
bool USE_LAL()
Definition: wat.hh:20