Geant4 Cross Reference |
1 /* 1 2 # <<BEGIN-copyright>> 3 # <<END-copyright>> 4 */ 5 6 #ifndef xDataTOM_h_included 7 #define xDataTOM_h_included 8 9 #include <statusMessageReporting.h> 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 19 enum xDataTOM_interpolationFlag { xDataTOM_int 20 xDataTOM_interpolationFlag_byRegion, xData 21 enum xDataTOM_interpolationQualifier { xDataTO 22 xDataTOM_interpolationQualifier_none, xDat 23 enum xDataTOM_frame { xDataTOM_frame_invalid, 24 enum xDataTOM_subAxesType { xDataTOM_subAxesTy 25 enum xDataTOM_KalbachMannType { xDataTOM_Kalba 26 27 typedef struct xDataTOM_interpolation_s xDataT 28 typedef struct xDataTOM_axis_s xDataTOM_axis; 29 typedef struct xDataTOM_axes_s xDataTOM_axes; 30 typedef struct xDataTOM_subAxes_s xDataTOM_sub 31 32 typedef struct xDataTOM_XYs_s xDataTOM_XYs; 33 typedef struct xDataTOM_regionsXYs_s xDataTOM_ 34 typedef struct xDataTOM_W_XYs_s xDataTOM_W_XYs 35 typedef struct xDataTOM_V_W_XYs_s xDataTOM_V_W 36 37 typedef struct xDataTOM_LegendreSeries_s xData 38 typedef struct xDataTOM_W_XYs_LegendreSeries_s 39 typedef struct xDataTOM_regionsW_XYs_LegendreS 40 typedef struct xDataTOM_V_W_XYs_LegendreSeries 41 typedef struct xDataTOM_KalbachMannCoefficient 42 typedef struct xDataTOM_KalbachMann_s xDataTOM 43 typedef struct xDataTOM_polynomial_s xDataTOM_ 44 45 typedef struct xDataTOM_xDataInfo_s xDataTOM_x 46 47 typedef struct xDataTOM_attribute_s xDataTOM_a 48 typedef struct xDataTOM_attributionList_s xDat 49 typedef struct xDataTOM_elementListItem_s xDat 50 typedef struct xDataTOM_elementList_s xDataTOM 51 typedef struct xDataTOM_element_s xDataTOM_ele 52 typedef struct xDataTOM_TOM_s xDataTOM_TOM; 53 54 typedef int (*xDataTOM_sortElementFunc)( const 55 56 struct xDataTOM_interpolation_s { 57 enum xDataTOM_interpolationFlag independen 58 enum xDataTOM_interpolationQualifier quali 59 }; 60 61 struct xDataTOM_axis_s { 62 int index; 63 char *label; 64 char *unit; 65 xDataTOM_interpolation interpolation; 66 }; 67 68 struct xDataTOM_axes_s { 69 int numberOfAxes; 70 xDataTOM_axis *axis; 71 }; 72 73 struct xDataTOM_subAxes_s { 74 enum xDataTOM_subAxesType type; 75 int offset; 76 xDataTOM_axes *axes; 77 xDataTOM_interpolation interpolation; 78 }; 79 80 struct xDataTOM_XYs_s { 81 int index, length; 82 double value, accuracy; 83 xDataTOM_subAxes subAxes; 84 double *data; 85 }; 86 87 struct xDataTOM_regionsXYs_s { 88 int length; 89 xDataTOM_axes *axes; 90 xDataTOM_XYs *XYs; 91 }; 92 93 struct xDataTOM_W_XYs_s { 94 int index, length; 95 double value; 96 xDataTOM_subAxes subAxes; 97 xDataTOM_XYs *XYs; 98 }; 99 100 struct xDataTOM_V_W_XYs_s { 101 int length; 102 xDataTOM_subAxes subAxes; 103 xDataTOM_W_XYs *W_XYs; 104 }; 105 106 struct xDataTOM_LegendreSeries_s { 107 int index, length; 108 double value; 109 double *LegendreSeries; 110 }; 111 112 struct xDataTOM_W_XYs_LegendreSeries_s { 113 int index, length; 114 double value; 115 xDataTOM_subAxes subAxes; 116 xDataTOM_LegendreSeries *LegendreSeries; 117 }; 118 119 struct xDataTOM_regionsW_XYs_LegendreSeries_s 120 int length; 121 xDataTOM_axes *axes; 122 xDataTOM_W_XYs_LegendreSeries *W_XYs_Legen 123 }; 124 125 struct xDataTOM_V_W_XYs_LegendreSeries_s { 126 int length; 127 xDataTOM_subAxes subAxes; 128 xDataTOM_W_XYs_LegendreSeries *W_XYs_Legen 129 }; 130 131 struct xDataTOM_KalbachMannCoefficients_s { 132 int index, length; 133 double value; 134 double *coefficients; 135 }; 136 137 struct xDataTOM_KalbachMann_s { 138 enum xDataTOM_KalbachMannType type; 139 int numberOfEnergies; 140 xDataTOM_subAxes subAxes; 141 xDataTOM_KalbachMannCoefficients *coeffici 142 }; 143 144 struct xDataTOM_polynomial_s { 145 int length; 146 xDataTOM_subAxes subAxes; 147 double *coefficients; 148 }; 149 150 struct xDataTOM_xDataInfo_s { 151 const char *ID; 152 xDataTOM_element *element; 153 xDataTOM_axes axes; 154 void *data; 155 }; 156 157 struct xDataTOM_attribute_s { 158 xDataTOM_attribute *next; 159 char *name; 160 char *value; 161 }; 162 163 struct xDataTOM_attributionList_s { 164 int number; 165 xDataTOM_attribute *attributes; 166 }; 167 168 struct xDataTOM_elementListItem_s { 169 xDataTOM_element *element; 170 const char *sortString; 171 }; 172 173 struct xDataTOM_elementList_s { 174 int n; 175 xDataTOM_elementListItem *items; 176 }; 177 178 struct xDataTOM_element_s { 179 int ordinal; 180 int index; 181 xDataTOM_element *parent; 182 xDataTOM_element *next; 183 char *name; 184 xDataTOM_attributionList attributes; 185 int numberOfChildren; 186 xDataTOM_element *children; 187 xDataTOM_xDataInfo xDataInfo; 188 }; 189 190 struct xDataTOM_TOM_s { 191 char *fileName; 192 char *realFileName; 193 xDataTOM_element root; 194 }; 195 196 /* 197 * Stuff in common/xDataTOM.c 198 */ 199 xDataTOM_TOM *xDataTOM_importFile( statusMessa 200 xDataTOM_TOM *xDataTOM_mallocTOM( statusMessag 201 int xDataTOM_initializeTOM( statusMessageRepor 202 void *xDataTOM_freeTOM( statusMessageReporting 203 int xDataTOM_setFileNameTOM( statusMessageRepo 204 void xDataTOM_displayTree( statusMessageReport 205 206 xDataTOM_element *xDataTOM_mallocElement( stat 207 void xDataTOM_freeElement( xDataTOM_element ** 208 void xDataTOM_releaseElement( xDataTOM_element 209 xDataTOM_element *xDataTOM_addElementInElement 210 xDataTOM_element *xDataTOM_getDocumentsElement 211 xDataTOM_element *xDataTOME_getFirstElement( x 212 xDataTOM_element *xDataTOME_getNextElement( xD 213 xDataTOM_element *xDataTOME_getOneElementByNam 214 int xDataTOM_numberOfElementsByName( statusMes 215 int xDataTOME_addAttribute( statusMessageRepor 216 char const *xDataTOM_getAttributesValueInEleme 217 int xDataTOME_copyAttributionList( statusMessa 218 int xDataTOME_convertAttributeToInteger( statu 219 int xDataTOME_convertAttributeToDouble( status 220 int xDataTOME_convertAttributeToDoubleWithUnit 221 int xDataTOME_getInterpolation( statusMessageR 222 enum xDataTOM_interpolationFlag *independe 223 224 void xDataTOMAL_initial( statusMessageReportin 225 void xDataTOMAL_release( xDataTOM_attributionL 226 int xDataTOMAL_addAttribute( statusMessageRepo 227 char const *xDataTOMAL_getAttributesValue( xDa 228 int xDataTOMAL_copyAttributionList( statusMess 229 int xDataTOMAL_convertAttributeToInteger( stat 230 int xDataTOMAL_convertAttributeToDouble( statu 231 232 void *xData_initializeData( statusMessageRepor 233 int xDataTOM_isXDataID( xDataTOM_element *TE, 234 235 /* 236 * Stuff in common/xDataTOMMisc.c 237 */ 238 char *xDataTOMMisc_getAbsPath( statusMessageRe 239 int xDataTOM_setMessageError_ReturnInt( int va 240 xDataTOM_element *xDataTOM_getLinksElement( st 241 242 #define xDataTOMMisc_allocateCopyString2( smr, 243 244 /* 245 * Stuff in common/xDataTOM_interpolation.c 246 */ 247 int xDataTOM_interpolation_set( statusMessageR 248 enum xDataTOM_interpolationFlag dependent, 249 int xDataTOM_interpolation_setFromString( stat 250 int xDataTOM_interpolation_copy( statusMessage 251 252 /* 253 * Stuff in common/xDataTOM_axes.c 254 */ 255 int xDataTOM_axes_initialize( statusMessageRep 256 int xDataTOM_axes_release( xDataTOM_axes *axes 257 char const *xDataTOM_axes_getLabel( statusMess 258 char const *xDataTOM_axes_getUnit( statusMessa 259 int xDataTOM_axes_getInterpolation( statusMess 260 enum xDataTOM_interpolationFlag *depen 261 262 int xDataTOM_subAxes_initialize( statusMessage 263 xDataTOM_axes *axes, xDataTOM_interpolatio 264 int xDataTOM_subAxes_release( xDataTOM_subAxes 265 char const *xDataTOM_subAxes_getLabel( statusM 266 char const *xDataTOM_subAxes_getUnit( statusMe 267 268 xDataTOM_axis *xDataTOM_axis_new( statusMessag 269 int xDataTOM_axis_initialize( statusMessageRep 270 xDataTOM_interpolation *interpolation ); 271 xDataTOM_axis *xDataTOM_axis_release( statusMe 272 enum xDataTOM_frame xDataTOM_axis_stringToFram 273 char const *xDataTOM_axis_frameToString( statu 274 275 /* 276 * Stuff in common/xDataTOM_XYs.c 277 */ 278 int xDataTOM_XYs_free( xDataTOM_xDataInfo *xDI 279 int xDataTOM_XYs_release( xDataTOM_XYs *XYs ); 280 int xDataTOM_XYs_getData( xDataTOM_XYs *XYs, d 281 int xDataTOM_XYs_getDataFromXDataInfo( xDataTO 282 283 /* 284 * Stuff in common/xDataTOM_regionsXYs.c 285 */ 286 int xDataTOM_regionsXYs_free( xDataTOM_xDataIn 287 288 /* 289 * Stuff in common/xDataTOM_W_XYs.c 290 */ 291 xDataTOM_W_XYs *xDataTOM_W_XYs_new( statusMess 292 int xDataTOM_W_XYs_initialize( statusMessageRe 293 int axesOffset ); 294 xDataTOM_W_XYs *xDataTOM_W_XYs_free( xDataTOM_ 295 int xDataTOM_W_XYs_freeFrom_xDataInfo( xDataTO 296 int xDataTOM_W_XYs_release( xDataTOM_W_XYs *W_ 297 xDataTOM_xDataInfo *xDataTOME_getXData( xDataT 298 void *xDataTOME_getXDataIfID( statusMessageRep 299 300 /* 301 * Stuff in common/xDataTOM_V_W_XYs.c 302 */ 303 int xDataTOM_V_W_XYs_initialize( statusMessage 304 int xDataTOM_V_W_XYs_free( xDataTOM_xDataInfo 305 306 /* 307 * Stuff in common/xDataTOM_LegendreSeries.c 308 */ 309 int xDataTOM_LegendreSeries_initialize( status 310 int xDataTOM_LegendreSeries_release( xDataTOM_ 311 312 /* 313 * Stuff in common/xDataTOM_W_XYs_LegendreSerie 314 */ 315 int xDataTOM_W_XYs_LegendreSeries_initialize( 316 int length, double value, enum xDataTO 317 int xDataTOM_W_XYs_LegendreSeries_free( xDataT 318 int xDataTOM_W_XYs_LegendreSeries_release( xDa 319 320 /* 321 * Stuff in common/xDataTOM_regionsW_XYs_Legend 322 */ 323 int xDataTOM_regionsW_XYs_LegendreSeries_initi 324 int length, xDataTOM_axes *axes ); 325 int xDataTOM_regionsW_XYs_LegendreSeries_free( 326 int xDataTOM_regionsW_XYs_LegendreSeries_relea 327 328 /* 329 * Stuff in common/xDataTOM_V_W_XYs_LegendreSer 330 */ 331 int xDataTOM_V_W_XYs_LegendreSeries_initialize 332 int length, xDataTOM_axes *axes ); 333 int xDataTOM_V_W_XYs_LegendreSeries_free( xDat 334 335 /* 336 * Stuff in common/xDataTOM_KalbachMann.c 337 */ 338 int xDataTOM_KalbachMann_initialize( statusMes 339 int xDataTOM_KalbachMann_free( xDataTOM_xDataI 340 int xDataTOM_KalbachMann_release( xDataTOM_Kal 341 342 /* 343 * Stuff in common/xDataTOM_polynomial.c 344 */ 345 int xDataTOM_polynomial_initialize( statusMess 346 int xDataTOM_polynomial_free( xDataTOM_xDataIn 347 int xDataTOM_polynomial_release( xDataTOM_poly 348 int xDataTOM_polynomial_getData( xDataTOM_poly 349 int xDataTOM_polynomial_getDataFromXDataInfo( 350 351 #if defined __cplusplus 352 } 353 } 354 #endif 355 356 #endif /* End of xDataTOM_h_inclu 357