Geant4-11
xDataTOM.h
Go to the documentation of this file.
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
16typedef 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
54typedef 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
104};
105
107 int index, length;
108 double value;
110};
111
113 int index, length;
114 double value;
117};
118
123};
124
129};
130
132 int index, length;
133 double value;
135};
136
142};
143
148};
149
151 const char *ID;
154 void *data;
155};
156
159 char *name;
160 char *value;
161};
162
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*/
199xDataTOM_TOM *xDataTOM_importFile( statusMessageReporting *smr, const char *fileName );
203int xDataTOM_setFileNameTOM( statusMessageReporting *smr, xDataTOM_TOM *doc, const char *fileName );
204void xDataTOM_displayTree( statusMessageReporting *smr, xDataTOM_TOM *TOM, int printAttributes );
205
206xDataTOM_element *xDataTOM_mallocElement( statusMessageReporting *smr, xDataTOM_element *parent, int ordinal, int index, char const *name );
207void xDataTOM_freeElement( xDataTOM_element **element );
215int xDataTOME_addAttribute( statusMessageReporting *smr, xDataTOM_element *element, char const *name, char const *value );
216char const *xDataTOM_getAttributesValueInElement( xDataTOM_element *element, char const *name );
219int xDataTOME_convertAttributeToDouble( statusMessageReporting *smr, xDataTOM_element *element, char const *name, double *d );
220int 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
226int xDataTOMAL_addAttribute( statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, char const *value );
227char const *xDataTOMAL_getAttributesValue( xDataTOM_attributionList *attributes, char const *name );
230int xDataTOMAL_convertAttributeToDouble( statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, double *d );
231
232void *xData_initializeData( statusMessageReporting *smr, xDataTOM_element *TE, char const *ID, size_t size );
233int xDataTOM_isXDataID( xDataTOM_element *TE, char const *ID );
234
235/*
236* Stuff in common/xDataTOMMisc.c
237*/
238char *xDataTOMMisc_getAbsPath( statusMessageReporting *smr, const char *fileName );
239int 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 );
251
252/*
253* Stuff in common/xDataTOM_axes.c
254*/
255int xDataTOM_axes_initialize( statusMessageReporting *smr, xDataTOM_axes *axes, int numberOfAxes );
257char const *xDataTOM_axes_getLabel( statusMessageReporting *smr, xDataTOM_axes *axes, int index );
258char 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 );
265char const *xDataTOM_subAxes_getLabel( statusMessageReporting *smr, xDataTOM_subAxes *subAxes, int index );
266char const *xDataTOM_subAxes_getUnit( statusMessageReporting *smr, xDataTOM_subAxes *subAxes, int index );
267
268xDataTOM_axis *xDataTOM_axis_new( statusMessageReporting *smr, int index, char const *label, char const *unit, xDataTOM_interpolation *interpolation );
269int 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*/
280int 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*/
291xDataTOM_W_XYs *xDataTOM_W_XYs_new( statusMessageReporting *smr, int index, int length, double value, xDataTOM_axes *axes, int axesOffset );
292int xDataTOM_W_XYs_initialize( statusMessageReporting *smr, xDataTOM_W_XYs *W_XYs, int index, int length, double value, xDataTOM_axes *axes,
293 int axesOffset );
298void *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*/
309int 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*/
348int 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. */
const char * name(G4int ptype)
Definition: inftrees.h:24
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:140
enum xDataTOM_KalbachMannType type
Definition: xDataTOM.h:138
xDataTOM_KalbachMannCoefficients * coefficients
Definition: xDataTOM.h:141
char * fileName
Definition: xDataTOM.h:191
xDataTOM_element root
Definition: xDataTOM.h:193
char * realFileName
Definition: xDataTOM.h:192
xDataTOM_W_XYs_LegendreSeries * W_XYs_LegendreSeries
Definition: xDataTOM.h:128
xDataTOM_W_XYs * W_XYs
Definition: xDataTOM.h:103
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:102
xDataTOM_LegendreSeries * LegendreSeries
Definition: xDataTOM.h:116
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:115
double value
Definition: xDataTOM.h:95
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:96
xDataTOM_XYs * XYs
Definition: xDataTOM.h:97
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:83
double accuracy
Definition: xDataTOM.h:82
double * data
Definition: xDataTOM.h:84
xDataTOM_attribute * next
Definition: xDataTOM.h:158
xDataTOM_attribute * attributes
Definition: xDataTOM.h:165
int numberOfAxes
Definition: xDataTOM.h:69
xDataTOM_axis * axis
Definition: xDataTOM.h:70
char * label
Definition: xDataTOM.h:63
xDataTOM_interpolation interpolation
Definition: xDataTOM.h:65
char * unit
Definition: xDataTOM.h:64
xDataTOM_element * element
Definition: xDataTOM.h:169
const char * sortString
Definition: xDataTOM.h:170
xDataTOM_elementListItem * items
Definition: xDataTOM.h:175
xDataTOM_element * children
Definition: xDataTOM.h:186
xDataTOM_xDataInfo xDataInfo
Definition: xDataTOM.h:187
xDataTOM_element * next
Definition: xDataTOM.h:182
xDataTOM_attributionList attributes
Definition: xDataTOM.h:184
xDataTOM_element * parent
Definition: xDataTOM.h:181
enum xDataTOM_interpolationFlag independent dependent
Definition: xDataTOM.h:57
enum xDataTOM_interpolationQualifier qualifier
Definition: xDataTOM.h:58
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:146
double * coefficients
Definition: xDataTOM.h:147
xDataTOM_W_XYs_LegendreSeries * W_XYs_LegendreSeries
Definition: xDataTOM.h:122
xDataTOM_XYs * XYs
Definition: xDataTOM.h:90
xDataTOM_axes * axes
Definition: xDataTOM.h:89
enum xDataTOM_subAxesType type
Definition: xDataTOM.h:74
xDataTOM_axes * axes
Definition: xDataTOM.h:76
xDataTOM_interpolation interpolation
Definition: xDataTOM.h:77
const char * ID
Definition: xDataTOM.h:151
xDataTOM_element * element
Definition: xDataTOM.h:152
xDataTOM_axes axes
Definition: xDataTOM.h:153
char const * xDataTOM_axis_frameToString(statusMessageReporting *smr, enum xDataTOM_frame frame)
int xDataTOM_numberOfElementsByName(statusMessageReporting *smr, xDataTOM_element *element, char const *name)
Definition: xDataTOM.cc:268
int xDataTOM_interpolation_setFromString(statusMessageReporting *smr, xDataTOM_interpolation *interpolation, char const *str)
int xDataTOM_subAxes_release(xDataTOM_subAxes *subAxes)
xDataTOM_subAxesType
Definition: xDataTOM.h:24
@ xDataTOM_subAxesType_proxy
Definition: xDataTOM.h:24
@ xDataTOM_subAxesType_intepolationAxes
Definition: xDataTOM.h:24
int xDataTOM_V_W_XYs_LegendreSeries_free(xDataTOM_xDataInfo *xDI)
int xDataTOM_regionsXYs_free(xDataTOM_xDataInfo *xDI)
char const * xDataTOM_axes_getUnit(statusMessageReporting *smr, xDataTOM_axes *axes, int index)
xDataTOM_axis * xDataTOM_axis_release(statusMessageReporting *smr, xDataTOM_axis *axis)
int xDataTOM_regionsW_XYs_LegendreSeries_free(xDataTOM_xDataInfo *xDI)
xDataTOM_element * xDataTOME_getOneElementByName(statusMessageReporting *smr, xDataTOM_element *element, char const *name, int required)
Definition: xDataTOM.cc:246
int xDataTOMAL_addAttribute(statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, char const *value)
Definition: xDataTOM.cc:376
int xDataTOM_polynomial_initialize(statusMessageReporting *smr, xDataTOM_polynomial *polynomial, int length, xDataTOM_axes *axes)
xDataTOM_TOM * xDataTOM_importFile(statusMessageReporting *smr, const char *fileName)
Definition: xDataTOM.cc:44
xDataTOM_TOM * xDataTOM_mallocTOM(statusMessageReporting *smr)
Definition: xDataTOM.cc:54
xDataTOM_element * xDataTOM_getLinksElement(statusMessageReporting *smr, xDataTOM_element *element, char const *link)
int xDataTOM_polynomial_getData(xDataTOM_polynomial *polynomial, double **data)
int xDataTOMAL_convertAttributeToDouble(statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, double *d)
Definition: xDataTOM.cc:450
int xDataTOM_V_W_XYs_initialize(statusMessageReporting *smr, xDataTOM_V_W_XYs *V_W_XYs, int length, xDataTOM_axes *axes)
int xDataTOM_LegendreSeries_release(xDataTOM_LegendreSeries *LegendreSeries)
int(* xDataTOM_sortElementFunc)(const void *, const void *)
Definition: xDataTOM.h:54
enum xDataTOM_frame xDataTOM_axis_stringToFrame(statusMessageReporting *smr, char const *frame)
xDataTOM_element * xDataTOM_mallocElement(statusMessageReporting *smr, xDataTOM_element *parent, int ordinal, int index, char const *name)
Definition: xDataTOM.cc:125
int xDataTOM_polynomial_release(xDataTOM_polynomial *polynomial)
xDataTOM_axis * xDataTOM_axis_new(statusMessageReporting *smr, int index, char const *label, char const *unit, xDataTOM_interpolation *interpolation)
int xDataTOME_addAttribute(statusMessageReporting *smr, xDataTOM_element *element, char const *name, char const *value)
Definition: xDataTOM.cc:279
int xDataTOM_regionsW_XYs_LegendreSeries_release(xDataTOM_regionsW_XYs_LegendreSeries *regionsW_XYs_LegendreSeries)
int xDataTOM_W_XYs_release(xDataTOM_W_XYs *W_XYs)
int xDataTOM_setMessageError_ReturnInt(int value, statusMessageReporting *smr, void *userData, const char *file, int line, int code, const char *fmt,...)
int xDataTOM_W_XYs_LegendreSeries_initialize(statusMessageReporting *smr, xDataTOM_W_XYs_LegendreSeries *W_XYs_LegendreSeries, int index, int length, double value, enum xDataTOM_subAxesType subAxesType, xDataTOM_axes *axes, xDataTOM_interpolation *interpolation)
int xDataTOME_copyAttributionList(statusMessageReporting *smr, xDataTOM_attributionList *desc, xDataTOM_element *element)
Definition: xDataTOM.cc:293
int xDataTOM_V_W_XYs_free(xDataTOM_xDataInfo *xDI)
int xDataTOM_W_XYs_LegendreSeries_release(xDataTOM_W_XYs_LegendreSeries *W_XYs_LegendreSeries)
void xDataTOMAL_initial(statusMessageReporting *smr, xDataTOM_attributionList *attributes)
Definition: xDataTOM.cc:353
xDataTOM_element * xDataTOM_addElementInElement(statusMessageReporting *smr, xDataTOM_element *parent, int index, char const *name)
Definition: xDataTOM.cc:188
int xDataTOM_setFileNameTOM(statusMessageReporting *smr, xDataTOM_TOM *doc, const char *fileName)
Definition: xDataTOM.cc:94
int xDataTOMAL_convertAttributeToInteger(statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, int *n)
Definition: xDataTOM.cc:433
int xDataTOM_Int
Definition: xDataTOM.h:16
int xDataTOM_axis_initialize(statusMessageReporting *smr, xDataTOM_axis *axis, int index, char const *label, char const *unit, xDataTOM_interpolation *interpolation)
int xDataTOM_initializeTOM(statusMessageReporting *smr, xDataTOM_TOM *doc)
Definition: xDataTOM.cc:68
int xDataTOM_V_W_XYs_LegendreSeries_initialize(statusMessageReporting *smr, xDataTOM_V_W_XYs_LegendreSeries *V_W_XYs_LegendreSeries, int length, xDataTOM_axes *axes)
void * xData_initializeData(statusMessageReporting *smr, xDataTOM_element *TE, char const *ID, size_t size)
Definition: xDataTOM.cc:479
xDataTOM_W_XYs * xDataTOM_W_XYs_free(xDataTOM_W_XYs *W_XYs)
int xDataTOM_XYs_free(xDataTOM_xDataInfo *xDI)
Definition: xDataTOM_XYs.cc:19
int xDataTOM_XYs_getData(xDataTOM_XYs *XYs, double **data)
Definition: xDataTOM_XYs.cc:42
char const * xDataTOM_subAxes_getLabel(statusMessageReporting *smr, xDataTOM_subAxes *subAxes, int index)
void * xDataTOM_freeTOM(statusMessageReporting *smr, xDataTOM_TOM **TOM)
Definition: xDataTOM.cc:78
xDataTOM_interpolationFlag
Definition: xDataTOM.h:19
@ xDataTOM_interpolationFlag_byRegion
Definition: xDataTOM.h:20
@ xDataTOM_interpolationFlag_invalid
Definition: xDataTOM.h:19
@ xDataTOM_interpolationFlag_log
Definition: xDataTOM.h:19
@ xDataTOM_interpolationFlag_linear
Definition: xDataTOM.h:19
@ xDataTOM_interpolationFlag_flat
Definition: xDataTOM.h:20
void xDataTOM_freeElement(xDataTOM_element **element)
Definition: xDataTOM.cc:139
int xDataTOM_KalbachMann_release(xDataTOM_KalbachMann *KalbachMann)
int xDataTOM_axes_initialize(statusMessageReporting *smr, xDataTOM_axes *axes, int numberOfAxes)
int xDataTOM_axes_getInterpolation(statusMessageReporting *smr, xDataTOM_axes *axes, int index, enum xDataTOM_interpolationFlag *independent, enum xDataTOM_interpolationFlag *dependent, enum xDataTOM_interpolationQualifier *qualifier)
char const * xDataTOM_axes_getLabel(statusMessageReporting *smr, xDataTOM_axes *axes, int index)
int xDataTOM_isXDataID(xDataTOM_element *TE, char const *ID)
Definition: xDataTOM.cc:491
xDataTOM_element * xDataTOME_getNextElement(xDataTOM_element *element)
Definition: xDataTOM.cc:238
char const * xDataTOMAL_getAttributesValue(xDataTOM_attributionList *attributes, char const *name)
Definition: xDataTOM.cc:403
xDataTOM_W_XYs * xDataTOM_W_XYs_new(statusMessageReporting *smr, int index, int length, double value, xDataTOM_axes *axes, int axesOffset)
int xDataTOME_getInterpolation(statusMessageReporting *smr, xDataTOM_element *element, int index, enum xDataTOM_interpolationFlag *independent, enum xDataTOM_interpolationFlag *dependent, enum xDataTOM_interpolationQualifier *qualifier)
Definition: xDataTOM.cc:314
int xDataTOM_interpolation_set(statusMessageReporting *smr, xDataTOM_interpolation *interpolation, enum xDataTOM_interpolationFlag independent, enum xDataTOM_interpolationFlag dependent, enum xDataTOM_interpolationQualifier qualifier)
char const * xDataTOM_getAttributesValueInElement(xDataTOM_element *element, char const *name)
Definition: xDataTOM.cc:286
int xDataTOME_convertAttributeToInteger(statusMessageReporting *smr, xDataTOM_element *element, char const *name, int *n)
Definition: xDataTOM.cc:300
xDataTOM_element * xDataTOM_getDocumentsElement(xDataTOM_TOM *TOM)
Definition: xDataTOM.cc:223
void xDataTOM_releaseElement(xDataTOM_element *element)
Definition: xDataTOM.cc:148
char const * xDataTOM_subAxes_getUnit(statusMessageReporting *smr, xDataTOM_subAxes *subAxes, int index)
xDataTOM_element * xDataTOME_getFirstElement(xDataTOM_element *element)
Definition: xDataTOM.cc:230
int xDataTOME_convertAttributeToDouble(statusMessageReporting *smr, xDataTOM_element *element, char const *name, double *d)
Definition: xDataTOM.cc:307
int xDataTOM_LegendreSeries_initialize(statusMessageReporting *smr, xDataTOM_LegendreSeries *LegendreSeries, int index, int length, double value)
int xDataTOM_polynomial_getDataFromXDataInfo(xDataTOM_xDataInfo *xDI, double **data)
int xDataTOM_XYs_getDataFromXDataInfo(xDataTOM_xDataInfo *xDI, double **data)
Definition: xDataTOM_XYs.cc:50
int xDataTOMAL_copyAttributionList(statusMessageReporting *smr, xDataTOM_attributionList *desc, xDataTOM_attributionList *src)
Definition: xDataTOM.cc:415
int xDataTOM_KalbachMann_initialize(statusMessageReporting *smr, xDataTOM_KalbachMann *KalbachMann, int length, xDataTOM_axes *axes)
xDataTOM_frame
Definition: xDataTOM.h:23
@ xDataTOM_frame_centerOfMass
Definition: xDataTOM.h:23
@ xDataTOM_frame_invalid
Definition: xDataTOM.h:23
@ xDataTOM_frame_lab
Definition: xDataTOM.h:23
int xDataTOM_interpolation_copy(statusMessageReporting *smr, xDataTOM_interpolation *desc, xDataTOM_interpolation *src)
int xDataTOM_subAxes_initialize(statusMessageReporting *smr, xDataTOM_subAxes *subAxes, enum xDataTOM_subAxesType type, int offset, xDataTOM_axes *axes, xDataTOM_interpolation *interpolation)
xDataTOM_interpolationQualifier
Definition: xDataTOM.h:21
@ xDataTOM_interpolationQualifier_unitBase
Definition: xDataTOM.h:22
@ xDataTOM_interpolationQualifier_none
Definition: xDataTOM.h:22
@ xDataTOM_interpolationQualifier_correspondingPoints
Definition: xDataTOM.h:22
@ xDataTOM_interpolationQualifier_dependent
Definition: xDataTOM.h:21
@ xDataTOM_interpolationQualifier_invalid
Definition: xDataTOM.h:21
void xDataTOM_displayTree(statusMessageReporting *smr, xDataTOM_TOM *TOM, int printAttributes)
Definition: xDataTOM.cc:114
int xDataTOM_regionsW_XYs_LegendreSeries_initialize(statusMessageReporting *smr, xDataTOM_regionsW_XYs_LegendreSeries *regionsW_XYs_LegendreSeries, int length, xDataTOM_axes *axes)
xDataTOM_KalbachMannType
Definition: xDataTOM.h:25
@ xDataTOM_KalbachMannType_fra
Definition: xDataTOM.h:25
@ xDataTOM_KalbachMannType_fr
Definition: xDataTOM.h:25
int xDataTOM_W_XYs_freeFrom_xDataInfo(xDataTOM_xDataInfo *xDI)
int xDataTOM_KalbachMann_free(xDataTOM_xDataInfo *xDI)
void * xDataTOME_getXDataIfID(statusMessageReporting *smr, xDataTOM_element *TE, char const *ID)
Definition: xDataTOM.cc:512
xDataTOM_xDataInfo * xDataTOME_getXData(xDataTOM_element *TE)
Definition: xDataTOM.cc:504
int xDataTOM_W_XYs_LegendreSeries_free(xDataTOM_xDataInfo *xDI)
int xDataTOM_W_XYs_initialize(statusMessageReporting *smr, xDataTOM_W_XYs *W_XYs, int index, int length, double value, xDataTOM_axes *axes, int axesOffset)
void xDataTOMAL_release(xDataTOM_attributionList *attributes)
Definition: xDataTOM.cc:361
char * xDataTOMMisc_getAbsPath(statusMessageReporting *smr, const char *fileName)
int xDataTOM_XYs_release(xDataTOM_XYs *XYs)
Definition: xDataTOM_XYs.cc:31
int xDataTOM_axes_release(xDataTOM_axes *axes)
int xDataTOME_convertAttributeToDoubleWithUnit(statusMessageReporting *smr, xDataTOM_element *element, char const *name, double *d, char *unit)
int xDataTOM_polynomial_free(xDataTOM_xDataInfo *xDI)
#define userData
Definition: xmlparse.cc:572