ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
xDataTOM.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file xDataTOM.h
1 /*
2 # <<BEGIN-copyright>>
3 # <<END-copyright>>
4 */
5 
6 #ifndef xDataTOM_h_included
7 #define xDataTOM_h_included
8 
10 
11 #if defined __cplusplus
12  extern "C" {
13  namespace GIDI {
14 #endif
15 
16 typedef int xDataTOM_Int;
17 
18 /* Note: xDataTOM_interpolationFlag_flat must be last for current logic in xDataTOM_interpolation.c to work. */
26 
31 
36 
44 
46 
53 
54 typedef int (*xDataTOM_sortElementFunc)( const void *, const void * );
55 
59 };
60 
62  int index;
63  char *label;
64  char *unit;
66 };
67 
71 };
72 
75  int offset;
78 };
79 
81  int index, length;
82  double value, accuracy;
84  double *data;
85 };
86 
88  int length;
91 };
92 
94  int index, length;
95  double value;
98 };
99 
101  int length;
104 };
105 
107  int index, length;
108  double value;
109  double *LegendreSeries;
110 };
111 
113  int index, length;
114  double value;
117 };
118 
120  int length;
123 };
124 
126  int length;
129 };
130 
132  int index, length;
133  double value;
134  double *coefficients;
135 };
136 
142 };
143 
145  int length;
147  double *coefficients;
148 };
149 
151  const char *ID;
154  void *data;
155 };
156 
159  char *name;
160  char *value;
161 };
162 
164  int number;
166 };
167 
170  const char *sortString;
171 };
172 
174  int n;
176 };
177 
179  int ordinal; /* Counting from 0. */
180  int index; /* Value from "index" attribute if present or -1. */
183  char *name;
188 };
189 
191  char *fileName;
194 };
195 
196 /*
197 * Stuff in common/xDataTOM.c
198 */
199 xDataTOM_TOM *xDataTOM_importFile( statusMessageReporting *smr, const char *fileName );
203 int xDataTOM_setFileNameTOM( statusMessageReporting *smr, xDataTOM_TOM *doc, const char *fileName );
204 void xDataTOM_displayTree( statusMessageReporting *smr, xDataTOM_TOM *TOM, int printAttributes );
205 
206 xDataTOM_element *xDataTOM_mallocElement( statusMessageReporting *smr, xDataTOM_element *parent, int ordinal, int index, char const *name );
207 void xDataTOM_freeElement( xDataTOM_element **element );
215 int xDataTOME_addAttribute( statusMessageReporting *smr, xDataTOM_element *element, char const *name, char const *value );
216 char const *xDataTOM_getAttributesValueInElement( xDataTOM_element *element, char const *name );
218 int xDataTOME_convertAttributeToInteger( statusMessageReporting *smr, xDataTOM_element *element, char const *name, int *n );
219 int xDataTOME_convertAttributeToDouble( statusMessageReporting *smr, xDataTOM_element *element, char const *name, double *d );
220 int xDataTOME_convertAttributeToDoubleWithUnit( statusMessageReporting *smr, xDataTOM_element *element, char const *name, double *d, char *unit );
222  enum xDataTOM_interpolationFlag *independent, enum xDataTOM_interpolationFlag *dependent, enum xDataTOM_interpolationQualifier *qualifier );
223 
225 void xDataTOMAL_release( xDataTOM_attributionList *attributes );
226 int xDataTOMAL_addAttribute( statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, char const *value );
227 char const *xDataTOMAL_getAttributesValue( xDataTOM_attributionList *attributes, char const *name );
230 int xDataTOMAL_convertAttributeToDouble( statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, double *d );
231 
232 void *xData_initializeData( statusMessageReporting *smr, xDataTOM_element *TE, char const *ID, size_t size );
233 int xDataTOM_isXDataID( xDataTOM_element *TE, char const *ID );
234 
235 /*
236 * Stuff in common/xDataTOMMisc.c
237 */
238 char *xDataTOMMisc_getAbsPath( statusMessageReporting *smr, const char *fileName );
239 int xDataTOM_setMessageError_ReturnInt( int value, statusMessageReporting *smr, void *userData, const char *file, int line, int code, const char *fmt, ... );
241 
242 #define xDataTOMMisc_allocateCopyString2( smr, s, forItem ) xDataTOMMisc_allocateCopyString( smr, s, forItem, __FILE__, __LINE__ )
243 
244 /*
245 * Stuff in common/xDataTOM_interpolation.c
246 */
248  enum xDataTOM_interpolationFlag dependent, enum xDataTOM_interpolationQualifier qualifier );
249 int xDataTOM_interpolation_setFromString( statusMessageReporting *smr, xDataTOM_interpolation *interpolation, char const *str );
251 
252 /*
253 * Stuff in common/xDataTOM_axes.c
254 */
255 int xDataTOM_axes_initialize( statusMessageReporting *smr, xDataTOM_axes *axes, int numberOfAxes );
257 char const *xDataTOM_axes_getLabel( statusMessageReporting *smr, xDataTOM_axes *axes, int index );
258 char const *xDataTOM_axes_getUnit( statusMessageReporting *smr, xDataTOM_axes *axes, int index );
260  enum xDataTOM_interpolationFlag *dependent, enum xDataTOM_interpolationQualifier *qualifier );
261 
263  xDataTOM_axes *axes, xDataTOM_interpolation *interpolation );
265 char const *xDataTOM_subAxes_getLabel( statusMessageReporting *smr, xDataTOM_subAxes *subAxes, int index );
266 char const *xDataTOM_subAxes_getUnit( statusMessageReporting *smr, xDataTOM_subAxes *subAxes, int index );
267 
268 xDataTOM_axis *xDataTOM_axis_new( statusMessageReporting *smr, int index, char const *label, char const *unit, xDataTOM_interpolation *interpolation );
269 int xDataTOM_axis_initialize( statusMessageReporting *smr, xDataTOM_axis *axis, int index, char const *label, char const *unit,
270  xDataTOM_interpolation *interpolation );
274 
275 /*
276 * Stuff in common/xDataTOM_XYs.c
277 */
280 int xDataTOM_XYs_getData( xDataTOM_XYs *XYs, double **data );
282 
283 /*
284 * Stuff in common/xDataTOM_regionsXYs.c
285 */
287 
288 /*
289 * Stuff in common/xDataTOM_W_XYs.c
290 */
291 xDataTOM_W_XYs *xDataTOM_W_XYs_new( statusMessageReporting *smr, int index, int length, double value, xDataTOM_axes *axes, int axesOffset );
292 int xDataTOM_W_XYs_initialize( statusMessageReporting *smr, xDataTOM_W_XYs *W_XYs, int index, int length, double value, xDataTOM_axes *axes,
293  int axesOffset );
298 void *xDataTOME_getXDataIfID( statusMessageReporting *smr, xDataTOM_element *TE, char const *ID );
299 
300 /*
301 * Stuff in common/xDataTOM_V_W_XYs.c
302 */
305 
306 /*
307 * Stuff in common/xDataTOM_LegendreSeries.c
308 */
309 int xDataTOM_LegendreSeries_initialize( statusMessageReporting *smr, xDataTOM_LegendreSeries *LegendreSeries, int index, int length, double value );
311 
312 /*
313 * Stuff in common/xDataTOM_W_XYs_LegendreSeries.c
314 */
316  int length, double value, enum xDataTOM_subAxesType subAxesType, xDataTOM_axes *axes, xDataTOM_interpolation *interpolation );
319 
320 /*
321 * Stuff in common/xDataTOM_regionsW_XYs_LegendreSeries.c
322 */
324  int length, xDataTOM_axes *axes );
327 
328 /*
329 * Stuff in common/xDataTOM_V_W_XYs_LegendreSeries.c
330 */
332  int length, xDataTOM_axes *axes );
334 
335 /*
336 * Stuff in common/xDataTOM_KalbachMann.c
337 */
341 
342 /*
343 * Stuff in common/xDataTOM_polynomial.c
344 */
348 int xDataTOM_polynomial_getData( xDataTOM_polynomial *polynomial, double **data );
350 
351 #if defined __cplusplus
352  }
353  }
354 #endif
355 
356 #endif /* End of xDataTOM_h_included. */