PyPO User Manual
Structs.h
Go to the documentation of this file.
1 #include <array>
2 #include <complex>
3 
4 #ifndef __Structs_h
5 #define __Structs_h
6 
7 /*! \file Structs.h
8  \brief Structs used within PyPO.
9 
10  This file contains all object that are used to either store results from calculations internally
11  or pass data back/fetch data from the Python interface.
12  As ctypes does not support templates or overloading, this file contains
13  explicit descriptions of double and float variants.
14 */
15 struct arrC1;
16 struct arrR3;
17 struct c2Bundle;
18 struct c4Bundle;
19 struct c2rBundle;
20 struct reflparams;
21 struct reflcontainer;
22 struct cframe;
23 struct RTDict;
24 struct GRTDict;
25 struct GPODict;
26 struct ScalarGPODict;
27 
28 /** 1D array of complex numbers.*/
29 struct arrC1 {
30  double *x; /**< array of double, representing real part of array.*/
31  double *y; /**< array of double, representing imaginary part of array.*/
32 };
33 
34 /** 3D array of real numbers.*/
35 struct arrR3 {
36  double *x; /**<array of double, x-axis.*/
37  double *y; /**<array of double, y-axis.*/
38  double *z; /**<array of double, z-axis.*/
39 };
40 
41 /** Object containing two 3D complex-valued arrays.*/
42 struct c2Bundle {
43  double *r1x, /**<array of double, field 1, real part, x-axis.*/
44  *r1y, /**<array of double, field 1, real part, y-axis.*/
45  *r1z; /**<array of double, field 1, real part, z-axis.*/
46  double *i1x, /**<array of double, field 1, imaginary part, x-axis.*/
47  *i1y, /**<array of double, field 1, imaginary part, y-axis.*/
48  *i1z; /**<array of double, field 1, imaginary part, z-axis.*/
49 
50  double *r2x, /**<array of double, field 2, real part, x-axis.*/
51  *r2y, /**<array of double, field 2, real part, y-axis.*/
52  *r2z; /**<array of double, field 2, real part, z-axis.*/
53  double *i2x, /**<array of double, field 2, imaginary part, x-axis.*/
54  *i2y, /**<array of double, field 2, imaginary part, y-axis.*/
55  *i2z; /**<array of double, field 2, imaginary part, z-axis.*/
56 };
57 
58 /** Object containing four 3D complex-valued arrays.*/
59 struct c4Bundle {
60  double *r1x, /**<array of double, field 1, real part, x-axis.*/
61  *r1y, /**<array of double, field 1, real part, y-axis.*/
62  *r1z; /**<array of double, field 1, real part, z-axis.*/
63  double *i1x, /**<array of double, field 1, imaginary part, x-axis.*/
64  *i1y, /**<array of double, field 1, imaginary part, y-axis.*/
65  *i1z; /**<array of double, field 1, imaginary part, z-axis.*/
66 
67  double *r2x, /**<array of double, field 2, real part, x-axis.*/
68  *r2y, /**<array of double, field 2, real part, y-axis.*/
69  *r2z; /**<array of double, field 2, real part, z-axis.*/
70  double *i2x, /**<array of double, field 2, imaginary part, x-axis.*/
71  *i2y, /**<array of double, field 2, imaginary part, y-axis.*/
72  *i2z; /**<array of double, field 2, imaginary part, z-axis.*/
73 
74  double *r3x, /**<array of double, field 3, real part, x-axis.*/
75  *r3y, /**<array of double, field 3, real part, y-axis.*/
76  *r3z; /**<array of double, field 3, real part, z-axis.*/
77  double *i3x, /**<array of double, field 3, imaginary part, x-axis.*/
78  *i3y, /**<array of double, field 3, imaginary part, y-axis.*/
79  *i3z; /**<array of double, field 3, imaginary part, z-axis.*/
80 
81  double *r4x, /**<array of double, field 4, real part, x-axis.*/
82  *r4y, /**<array of double, field 4, real part, y-axis.*/
83  *r4z; /**<array of double, field 4, real part, z-axis.*/
84  double *i4x, /**<array of double, field 4, imaginary part, x-axis.*/
85  *i4y, /**<array of double, field 4, imaginary part, y-axis.*/
86  *i4z; /**<array of double, field 4, imaginary part, z-axis.*/
87 };
88 
89 /** Object containing two 3D complex valued arrays and one 3D real valued array.*/
90 struct c2rBundle {
91  double *r1x, /**<array of double, field 1, real part, x-axis.*/
92  *r1y, /**<array of double, field 1, real part, y-axis.*/
93  *r1z; /**<array of double, field 1, real part, z-axis.*/
94  double *i1x, /**<array of double, field 1, imaginary part, x-axis.*/
95  *i1y, /**<array of double, field 1, imaginary part, y-axis.*/
96  *i1z; /**<array of double, field 1, imaginary part, z-axis.*/
97 
98  double *r2x, /**<array of double, field 2, real part, x-axis.*/
99  *r2y, /**<array of double, field 2, real part, y-axis.*/
100  *r2z; /**<array of double, field 2, real part, z-axis.*/
101  double *i2x, /**<array of double, field 2, imaginary part, x-axis.*/
102  *i2y, /**<array of double, field 2, imaginary part, y-axis.*/
103  *i2z; /**<array of double, field 2, imaginary part, z-axis.*/
104 
105  double *r3x, /**<array of double, field 3, x-axis.*/
106  *r3y, /**<array of double, field 3, y-axis.*/
107  *r3z; /**<array of double, field 3, z-axis.*/
108 };
109 
110 /** Object containing parameters for generating reflector surfaces.*/
111 struct reflparams {
112  double *coeffs; /**<array of 3 double. Contains a, b, c coefficients for reflectors.*/
113 
114  double *lxu; /**<array of 2 double. Contains lower and upper x/u limits.*/
115  double *lyv; /**<array of 2 double. Contains lower and upper y/v limits.*/
116 
117  int *n_cells; /**<array of 2 int. Contains gridsize along x/u and y/v axes.*/
118 
119  bool flip; /**<Whether or not to flip normal vectors. Only relevant for quadric surfaces.*/
120  int gmode; /**<How to grid surface. 0 is "xy", 1 is "uv" and 2 is "AoE".*/
121  double *gcenter; /**<array of two double. Contains x and y co-ordinates for center of selection area.*/
122 
123  double ecc_uv; /**<Eccentricity of uv-generated xy grid.*/
124  double rot_uv; /**<Position angle of uv-generated xy_grid, w.r.t. x-axis.*/
125 
126  int type; /**<What type the reflector is. 0 is paraboloid, 1 is hyperboloid, 2 is ellipsoid and 3 is planar.*/
127 
128  double *transf; /**<array of 16 double. Contains the transformation matrix of reflector surface.*/
129  double rms; /**<Surface roughness rms of reflector in mm.*/
130  unsigned int rms_seed;
131 
132 };
133 
134 /** Object containing co-ordinate and normal vector arrays for reflector surfaces.*/
136  int size; /**<Number of cells on surface.*/
137 
138  double *x; /**<array of double. Contains co-ordinates along x-axis.*/
139  double *y; /**<array of double. Contains co-ordinates along y-axis.*/
140  double *z; /**<array of double. Contains co-ordinates along z-axis.*/
141 
142  double *nx; /**<array of double. Contains normal vector component along x-axis.*/
143  double *ny; /**<array of double. Contains normal vector component along y-axis.*/
144  double *nz; /**<array of double. Contains normal vector component along z-axis.*/
145 
146  double *area; /**<array of double. Contains area element size of surface.*/
147 };
148 
149 /** Object containing ray evaluation points and corresponding direction vectors.
150  * Note that the stored direction vector is the reflected, not the incoming, vector.*/
151 struct cframe {
152  int size; /**<Number of rays in frame.*/
153 
154  double *x; /**<array of double. Contains ray co-ordinates along x-axis.*/
155  double *y; /**<array of double. Contains ray co-ordinates along y-axis.*/
156  double *z; /**<array of double. Contains ray co-ordinates along z-axis.*/
157 
158  double *dx; /**<array of double. Contains direction component along x-axis.*/
159  double *dy; /**<array of double. Contains direction component along y-axis.*/
160  double *dz; /**<array of double. Contains direction component along z-axis.*/
161 };
162 
163 /** Object for initializing a ray-trace frame object.*/
164 struct RTDict {
165  int nRays; /**<Number of rays to place in cframe.*/
166  int nRing; /**<Number of concentric rings in ray-trace beam.*/
167  double angx0; /**<Apex angle of beam at focus in x-direction, in degrees.*/
168  double angy0; /**<Apex angle of beam at focus in y-direction, in degrees.*/
169  double x0; /**<Semi-major axis of outer ring, in millimeters.*/
170  double y0; /**<Semi-minor axis of outer ring, in millimeters.*/
171 };
172 
173 /** Object for initializing a Gaussian ray-trace frame object.*/
174 struct GRTDict {
175  int nRays; /**<Number of rays to place in cframe.*/
176  double angx0; /**<Beam waist along x-direction, in millimeters.*/
177  double angy0; /**<Beam waist along x-direction, in millimeters.*/
178  double x0; /**<Beam waist along x-direction, in millimeters.*/
179  double y0; /**<Beam waist along x-direction, in millimeters.*/
180  int seed;
181 };
182 
183 /** Object for initializing a Gaussian beam.*/
184 struct GPODict {
185  double lam; /**<Wavelength of beam, in millimeters.*/
186  double w0x; /**<Beamwaist size along x-direction, in millimeters.*/
187  double w0y; /**<Beamwaist size along y-direction, in millimeters.*/
188  double n; /**<Refractive index of medium.*/
189  double E0; /**<Peak electric field value.*/
190  double dxyz; /**<Astigmatic distance between x-focus and y-focus, in millimeters.*/
191  double *pol; /**<array of 3 double. Polarization components along x, y and z axes.*/
192 };
193 
194 /** Object for initializing a Gaussian beam.*/
195 struct vecGPODict {
196  double lam; /**<Wavelength of beam, in millimeters.*/
197  double w0; /**<Beamwaist radius, in millimeters.*/
198  double z; /**<Distance along beam in z-direction, in millimeters.*/
199  double n; /**<Refractive index of medium.*/
200  double power; /**<Peak electric field value.*/
201  int mode; /**<Mode to create beam in */
202 };
203 
204 
205 /** Object for initializing a scalar Gaussian beam.*/
207  double lam; /**<Wavelength of beam, in millimeters.*/
208  double w0x; /**<Beamwaist size along x-direction, in millimeters.*/
209  double w0y; /**<Beamwaist size along y-direction, in millimeters.*/
210  double n; /**<Refractive index of medium.*/
211  double E0; /**<Peak electric field value.*/
212  double dxyz; /**<Astigmatic distance between x-focus and y-focus, in millimeters.*/
213 };
214 
215 // Have to write explicit types for float and float: ctypes doesnt support templates
216 struct arrC1f;
217 struct arrR3f;
218 struct c2Bundlef;
219 struct c4Bundlef;
220 struct c2rBundlef;
221 struct reflparamsf;
222 struct reflcontainerf;
223 struct cframef;
224 struct RTDictf;
225 struct GRTDictf;
226 struct GPODictf;
227 struct ScalarGPODictf;
228 
229 /** 1D array of complex numbers.*/
230 struct arrC1f {
231  float *x; /**< array of float, representing real part of array.*/
232  float *y; /**< array of float, representing imaginary part of array.*/
233 };
234 
235 /** 3D array of real numbers.*/
236 struct arrR3f {
237  float *x; /**<array of float, x-axis.*/
238  float *y; /**<array of float, y-axis.*/
239  float *z; /**<array of float, z-axis.*/
240 };
241 
242 /** Object containing two 3D complex-valued arrays.*/
243 struct c2Bundlef {
244  float *r1x, /**<array of float, field 1, real part, x-axis.*/
245  *r1y, /**<array of float, field 1, real part, y-axis.*/
246  *r1z; /**<array of float, field 1, real part, z-axis.*/
247  float *i1x, /**<array of float, field 1, imaginary part, x-axis.*/
248  *i1y, /**<array of float, field 1, imaginary part, y-axis.*/
249  *i1z; /**<array of float, field 1, imaginary part, z-axis.*/
250 
251  float *r2x, /**<array of float, field 2, real part, x-axis.*/
252  *r2y, /**<array of float, field 2, real part, y-axis.*/
253  *r2z; /**<array of float, field 2, real part, z-axis.*/
254  float *i2x, /**<array of float, field 2, imaginary part, x-axis.*/
255  *i2y, /**<array of float, field 2, imaginary part, y-axis.*/
256  *i2z; /**<array of float, field 2, imaginary part, z-axis.*/
257 };
258 
259 /** Object containing four 3D complex-valued arrays.*/
260 struct c4Bundlef {
261  float *r1x, /**<array of float, field 1, real part, x-axis.*/
262  *r1y, /**<array of float, field 1, real part, y-axis.*/
263  *r1z; /**<array of float, field 1, real part, z-axis.*/
264  float *i1x, /**<array of float, field 1, imaginary part, x-axis.*/
265  *i1y, /**<array of float, field 1, imaginary part, y-axis.*/
266  *i1z; /**<array of float, field 1, imaginary part, z-axis.*/
267 
268  float *r2x, /**<array of float, field 2, real part, x-axis.*/
269  *r2y, /**<array of float, field 2, real part, y-axis.*/
270  *r2z; /**<array of float, field 2, real part, z-axis.*/
271  float *i2x, /**<array of float, field 2, imaginary part, x-axis.*/
272  *i2y, /**<array of float, field 2, imaginary part, y-axis.*/
273  *i2z; /**<array of float, field 2, imaginary part, z-axis.*/
274 
275  float *r3x, /**<array of float, field 3, real part, x-axis.*/
276  *r3y, /**<array of float, field 3, real part, y-axis.*/
277  *r3z; /**<array of float, field 3, real part, z-axis.*/
278  float *i3x, /**<array of float, field 3, imaginary part, x-axis.*/
279  *i3y, /**<array of float, field 3, imaginary part, y-axis.*/
280  *i3z; /**<array of float, field 3, imaginary part, z-axis.*/
281 
282  float *r4x, /**<array of float, field 4, real part, x-axis.*/
283  *r4y, /**<array of float, field 4, real part, y-axis.*/
284  *r4z; /**<array of float, field 4, real part, z-axis.*/
285  float *i4x, /**<array of float, field 4, imaginary part, x-axis.*/
286  *i4y, /**<array of float, field 4, imaginary part, y-axis.*/
287  *i4z; /**<array of float, field 4, imaginary part, z-axis.*/
288 };
289 
290 /** Object containing two 3D complex valued arrays and one 3D real valued array.*/
291 struct c2rBundlef {
292  float *r1x, /**<array of float, field 1, real part, x-axis.*/
293  *r1y, /**<array of float, field 1, real part, y-axis.*/
294  *r1z; /**<array of float, field 1, real part, z-axis.*/
295  float *i1x, /**<array of float, field 1, imaginary part, x-axis.*/
296  *i1y, /**<array of float, field 1, imaginary part, y-axis.*/
297  *i1z; /**<array of float, field 1, imaginary part, z-axis.*/
298 
299  float *r2x, /**<array of float, field 2, real part, x-axis.*/
300  *r2y, /**<array of float, field 2, real part, y-axis.*/
301  *r2z; /**<array of float, field 2, real part, z-axis.*/
302  float *i2x, /**<array of float, field 2, imaginary part, x-axis.*/
303  *i2y, /**<array of float, field 2, imaginary part, y-axis.*/
304  *i2z; /**<array of float, field 2, imaginary part, z-axis.*/
305 
306  float *r3x, /**<array of float, field 3, x-axis.*/
307  *r3y, /**<array of float, field 3, y-axis.*/
308  *r3z; /**<array of float, field 3, z-axis.*/
309 };
310 
311 /** Object containing parameters for generating reflector surfaces.*/
312 struct reflparamsf {
313  float *coeffs; /**<array of 3 float. Contains a, b, c coefficients for reflectors.*/
314 
315  float *lxu; /**<array of 2 float. Contains lower and upper x/u limits.*/
316  float *lyv; /**<array of 2 float. Contains lower and upper y/v limits.*/
317 
318  int *n_cells; /**<array of 2 int. Contains gridsize along x/u and y/v axes.*/
319 
320  bool flip; /**<Whether or not to flip normal vectors. Only relevant for quadric surfaces.*/
321  int gmode; /**<How to grid surface. 0 is "xy", 1 is "uv" and 2 is "AoE".*/
322  float *gcenter; /**<array of two float. Contains x and y co-ordinates for center of selection area.*/
323 
324  float ecc_uv; /**<Eccentricity of uv-generated xy grid.*/
325  float rot_uv; /**<Position angle of uv-generated xy_grid, w.r.t. x-axis.*/
326 
327  int type; /**<What type the reflector is. 0 is paraboloid, 1 is hyperboloid, 2 is ellipsoid and 3 is planar.*/
328 
329  float *transf; /**<array of 16 float. Contains the transformation matrix of reflector surface.*/
330  float rms; /**<Surface roughness rms of reflector in mm.*/
331  unsigned int rms_seed;
332 
333 };
334 
335 /** Object containing co-ordinate and normal vector arrays for reflector surfaces.*/
337  int size; /**<Number of cells on surface.*/
338 
339  float *x; /**<array of float. Contains co-ordinates along x-axis.*/
340  float *y; /**<array of float. Contains co-ordinates along y-axis.*/
341  float *z; /**<array of float. Contains co-ordinates along z-axis.*/
342 
343  float *nx; /**<array of float. Contains normal vector component along x-axis.*/
344  float *ny; /**<array of float. Contains normal vector component along y-axis.*/
345  float *nz; /**<array of float. Contains normal vector component along z-axis.*/
346 
347  float *area; /**<array of float. Contains area element size of surface.*/
348 };
349 
350 /** Object containing ray evaluation points and corresponding direction vectors.
351  * Note that the stored direction vector is the reflected, not the incoming, vector.*/
352 struct cframef {
353  int size; /**<Number of rays in frame.*/
354 
355  float *x; /**<array of float. Contains ray co-ordinates along x-axis.*/
356  float *y; /**<array of float. Contains ray co-ordinates along y-axis.*/
357  float *z; /**<array of float. Contains ray co-ordinates along z-axis.*/
358 
359  float *dx; /**<array of float. Contains direction component along x-axis.*/
360  float *dy; /**<array of float. Contains direction component along y-axis.*/
361  float *dz; /**<array of float. Contains direction component along z-axis.*/
362 };
363 
364 /** Object for initializing a ray-trace frame object.*/
365 struct RTDictf {
366  int nRays; /**<Number of rays to place in cframe.*/
367  int nRing; /**<Number of concentric rings in ray-trace beam.*/
368  float angx0; /**<Apex angle of beam at focus in x-direction, in degrees.*/
369  float angy0; /**<Apex angle of beam at focus in y-direction, in degrees.*/
370  float x0; /**<Semi-major axis of outer ring, in millimeters.*/
371  float y0; /**<Semi-minor axis of outer ring, in millimeters.*/
372  float *tChief; /**<array of 3 float. Tilt of chief, ray, along x, y or z axis, in degrees.*/
373  float *oChief; /**<array of 3 float. Co-ordinate of chief ray origin.*/
374 };
375 
376 /** Object for initializing a ray-trace frame object.*/
377 struct GRTDictf {
378  int nRays; /**<Number of rays to place in cframe.*/
379  float angx0; /**<Beam waist along x-direction, in millimeters.*/
380  float angy0; /**<Beam waist along x-direction, in millimeters.*/
381  float x0; /**<Beam waist along x-direction, in millimeters.*/
382  float y0; /**<Beam waist along x-direction, in millimeters.*/
383  int seed;
384  float *tChief; /**<array of 3 float. Tilt of chief, ray, along x, y or z axis, in degrees.*/
385  float *oChief; /**<array of 3 float. Co-ordinate of chief ray origin.*/
386 };
387 
388 /** Object for initializing a Gaussian beam.*/
389 struct GPODictf {
390  float lam; /**<Wavelength of beam, in millimeters.*/
391  float w0x; /**<Beamwaist size along x-direction, in millimeters.*/
392  float w0y; /**<Beamwaist size along y-direction, in millimeters.*/
393  float n; /**<Refractive index of medium.*/
394  float E0; /**<Peak electric field value.*/
395  float dxyz; /**<Astigmatic distance between x-focus and y-focus, in millimeters.*/
396  float *pol; /**<array of 3 float. Polarization components along x, y and z axes.*/
397 };
398 
399 /** Object for initializing a Gaussian beam.*/
400 struct vecGPODictf {
401  float lam; /**<Wavelength of beam, in millimeters.*/
402  float w0; /**<Beamwaist radius, in millimeters.*/
403  float z; /**<Distance along beam in z-direction, in millimeters.*/
404  float n; /**<Refractive index of medium.*/
405  float power; /**<Peak electric field value.*/
406  int mode; /**<Mode to create beam in */
407 };
408 
409 
410 /** Object for initializing a scalar Gaussian beam.*/
412  float lam; /**<Wavelength of beam, in millimeters.*/
413  float w0x; /**<Beamwaist size along x-direction, in millimeters.*/
414  float w0y; /**<Beamwaist size along y-direction, in millimeters.*/
415  float n; /**<Refractive index of medium.*/
416  float E0; /**<Peak electric field value.*/
417  float dxyz; /**<Astigmatic distance between x-focus and y-focus, in millimeters.*/
418 };
419 #endif
GRTDict
Definition: Structs.h:174
arrR3
Definition: Structs.h:35
c4Bundle::i2z
double * i2z
Definition: Structs.h:72
c4Bundle::i3x
double * i3x
Definition: Structs.h:77
reflcontainerf::nx
float * nx
Definition: Structs.h:343
c2Bundle::r2x
double * r2x
Definition: Structs.h:50
reflparams::transf
double * transf
Definition: Structs.h:128
reflparams::coeffs
double * coeffs
Definition: Structs.h:112
c4Bundlef::i2y
float * i2y
Definition: Structs.h:272
ScalarGPODictf::lam
float lam
Definition: Structs.h:412
c4Bundlef::r2x
float * r2x
Definition: Structs.h:268
GRTDictf
Definition: Structs.h:377
c2rBundle::r2x
double * r2x
Definition: Structs.h:98
cframe::dz
double * dz
Definition: Structs.h:160
GRTDictf::y0
float y0
Definition: Structs.h:382
cframef::dz
float * dz
Definition: Structs.h:361
c2Bundle::r2z
double * r2z
Definition: Structs.h:52
reflparamsf::flip
bool flip
Definition: Structs.h:320
GPODictf::dxyz
float dxyz
Definition: Structs.h:395
ScalarGPODictf::w0x
float w0x
Definition: Structs.h:413
c4Bundle
Definition: Structs.h:59
c4Bundlef::i4x
float * i4x
Definition: Structs.h:285
reflcontainer::x
double * x
Definition: Structs.h:138
c2Bundle::r1y
double * r1y
Definition: Structs.h:44
c2rBundle::r1z
double * r1z
Definition: Structs.h:93
c2Bundlef::r1z
float * r1z
Definition: Structs.h:246
reflparams::ecc_uv
double ecc_uv
Definition: Structs.h:123
reflparamsf::gcenter
float * gcenter
Definition: Structs.h:322
GPODictf::w0x
float w0x
Definition: Structs.h:391
reflparamsf::rot_uv
float rot_uv
Definition: Structs.h:325
reflparams::gcenter
double * gcenter
Definition: Structs.h:121
c2rBundle::i1x
double * i1x
Definition: Structs.h:94
c4Bundlef::r3x
float * r3x
Definition: Structs.h:275
GRTDictf::angx0
float angx0
Definition: Structs.h:379
c4Bundlef::i2z
float * i2z
Definition: Structs.h:273
c2rBundlef::r1y
float * r1y
Definition: Structs.h:293
RTDictf
Definition: Structs.h:365
c2rBundlef::r2x
float * r2x
Definition: Structs.h:299
reflcontainer
Definition: Structs.h:135
RTDictf::y0
float y0
Definition: Structs.h:371
RTDict::angx0
double angx0
Definition: Structs.h:167
c4Bundlef::r2z
float * r2z
Definition: Structs.h:270
c2rBundlef::r2z
float * r2z
Definition: Structs.h:301
GPODict::E0
double E0
Definition: Structs.h:189
arrC1
Definition: Structs.h:29
c4Bundlef::r1z
float * r1z
Definition: Structs.h:263
c2rBundle::i2x
double * i2x
Definition: Structs.h:101
c4Bundle::r4x
double * r4x
Definition: Structs.h:81
c2rBundlef::i2x
float * i2x
Definition: Structs.h:302
c4Bundle::i4y
double * i4y
Definition: Structs.h:85
reflparamsf::type
int type
Definition: Structs.h:327
c2Bundle::i1x
double * i1x
Definition: Structs.h:46
c2rBundlef::i1z
float * i1z
Definition: Structs.h:297
reflparamsf::n_cells
int * n_cells
Definition: Structs.h:318
GRTDictf::nRays
int nRays
Definition: Structs.h:378
vecGPODict::power
double power
Definition: Structs.h:200
reflparams::rot_uv
double rot_uv
Definition: Structs.h:124
arrR3::x
double * x
Definition: Structs.h:36
c4Bundle::i2y
double * i2y
Definition: Structs.h:71
ScalarGPODict
Definition: Structs.h:206
vecGPODictf::w0
float w0
Definition: Structs.h:402
GRTDict::nRays
int nRays
Definition: Structs.h:175
arrC1f
Definition: Structs.h:230
c2rBundlef
Definition: Structs.h:291
arrC1f::x
float * x
Definition: Structs.h:231
c4Bundle::r3x
double * r3x
Definition: Structs.h:74
reflparams::lyv
double * lyv
Definition: Structs.h:115
ScalarGPODictf::dxyz
float dxyz
Definition: Structs.h:417
reflcontainer::y
double * y
Definition: Structs.h:139
RTDictf::angx0
float angx0
Definition: Structs.h:368
c2Bundle::r1z
double * r1z
Definition: Structs.h:45
c4Bundlef::i1x
float * i1x
Definition: Structs.h:264
c2rBundlef::r3y
float * r3y
Definition: Structs.h:307
reflcontainerf::nz
float * nz
Definition: Structs.h:345
RTDictf::oChief
float * oChief
Definition: Structs.h:373
c2Bundlef::r2y
float * r2y
Definition: Structs.h:252
cframef::size
int size
Definition: Structs.h:353
c4Bundlef::i4y
float * i4y
Definition: Structs.h:286
GPODict::w0y
double w0y
Definition: Structs.h:187
c4Bundlef::i1z
float * i1z
Definition: Structs.h:266
c4Bundle::r4z
double * r4z
Definition: Structs.h:83
reflcontainer::ny
double * ny
Definition: Structs.h:143
c4Bundlef::r4y
float * r4y
Definition: Structs.h:283
c2rBundle::i1z
double * i1z
Definition: Structs.h:96
c4Bundle::r3z
double * r3z
Definition: Structs.h:76
c2Bundlef::i1z
float * i1z
Definition: Structs.h:249
c2rBundle::r3z
double * r3z
Definition: Structs.h:107
c2rBundlef::r3z
float * r3z
Definition: Structs.h:308
cframef::y
float * y
Definition: Structs.h:356
GPODictf::n
float n
Definition: Structs.h:393
c2Bundle::i1z
double * i1z
Definition: Structs.h:48
reflcontainer::nx
double * nx
Definition: Structs.h:142
RTDictf::angy0
float angy0
Definition: Structs.h:369
c4Bundlef::i3y
float * i3y
Definition: Structs.h:279
GPODictf::lam
float lam
Definition: Structs.h:390
c2Bundle::r2y
double * r2y
Definition: Structs.h:51
cframef::dx
float * dx
Definition: Structs.h:359
reflparamsf::coeffs
float * coeffs
Definition: Structs.h:313
c4Bundlef::i1y
float * i1y
Definition: Structs.h:265
GRTDict::x0
double x0
Definition: Structs.h:178
c2rBundle::r3x
double * r3x
Definition: Structs.h:105
GPODict
Definition: Structs.h:184
c4Bundle::i4z
double * i4z
Definition: Structs.h:86
reflcontainerf::x
float * x
Definition: Structs.h:339
GPODict::dxyz
double dxyz
Definition: Structs.h:190
c4Bundle::r2y
double * r2y
Definition: Structs.h:68
c4Bundle::i1y
double * i1y
Definition: Structs.h:64
vecGPODictf::z
float z
Definition: Structs.h:403
reflparams::type
int type
Definition: Structs.h:126
RTDictf::x0
float x0
Definition: Structs.h:370
GPODictf::w0y
float w0y
Definition: Structs.h:392
c4Bundlef::r2y
float * r2y
Definition: Structs.h:269
reflcontainerf::area
float * area
Definition: Structs.h:347
c2rBundlef::r1z
float * r1z
Definition: Structs.h:294
c4Bundle::r3y
double * r3y
Definition: Structs.h:75
c4Bundle::i3z
double * i3z
Definition: Structs.h:79
c2rBundlef::r3x
float * r3x
Definition: Structs.h:306
c2rBundle::i2y
double * i2y
Definition: Structs.h:102
c2rBundlef::i1x
float * i1x
Definition: Structs.h:295
c2Bundle::i2x
double * i2x
Definition: Structs.h:53
c2Bundlef::i1x
float * i1x
Definition: Structs.h:247
ScalarGPODict::w0y
double w0y
Definition: Structs.h:209
c4Bundle::i1z
double * i1z
Definition: Structs.h:65
arrR3f::y
float * y
Definition: Structs.h:238
cframe::size
int size
Definition: Structs.h:152
reflcontainerf::z
float * z
Definition: Structs.h:341
vecGPODict::z
double z
Definition: Structs.h:198
c2Bundlef::i2y
float * i2y
Definition: Structs.h:255
GPODict::lam
double lam
Definition: Structs.h:185
reflcontainer::nz
double * nz
Definition: Structs.h:144
c2Bundlef::r1y
float * r1y
Definition: Structs.h:245
reflparams::flip
bool flip
Definition: Structs.h:119
arrR3::y
double * y
Definition: Structs.h:37
ScalarGPODict::E0
double E0
Definition: Structs.h:211
vecGPODict::n
double n
Definition: Structs.h:199
c2rBundle::r2y
double * r2y
Definition: Structs.h:99
reflparams::gmode
int gmode
Definition: Structs.h:120
GRTDictf::x0
float x0
Definition: Structs.h:381
reflcontainerf::ny
float * ny
Definition: Structs.h:344
c4Bundlef::i3z
float * i3z
Definition: Structs.h:280
reflparamsf::rms
float rms
Definition: Structs.h:330
reflcontainerf
Definition: Structs.h:336
c2Bundle::i2y
double * i2y
Definition: Structs.h:54
ScalarGPODict::lam
double lam
Definition: Structs.h:207
c2Bundle
Definition: Structs.h:42
reflcontainerf::y
float * y
Definition: Structs.h:340
GRTDictf::tChief
float * tChief
Definition: Structs.h:384
GPODict::n
double n
Definition: Structs.h:188
RTDictf::tChief
float * tChief
Definition: Structs.h:372
arrC1::x
double * x
Definition: Structs.h:30
cframef::dy
float * dy
Definition: Structs.h:360
c4Bundle::r1x
double * r1x
Definition: Structs.h:60
vecGPODictf::mode
int mode
Definition: Structs.h:406
c2Bundlef::i2z
float * i2z
Definition: Structs.h:256
RTDictf::nRing
int nRing
Definition: Structs.h:367
c2rBundlef::r1x
float * r1x
Definition: Structs.h:292
c4Bundle::i3y
double * i3y
Definition: Structs.h:78
c2rBundle::i1y
double * i1y
Definition: Structs.h:95
cframe::dx
double * dx
Definition: Structs.h:158
c2rBundle::r1x
double * r1x
Definition: Structs.h:91
c2rBundlef::r2y
float * r2y
Definition: Structs.h:300
RTDict::x0
double x0
Definition: Structs.h:169
cframe
Definition: Structs.h:151
reflcontainer::z
double * z
Definition: Structs.h:140
RTDict::nRing
int nRing
Definition: Structs.h:166
cframef
Definition: Structs.h:352
c4Bundlef::i4z
float * i4z
Definition: Structs.h:287
c4Bundle::r1y
double * r1y
Definition: Structs.h:61
cframe::dy
double * dy
Definition: Structs.h:159
arrC1::y
double * y
Definition: Structs.h:31
GRTDict::y0
double y0
Definition: Structs.h:179
c4Bundle::r4y
double * r4y
Definition: Structs.h:82
c2rBundle::r3y
double * r3y
Definition: Structs.h:106
cframef::z
float * z
Definition: Structs.h:357
ScalarGPODictf::E0
float E0
Definition: Structs.h:416
vecGPODict::lam
double lam
Definition: Structs.h:196
cframef::x
float * x
Definition: Structs.h:355
arrR3f::z
float * z
Definition: Structs.h:239
c4Bundlef::r1x
float * r1x
Definition: Structs.h:261
vecGPODictf
Definition: Structs.h:400
c4Bundlef::r4x
float * r4x
Definition: Structs.h:282
c4Bundlef::r3z
float * r3z
Definition: Structs.h:277
GPODictf::pol
float * pol
Definition: Structs.h:396
RTDictf::nRays
int nRays
Definition: Structs.h:366
reflparamsf::ecc_uv
float ecc_uv
Definition: Structs.h:324
reflcontainer::size
int size
Definition: Structs.h:136
reflparamsf::transf
float * transf
Definition: Structs.h:329
c4Bundle::r1z
double * r1z
Definition: Structs.h:62
c4Bundle::r2z
double * r2z
Definition: Structs.h:69
c4Bundlef::i3x
float * i3x
Definition: Structs.h:278
cframe::z
double * z
Definition: Structs.h:156
c2Bundlef::r2z
float * r2z
Definition: Structs.h:253
ScalarGPODictf::n
float n
Definition: Structs.h:415
c4Bundlef::r1y
float * r1y
Definition: Structs.h:262
c2Bundlef::r1x
float * r1x
Definition: Structs.h:244
ScalarGPODict::dxyz
double dxyz
Definition: Structs.h:212
c2Bundle::i1y
double * i1y
Definition: Structs.h:47
c2rBundle::r2z
double * r2z
Definition: Structs.h:100
c2rBundlef::i2y
float * i2y
Definition: Structs.h:303
GRTDict::angy0
double angy0
Definition: Structs.h:177
reflparamsf::lyv
float * lyv
Definition: Structs.h:316
vecGPODictf::lam
float lam
Definition: Structs.h:401
c4Bundle::i4x
double * i4x
Definition: Structs.h:84
cframe::y
double * y
Definition: Structs.h:155
GRTDictf::oChief
float * oChief
Definition: Structs.h:385
c2rBundlef::i1y
float * i1y
Definition: Structs.h:296
c4Bundlef::r3y
float * r3y
Definition: Structs.h:276
c2rBundle
Definition: Structs.h:90
ScalarGPODict::w0x
double w0x
Definition: Structs.h:208
reflcontainerf::size
int size
Definition: Structs.h:337
GPODictf
Definition: Structs.h:389
GPODict::pol
double * pol
Definition: Structs.h:191
GRTDict::angx0
double angx0
Definition: Structs.h:176
c2rBundle::i2z
double * i2z
Definition: Structs.h:103
c2Bundle::i2z
double * i2z
Definition: Structs.h:55
cframe::x
double * x
Definition: Structs.h:154
reflparams
Definition: Structs.h:111
c4Bundle::i2x
double * i2x
Definition: Structs.h:70
RTDict::angy0
double angy0
Definition: Structs.h:168
vecGPODict::w0
double w0
Definition: Structs.h:197
reflparamsf::lxu
float * lxu
Definition: Structs.h:315
c2Bundlef::i2x
float * i2x
Definition: Structs.h:254
RTDict::nRays
int nRays
Definition: Structs.h:165
reflparams::rms
double rms
Definition: Structs.h:129
ScalarGPODict::n
double n
Definition: Structs.h:210
c2Bundlef::i1y
float * i1y
Definition: Structs.h:248
c4Bundle::i1x
double * i1x
Definition: Structs.h:63
RTDict::y0
double y0
Definition: Structs.h:170
GPODict::w0x
double w0x
Definition: Structs.h:186
ScalarGPODictf
Definition: Structs.h:411
arrR3f::x
float * x
Definition: Structs.h:237
c2Bundlef::r2x
float * r2x
Definition: Structs.h:251
vecGPODict
Definition: Structs.h:195
c2Bundlef
Definition: Structs.h:243
c4Bundlef::i2x
float * i2x
Definition: Structs.h:271
c2rBundle::r1y
double * r1y
Definition: Structs.h:92
arrR3f
Definition: Structs.h:236
reflparamsf::gmode
int gmode
Definition: Structs.h:321
reflparams::lxu
double * lxu
Definition: Structs.h:114
vecGPODictf::n
float n
Definition: Structs.h:404
c2rBundlef::i2z
float * i2z
Definition: Structs.h:304
RTDict
Definition: Structs.h:164
GRTDictf::angy0
float angy0
Definition: Structs.h:380
c2Bundle::r1x
double * r1x
Definition: Structs.h:43
reflparams::n_cells
int * n_cells
Definition: Structs.h:117
GPODictf::E0
float E0
Definition: Structs.h:394
reflparamsf
Definition: Structs.h:312
c4Bundlef::r4z
float * r4z
Definition: Structs.h:284
vecGPODict::mode
int mode
Definition: Structs.h:201
reflcontainer::area
double * area
Definition: Structs.h:146
c4Bundle::r2x
double * r2x
Definition: Structs.h:67
vecGPODictf::power
float power
Definition: Structs.h:405
arrR3::z
double * z
Definition: Structs.h:38
arrC1f::y
float * y
Definition: Structs.h:232
c4Bundlef
Definition: Structs.h:260
ScalarGPODictf::w0y
float w0y
Definition: Structs.h:414