Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
xDataTOM.h File Reference

Go to the source code of this file.

Classes

struct  xDataTOM_interpolation_s
 
struct  xDataTOM_axis_s
 
struct  xDataTOM_axes_s
 
struct  xDataTOM_subAxes_s
 
struct  xDataTOM_XYs_s
 
struct  xDataTOM_regionsXYs_s
 
struct  xDataTOM_W_XYs_s
 
struct  xDataTOM_V_W_XYs_s
 
struct  xDataTOM_LegendreSeries_s
 
struct  xDataTOM_W_XYs_LegendreSeries_s
 
struct  xDataTOM_regionsW_XYs_LegendreSeries_s
 
struct  xDataTOM_V_W_XYs_LegendreSeries_s
 
struct  xDataTOM_KalbachMannCoefficients_s
 
struct  xDataTOM_KalbachMann_s
 
struct  xDataTOM_polynomial_s
 
struct  xDataTOM_xDataInfo_s
 
struct  xDataTOM_attribute_s
 
struct  xDataTOM_attributionList_s
 
struct  xDataTOM_elementListItem_s
 
struct  xDataTOM_elementList_s
 
struct  xDataTOM_element_s
 
struct  xDataTOM_TOM_s
 

Macros

#define xDataTOMMisc_allocateCopyString2(smr, s, forItem)   xDataTOMMisc_allocateCopyString( smr, s, forItem, __FILE__, __LINE__ )
 

Typedefs

typedef int xDataTOM_Int
 
typedef struct xDataTOM_interpolation_s xDataTOM_interpolation
 
typedef struct xDataTOM_axis_s xDataTOM_axis
 
typedef struct xDataTOM_axes_s xDataTOM_axes
 
typedef struct xDataTOM_subAxes_s xDataTOM_subAxes
 
typedef struct xDataTOM_XYs_s xDataTOM_XYs
 
typedef struct xDataTOM_regionsXYs_s xDataTOM_regionsXYs
 
typedef struct xDataTOM_W_XYs_s xDataTOM_W_XYs
 
typedef struct xDataTOM_V_W_XYs_s xDataTOM_V_W_XYs
 
typedef struct xDataTOM_LegendreSeries_s xDataTOM_LegendreSeries
 
typedef struct xDataTOM_W_XYs_LegendreSeries_s xDataTOM_W_XYs_LegendreSeries
 
typedef struct xDataTOM_regionsW_XYs_LegendreSeries_s xDataTOM_regionsW_XYs_LegendreSeries
 
typedef struct xDataTOM_V_W_XYs_LegendreSeries_s xDataTOM_V_W_XYs_LegendreSeries
 
typedef struct xDataTOM_KalbachMannCoefficients_s xDataTOM_KalbachMannCoefficients
 
typedef struct xDataTOM_KalbachMann_s xDataTOM_KalbachMann
 
typedef struct xDataTOM_polynomial_s xDataTOM_polynomial
 
typedef struct xDataTOM_xDataInfo_s xDataTOM_xDataInfo
 
typedef struct xDataTOM_attribute_s xDataTOM_attribute
 
typedef struct xDataTOM_attributionList_s xDataTOM_attributionList
 
typedef struct xDataTOM_elementListItem_s xDataTOM_elementListItem
 
typedef struct xDataTOM_elementList_s xDataTOM_elementList
 
typedef struct xDataTOM_element_s xDataTOM_element
 
typedef struct xDataTOM_TOM_s xDataTOM_TOM
 
typedef int(* xDataTOM_sortElementFunc) (const void *, const void *)
 

Enumerations

enum  xDataTOM_interpolationFlag {
  xDataTOM_interpolationFlag_invalid , xDataTOM_interpolationFlag_linear , xDataTOM_interpolationFlag_log , xDataTOM_interpolationFlag_byRegion ,
  xDataTOM_interpolationFlag_flat
}
 
enum  xDataTOM_interpolationQualifier {
  xDataTOM_interpolationQualifier_invalid , xDataTOM_interpolationQualifier_dependent , xDataTOM_interpolationQualifier_none , xDataTOM_interpolationQualifier_unitBase ,
  xDataTOM_interpolationQualifier_correspondingPoints
}
 
enum  xDataTOM_frame { xDataTOM_frame_invalid , xDataTOM_frame_lab , xDataTOM_frame_centerOfMass }
 
enum  xDataTOM_subAxesType { xDataTOM_subAxesType_proxy , xDataTOM_subAxesType_intepolationAxes }
 
enum  xDataTOM_KalbachMannType { xDataTOM_KalbachMannType_fr , xDataTOM_KalbachMannType_fra }
 

Functions

xDataTOM_TOMxDataTOM_importFile (statusMessageReporting *smr, const char *fileName)
 
xDataTOM_TOMxDataTOM_mallocTOM (statusMessageReporting *smr)
 
int xDataTOM_initializeTOM (statusMessageReporting *smr, xDataTOM_TOM *doc)
 
void * xDataTOM_freeTOM (statusMessageReporting *smr, xDataTOM_TOM **TOM)
 
int xDataTOM_setFileNameTOM (statusMessageReporting *smr, xDataTOM_TOM *doc, const char *fileName)
 
void xDataTOM_displayTree (statusMessageReporting *smr, xDataTOM_TOM *TOM, int printAttributes)
 
xDataTOM_elementxDataTOM_mallocElement (statusMessageReporting *smr, xDataTOM_element *parent, int ordinal, int index, char const *name)
 
void xDataTOM_freeElement (xDataTOM_element **element)
 
void xDataTOM_releaseElement (xDataTOM_element *element)
 
xDataTOM_elementxDataTOM_addElementInElement (statusMessageReporting *smr, xDataTOM_element *parent, int index, char const *name)
 
xDataTOM_elementxDataTOM_getDocumentsElement (xDataTOM_TOM *TOM)
 
xDataTOM_elementxDataTOME_getFirstElement (xDataTOM_element *element)
 
xDataTOM_elementxDataTOME_getNextElement (xDataTOM_element *element)
 
xDataTOM_elementxDataTOME_getOneElementByName (statusMessageReporting *smr, xDataTOM_element *element, char const *name, int required)
 
int xDataTOM_numberOfElementsByName (statusMessageReporting *smr, xDataTOM_element *element, char const *name)
 
int xDataTOME_addAttribute (statusMessageReporting *smr, xDataTOM_element *element, char const *name, char const *value)
 
char const * xDataTOM_getAttributesValueInElement (xDataTOM_element *element, char const *name)
 
int xDataTOME_copyAttributionList (statusMessageReporting *smr, xDataTOM_attributionList *desc, xDataTOM_element *element)
 
int xDataTOME_convertAttributeToInteger (statusMessageReporting *smr, xDataTOM_element *element, char const *name, int *n)
 
int xDataTOME_convertAttributeToDouble (statusMessageReporting *smr, xDataTOM_element *element, char const *name, double *d)
 
int xDataTOME_convertAttributeToDoubleWithUnit (statusMessageReporting *smr, xDataTOM_element *element, char const *name, double *d, char *unit)
 
int xDataTOME_getInterpolation (statusMessageReporting *smr, xDataTOM_element *element, int index, enum xDataTOM_interpolationFlag *independent, enum xDataTOM_interpolationFlag *dependent, enum xDataTOM_interpolationQualifier *qualifier)
 
void xDataTOMAL_initial (statusMessageReporting *smr, xDataTOM_attributionList *attributes)
 
void xDataTOMAL_release (xDataTOM_attributionList *attributes)
 
int xDataTOMAL_addAttribute (statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, char const *value)
 
char const * xDataTOMAL_getAttributesValue (xDataTOM_attributionList *attributes, char const *name)
 
int xDataTOMAL_copyAttributionList (statusMessageReporting *smr, xDataTOM_attributionList *desc, xDataTOM_attributionList *src)
 
int xDataTOMAL_convertAttributeToInteger (statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, int *n)
 
int xDataTOMAL_convertAttributeToDouble (statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, double *d)
 
void * xData_initializeData (statusMessageReporting *smr, xDataTOM_element *TE, char const *ID, size_t size)
 
int xDataTOM_isXDataID (xDataTOM_element *TE, char const *ID)
 
char * xDataTOMMisc_getAbsPath (statusMessageReporting *smr, const char *fileName)
 
int xDataTOM_setMessageError_ReturnInt (int value, statusMessageReporting *smr, void *userData, const char *file, int line, int code, const char *fmt,...)
 
xDataTOM_elementxDataTOM_getLinksElement (statusMessageReporting *smr, xDataTOM_element *element, char const *link)
 
int xDataTOM_interpolation_set (statusMessageReporting *smr, xDataTOM_interpolation *interpolation, enum xDataTOM_interpolationFlag independent, enum xDataTOM_interpolationFlag dependent, enum xDataTOM_interpolationQualifier qualifier)
 
int xDataTOM_interpolation_setFromString (statusMessageReporting *smr, xDataTOM_interpolation *interpolation, char const *str)
 
int xDataTOM_interpolation_copy (statusMessageReporting *smr, xDataTOM_interpolation *desc, xDataTOM_interpolation *src)
 
int xDataTOM_axes_initialize (statusMessageReporting *smr, xDataTOM_axes *axes, int numberOfAxes)
 
int xDataTOM_axes_release (xDataTOM_axes *axes)
 
char const * xDataTOM_axes_getLabel (statusMessageReporting *smr, xDataTOM_axes *axes, int index)
 
char const * xDataTOM_axes_getUnit (statusMessageReporting *smr, xDataTOM_axes *axes, int index)
 
int xDataTOM_axes_getInterpolation (statusMessageReporting *smr, xDataTOM_axes *axes, int index, enum xDataTOM_interpolationFlag *independent, enum xDataTOM_interpolationFlag *dependent, enum xDataTOM_interpolationQualifier *qualifier)
 
int xDataTOM_subAxes_initialize (statusMessageReporting *smr, xDataTOM_subAxes *subAxes, enum xDataTOM_subAxesType type, int offset, xDataTOM_axes *axes, xDataTOM_interpolation *interpolation)
 
int xDataTOM_subAxes_release (xDataTOM_subAxes *subAxes)
 
char const * xDataTOM_subAxes_getLabel (statusMessageReporting *smr, xDataTOM_subAxes *subAxes, int index)
 
char const * xDataTOM_subAxes_getUnit (statusMessageReporting *smr, xDataTOM_subAxes *subAxes, int index)
 
xDataTOM_axisxDataTOM_axis_new (statusMessageReporting *smr, int index, char const *label, char const *unit, xDataTOM_interpolation *interpolation)
 
int xDataTOM_axis_initialize (statusMessageReporting *smr, xDataTOM_axis *axis, int index, char const *label, char const *unit, xDataTOM_interpolation *interpolation)
 
xDataTOM_axisxDataTOM_axis_release (statusMessageReporting *smr, xDataTOM_axis *axis)
 
enum xDataTOM_frame xDataTOM_axis_stringToFrame (statusMessageReporting *smr, char const *frame)
 
char const * xDataTOM_axis_frameToString (statusMessageReporting *smr, enum xDataTOM_frame frame)
 
int xDataTOM_XYs_free (xDataTOM_xDataInfo *xDI)
 
int xDataTOM_XYs_release (xDataTOM_XYs *XYs)
 
int xDataTOM_XYs_getData (xDataTOM_XYs *XYs, double **data)
 
int xDataTOM_XYs_getDataFromXDataInfo (xDataTOM_xDataInfo *xDI, double **data)
 
int xDataTOM_regionsXYs_free (xDataTOM_xDataInfo *xDI)
 
xDataTOM_W_XYsxDataTOM_W_XYs_new (statusMessageReporting *smr, int index, int length, double value, xDataTOM_axes *axes, int axesOffset)
 
int xDataTOM_W_XYs_initialize (statusMessageReporting *smr, xDataTOM_W_XYs *W_XYs, int index, int length, double value, xDataTOM_axes *axes, int axesOffset)
 
xDataTOM_W_XYsxDataTOM_W_XYs_free (xDataTOM_W_XYs *W_XYs)
 
int xDataTOM_W_XYs_freeFrom_xDataInfo (xDataTOM_xDataInfo *xDI)
 
int xDataTOM_W_XYs_release (xDataTOM_W_XYs *W_XYs)
 
xDataTOM_xDataInfoxDataTOME_getXData (xDataTOM_element *TE)
 
void * xDataTOME_getXDataIfID (statusMessageReporting *smr, xDataTOM_element *TE, char const *ID)
 
int xDataTOM_V_W_XYs_initialize (statusMessageReporting *smr, xDataTOM_V_W_XYs *V_W_XYs, int length, xDataTOM_axes *axes)
 
int xDataTOM_V_W_XYs_free (xDataTOM_xDataInfo *xDI)
 
int xDataTOM_LegendreSeries_initialize (statusMessageReporting *smr, xDataTOM_LegendreSeries *LegendreSeries, int index, int length, double value)
 
int xDataTOM_LegendreSeries_release (xDataTOM_LegendreSeries *LegendreSeries)
 
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 xDataTOM_W_XYs_LegendreSeries_free (xDataTOM_xDataInfo *xDI)
 
int xDataTOM_W_XYs_LegendreSeries_release (xDataTOM_W_XYs_LegendreSeries *W_XYs_LegendreSeries)
 
int xDataTOM_regionsW_XYs_LegendreSeries_initialize (statusMessageReporting *smr, xDataTOM_regionsW_XYs_LegendreSeries *regionsW_XYs_LegendreSeries, int length, xDataTOM_axes *axes)
 
int xDataTOM_regionsW_XYs_LegendreSeries_free (xDataTOM_xDataInfo *xDI)
 
int xDataTOM_regionsW_XYs_LegendreSeries_release (xDataTOM_regionsW_XYs_LegendreSeries *regionsW_XYs_LegendreSeries)
 
int xDataTOM_V_W_XYs_LegendreSeries_initialize (statusMessageReporting *smr, xDataTOM_V_W_XYs_LegendreSeries *V_W_XYs_LegendreSeries, int length, xDataTOM_axes *axes)
 
int xDataTOM_V_W_XYs_LegendreSeries_free (xDataTOM_xDataInfo *xDI)
 
int xDataTOM_KalbachMann_initialize (statusMessageReporting *smr, xDataTOM_KalbachMann *KalbachMann, int length, xDataTOM_axes *axes)
 
int xDataTOM_KalbachMann_free (xDataTOM_xDataInfo *xDI)
 
int xDataTOM_KalbachMann_release (xDataTOM_KalbachMann *KalbachMann)
 
int xDataTOM_polynomial_initialize (statusMessageReporting *smr, xDataTOM_polynomial *polynomial, int length, xDataTOM_axes *axes)
 
int xDataTOM_polynomial_free (xDataTOM_xDataInfo *xDI)
 
int xDataTOM_polynomial_release (xDataTOM_polynomial *polynomial)
 
int xDataTOM_polynomial_getData (xDataTOM_polynomial *polynomial, double **data)
 
int xDataTOM_polynomial_getDataFromXDataInfo (xDataTOM_xDataInfo *xDI, double **data)
 

Macro Definition Documentation

◆ xDataTOMMisc_allocateCopyString2

#define xDataTOMMisc_allocateCopyString2 (   smr,
  s,
  forItem 
)    xDataTOMMisc_allocateCopyString( smr, s, forItem, __FILE__, __LINE__ )

Definition at line 242 of file xDataTOM.h.

Typedef Documentation

◆ xDataTOM_attribute

Definition at line 47 of file xDataTOM.h.

◆ xDataTOM_attributionList

Definition at line 48 of file xDataTOM.h.

◆ xDataTOM_axes

Definition at line 29 of file xDataTOM.h.

◆ xDataTOM_axis

Definition at line 28 of file xDataTOM.h.

◆ xDataTOM_element

Definition at line 51 of file xDataTOM.h.

◆ xDataTOM_elementList

Definition at line 50 of file xDataTOM.h.

◆ xDataTOM_elementListItem

Definition at line 49 of file xDataTOM.h.

◆ xDataTOM_Int

typedef int xDataTOM_Int

Definition at line 16 of file xDataTOM.h.

◆ xDataTOM_interpolation

Definition at line 27 of file xDataTOM.h.

◆ xDataTOM_KalbachMann

Definition at line 42 of file xDataTOM.h.

◆ xDataTOM_KalbachMannCoefficients

◆ xDataTOM_LegendreSeries

Definition at line 37 of file xDataTOM.h.

◆ xDataTOM_polynomial

Definition at line 43 of file xDataTOM.h.

◆ xDataTOM_regionsW_XYs_LegendreSeries

◆ xDataTOM_regionsXYs

Definition at line 33 of file xDataTOM.h.

◆ xDataTOM_sortElementFunc

typedef int(* xDataTOM_sortElementFunc) (const void *, const void *)

Definition at line 54 of file xDataTOM.h.

◆ xDataTOM_subAxes

Definition at line 30 of file xDataTOM.h.

◆ xDataTOM_TOM

typedef struct xDataTOM_TOM_s xDataTOM_TOM

Definition at line 52 of file xDataTOM.h.

◆ xDataTOM_V_W_XYs

Definition at line 35 of file xDataTOM.h.

◆ xDataTOM_V_W_XYs_LegendreSeries

◆ xDataTOM_W_XYs

Definition at line 34 of file xDataTOM.h.

◆ xDataTOM_W_XYs_LegendreSeries

Definition at line 38 of file xDataTOM.h.

◆ xDataTOM_xDataInfo

Definition at line 45 of file xDataTOM.h.

◆ xDataTOM_XYs

typedef struct xDataTOM_XYs_s xDataTOM_XYs

Definition at line 32 of file xDataTOM.h.

Enumeration Type Documentation

◆ xDataTOM_frame

Enumerator
xDataTOM_frame_invalid 
xDataTOM_frame_lab 
xDataTOM_frame_centerOfMass 

Definition at line 23 of file xDataTOM.h.

@ xDataTOM_frame_centerOfMass
Definition: xDataTOM.h:23
@ xDataTOM_frame_invalid
Definition: xDataTOM.h:23
@ xDataTOM_frame_lab
Definition: xDataTOM.h:23

◆ xDataTOM_interpolationFlag

Enumerator
xDataTOM_interpolationFlag_invalid 
xDataTOM_interpolationFlag_linear 
xDataTOM_interpolationFlag_log 
xDataTOM_interpolationFlag_byRegion 
xDataTOM_interpolationFlag_flat 

Definition at line 19 of file xDataTOM.h.

◆ xDataTOM_interpolationQualifier

Enumerator
xDataTOM_interpolationQualifier_invalid 
xDataTOM_interpolationQualifier_dependent 
xDataTOM_interpolationQualifier_none 
xDataTOM_interpolationQualifier_unitBase 
xDataTOM_interpolationQualifier_correspondingPoints 

Definition at line 21 of file xDataTOM.h.

◆ xDataTOM_KalbachMannType

Enumerator
xDataTOM_KalbachMannType_fr 
xDataTOM_KalbachMannType_fra 

Definition at line 25 of file xDataTOM.h.

@ xDataTOM_KalbachMannType_fra
Definition: xDataTOM.h:25
@ xDataTOM_KalbachMannType_fr
Definition: xDataTOM.h:25

◆ xDataTOM_subAxesType

Enumerator
xDataTOM_subAxesType_proxy 
xDataTOM_subAxesType_intepolationAxes 

Definition at line 24 of file xDataTOM.h.

@ xDataTOM_subAxesType_proxy
Definition: xDataTOM.h:24
@ xDataTOM_subAxesType_intepolationAxes
Definition: xDataTOM.h:24

Function Documentation

◆ xData_initializeData()

void * xData_initializeData ( statusMessageReporting smr,
xDataTOM_element TE,
char const *  ID,
size_t  size 
)

Definition at line 479 of file xDataTOM.cc.

479 {
480
481 xDataTOM_xDataInfo *xDI = &(TE->xDataInfo);
482
483 xDI->data = NULL;
484 xDI->ID = ID;
485 xDI->element = TE;
486 return( xDI->data = (void *) smr_malloc2( smr, size, 1, "xDI->data" ) );
487}
#define smr_malloc2(smr, size, zero, forItem)
xDataTOM_xDataInfo xDataInfo
Definition: xDataTOM.h:187
const char * ID
Definition: xDataTOM.h:151
xDataTOM_element * element
Definition: xDataTOM.h:152

Referenced by xDataXML_initializeData().

◆ xDataTOM_addElementInElement()

xDataTOM_element * xDataTOM_addElementInElement ( statusMessageReporting smr,
xDataTOM_element parent,
int  index,
char const *  name 
)

Definition at line 188 of file xDataTOM.cc.

188 {
189
190 xDataTOM_element *element;
191
192 if( ( element = xDataTOM_mallocElement( smr, parent, parent->numberOfChildren, index, name ) ) == NULL ) return( NULL );
193 if( parent->children == NULL ) {
194 parent->children = element; }
195 else {
196 xDataTOM_element *last;
197
198 for( last = parent->children; last->next != NULL; last = last->next ) ;
199 last->next = element;
200 }
201 (parent->numberOfChildren)++;
202 return( element );
203}
xDataTOM_element * children
Definition: xDataTOM.h:186
xDataTOM_element * next
Definition: xDataTOM.h:182
xDataTOM_element * xDataTOM_mallocElement(statusMessageReporting *smr, xDataTOM_element *parent, int ordinal, int index, char const *name)
Definition: xDataTOM.cc:125

◆ xDataTOM_axes_getInterpolation()

int xDataTOM_axes_getInterpolation ( statusMessageReporting smr,
xDataTOM_axes axes,
int  index,
enum xDataTOM_interpolationFlag independent,
enum xDataTOM_interpolationFlag dependent,
enum xDataTOM_interpolationQualifier qualifier 
)

Definition at line 66 of file xDataTOM_axes.cc.

67 {
68
69 xDataTOM_interpolation *interpolation;
70
71 if( ( index < 0 ) || ( index >= axes->numberOfAxes ) ) {
72 smr_setReportError2( smr, xDataTOM_smrLibraryID, -1, "invalid axes index = %d", index );
73 return( 1 );
74 }
75 interpolation = &(axes->axis[index].interpolation);
76 *independent = interpolation->independent;
77 *dependent = interpolation->dependent;
78 *qualifier = interpolation->qualifier;
79
80 return( 0 );
81}
#define smr_setReportError2(smr, libraryID, code, fmt,...)
int numberOfAxes
Definition: xDataTOM.h:69
xDataTOM_axis * axis
Definition: xDataTOM.h:70
xDataTOM_interpolation interpolation
Definition: xDataTOM.h:65
enum xDataTOM_interpolationFlag independent dependent
Definition: xDataTOM.h:57
enum xDataTOM_interpolationQualifier qualifier
Definition: xDataTOM.h:58
int xDataTOM_smrLibraryID
Definition: xDataTOM.cc:34

Referenced by xDataTOME_getInterpolation().

◆ xDataTOM_axes_getLabel()

char const * xDataTOM_axes_getLabel ( statusMessageReporting smr,
xDataTOM_axes axes,
int  index 
)

Definition at line 44 of file xDataTOM_axes.cc.

44 {
45
46 if( ( index < 0 ) || ( index >= axes->numberOfAxes ) ) {
47 smr_setReportError2( smr, xDataTOM_smrLibraryID, -1, "invalid axes index = %d", index );
48 return( NULL );
49 }
50 return( axes->axis[index].label );
51}
char * label
Definition: xDataTOM.h:63

Referenced by xDataTOM_subAxes_getLabel(), xDataXML_KalbachMannToTOM(), xDataXML_regionsW_XYs_LegendreSeriesToTOM(), xDataXML_V_W_XYs_LegendreSeriesToTOM(), xDataXML_V_W_XYsToTOM(), xDataXML_W_XYs_LegendreSeriesToTOM(), and xDataXML_W_XYsDataToTOM().

◆ xDataTOM_axes_getUnit()

char const * xDataTOM_axes_getUnit ( statusMessageReporting smr,
xDataTOM_axes axes,
int  index 
)

Definition at line 55 of file xDataTOM_axes.cc.

55 {
56
57 if( ( index < 0 ) || ( index >= axes->numberOfAxes ) ) {
58 smr_setReportError2( smr, xDataTOM_smrLibraryID, -1, "invalid axes index = %d", index );
59 return( NULL );
60 }
61 return( axes->axis[index].unit );
62}
char * unit
Definition: xDataTOM.h:64

Referenced by MCGIDI_fromTOM_pdfsOfXGivenW(), MCGIDI_KalbachMann_parseFromTOM(), and xDataTOM_subAxes_getUnit().

◆ xDataTOM_axes_initialize()

int xDataTOM_axes_initialize ( statusMessageReporting smr,
xDataTOM_axes axes,
int  numberOfAxes 
)

Definition at line 21 of file xDataTOM_axes.cc.

21 {
22
23 axes->numberOfAxes = 0;
24 if( ( axes->axis = (xDataTOM_axis *) smr_malloc2( smr, numberOfAxes * sizeof( xDataTOM_axis ), 1, "axes->axis" ) ) == NULL ) return( 1 );
25 axes->numberOfAxes = numberOfAxes;
26 return( 0 );
27}

Referenced by xDataXML_axesToTOM().

◆ xDataTOM_axes_release()

int xDataTOM_axes_release ( xDataTOM_axes axes)

Definition at line 31 of file xDataTOM_axes.cc.

31 {
32
33 int i;
34
35 for( i = 0; i < axes->numberOfAxes; i++ ) {
36 xDataTOM_axis_release( NULL, &(axes->axis[i]) );
37 }
38 smr_freeMemory( (void **) &(axes->axis) );
39 return( 0 );
40}
void * smr_freeMemory(void **p)
xDataTOM_axis * xDataTOM_axis_release(statusMessageReporting *, xDataTOM_axis *axis)

Referenced by xDataTOM_releaseElement().

◆ xDataTOM_axis_frameToString()

char const * xDataTOM_axis_frameToString ( statusMessageReporting smr,
enum xDataTOM_frame  frame 
)

Definition at line 191 of file xDataTOM_axes.cc.

191 {
192
193 switch( frame ) {
194 case xDataTOM_frame_lab : return( xDataTOM_frame_labString );
195 case xDataTOM_frame_centerOfMass : return( xDataTOM_frame_centerOfMassString );
196 default :
197 break;
198 }
199 return( xDataTOM_frame_invalidString );
200}

◆ xDataTOM_axis_initialize()

int xDataTOM_axis_initialize ( statusMessageReporting smr,
xDataTOM_axis axis,
int  index,
char const *  label,
char const *  unit,
xDataTOM_interpolation interpolation 
)

Definition at line 155 of file xDataTOM_axes.cc.

155 {
156
157 axis->index = index;
158 if( ( axis->label = smr_allocateCopyString2( smr, label, "label" ) ) == NULL ) goto err;
159 if( ( axis->unit = smr_allocateCopyString2( smr, unit, "unit" ) ) == NULL ) goto err;
160 if( xDataTOM_interpolation_copy( smr, &(axis->interpolation), interpolation ) != 0 ) goto err;
161
162 return( 0 );
163
164err:
165 smr_freeMemory( (void **) &(axis->label) );
166 smr_freeMemory( (void **) &(axis->unit) );
167 return( 1 );
168}
#define smr_allocateCopyString2(smr, s, forItem)
int xDataTOM_interpolation_copy(statusMessageReporting *smr, xDataTOM_interpolation *desc, xDataTOM_interpolation *src)

Referenced by xDataTOM_axis_new(), and xDataXML_axesToTOM().

◆ xDataTOM_axis_new()

xDataTOM_axis * xDataTOM_axis_new ( statusMessageReporting smr,
int  index,
char const *  label,
char const *  unit,
xDataTOM_interpolation interpolation 
)

Definition at line 144 of file xDataTOM_axes.cc.

144 {
145
146 xDataTOM_axis *axis = NULL;
147
148 if( ( axis = (xDataTOM_axis *) smr_malloc2( smr, sizeof( xDataTOM_axis ), 0, "axis" ) ) == NULL ) return( NULL );
149 if( xDataTOM_axis_initialize( smr, axis, index, label, unit, interpolation ) != 0 ) smr_freeMemory( (void **) &axis );
150 return( axis );
151}
int xDataTOM_axis_initialize(statusMessageReporting *smr, xDataTOM_axis *axis, int index, char const *label, char const *unit, xDataTOM_interpolation *interpolation)

◆ xDataTOM_axis_release()

xDataTOM_axis * xDataTOM_axis_release ( statusMessageReporting smr,
xDataTOM_axis axis 
)

Definition at line 172 of file xDataTOM_axes.cc.

172 {
173
174 axis->index = -1;
175 smr_freeMemory( (void **) &(axis->label) );
176 smr_freeMemory( (void **) &(axis->unit) );
177 return( NULL );
178}

Referenced by xDataTOM_axes_release(), and xDataXML_axesToTOM().

◆ xDataTOM_axis_stringToFrame()

enum xDataTOM_frame xDataTOM_axis_stringToFrame ( statusMessageReporting smr,
char const *  frame 
)

Definition at line 182 of file xDataTOM_axes.cc.

182 {
183
184 if( strcmp( "lab", frame ) == 0 ) return( xDataTOM_frame_lab );
185 if( strcmp( "centerOfMass", frame ) == 0 ) return( xDataTOM_frame_centerOfMass );
186 return( xDataTOM_frame_invalid );
187}

Referenced by MCGIDI_misc_getProductFrame().

◆ xDataTOM_displayTree()

void xDataTOM_displayTree ( statusMessageReporting smr,
xDataTOM_TOM TOM,
int  printAttributes 
)

Definition at line 114 of file xDataTOM.cc.

114 {
115
116 if( TOM->root.children != NULL ) xDataTOME_displayTree( smr, TOM->root.children, printAttributes, 0 );
117}
xDataTOM_element root
Definition: xDataTOM.h:193

◆ xDataTOM_freeElement()

void xDataTOM_freeElement ( xDataTOM_element **  element)

Definition at line 139 of file xDataTOM.cc.

139 {
140
141 if( element == NULL ) return;
142 xDataTOM_releaseElement( *element );
143 smr_freeMemory( (void **) element );
144}
void xDataTOM_releaseElement(xDataTOM_element *element)
Definition: xDataTOM.cc:148

Referenced by xDataTOM_releaseElement().

◆ xDataTOM_freeTOM()

void * xDataTOM_freeTOM ( statusMessageReporting smr,
xDataTOM_TOM **  TOM 
)

Definition at line 78 of file xDataTOM.cc.

78 {
79
80 xDataTOM_TOM *TOMp;
81
82 if( TOM == NULL ) return( NULL );
83 TOMp = *TOM;
84 if( TOMp == NULL ) return( NULL );
85 xDataTOM_releaseElement( &(TOMp->root) );
86 smr_freeMemory( (void **) &(TOMp->fileName) );
87 smr_freeMemory( (void **) &(TOMp->realFileName) );
88 smr_freeMemory( (void **) TOM );
89 return( NULL );
90}
char * fileName
Definition: xDataTOM.h:191
char * realFileName
Definition: xDataTOM.h:192

Referenced by MCGIDI_target_heated_read(), and xDataXML_importFile().

◆ xDataTOM_getAttributesValueInElement()

char const * xDataTOM_getAttributesValueInElement ( xDataTOM_element element,
char const *  name 
)

◆ xDataTOM_getDocumentsElement()

xDataTOM_element * xDataTOM_getDocumentsElement ( xDataTOM_TOM TOM)

Definition at line 223 of file xDataTOM.cc.

223 {
224
225 return( TOM->root.children );
226}

Referenced by MCGIDI_target_heated_read().

◆ xDataTOM_getLinksElement()

xDataTOM_element * xDataTOM_getLinksElement ( statusMessageReporting smr,
xDataTOM_element element,
char const *  link 
)

Definition at line 89 of file xDataTOM_Misc.cc.

89 {
90
91 xDataTOM_element *linkedElement = NULL;
92
93 if( link[0] == '/' ) {
94 for( linkedElement = element; linkedElement->parent != NULL; ) linkedElement = linkedElement->parent;
95 linkedElement = xDataTOM_getLinksElement2( smr, linkedElement, &(link[1]), link ); }
96 else {
97 smr_setReportError2( smr, smr_unknownID, 1, "Only absolute link currently supported: requested link = '%s'", link );
98 }
99 return( linkedElement );
100}
#define smr_unknownID
xDataTOM_element * parent
Definition: xDataTOM.h:181

◆ xDataTOM_importFile()

xDataTOM_TOM * xDataTOM_importFile ( statusMessageReporting smr,
const char *  fileName 
)

Definition at line 44 of file xDataTOM.cc.

44 {
45/*
46* Returns NULL is an error occurred.
47*/
48
49 return( xDataXML_importFile( smr, fileName ) );
50}
xDataTOM_TOM * xDataXML_importFile(statusMessageReporting *smr, char const *fileName)

Referenced by MCGIDI_target_heated_read().

◆ xDataTOM_initializeTOM()

int xDataTOM_initializeTOM ( statusMessageReporting smr,
xDataTOM_TOM doc 
)

Definition at line 68 of file xDataTOM.cc.

68 {
69
70 TOM->fileName = NULL;
71 TOM->realFileName = NULL;
72 xDataTOME_initializeElement( smr, &(TOM->root), NULL, 0, 0, "" );
73 return( !smr_isOk( smr ) );
74}
int smr_isOk(statusMessageReporting *smr)

Referenced by xDataTOM_mallocTOM().

◆ xDataTOM_interpolation_copy()

int xDataTOM_interpolation_copy ( statusMessageReporting smr,
xDataTOM_interpolation desc,
xDataTOM_interpolation src 
)

Definition at line 102 of file xDataTOM_interpolation.cc.

102 {
103
104 return( xDataTOM_interpolation_set( smr, desc, src->independent, src->dependent, src->qualifier ) );
105}
int xDataTOM_interpolation_set(statusMessageReporting *smr, xDataTOM_interpolation *interpolation, enum xDataTOM_interpolationFlag independent, enum xDataTOM_interpolationFlag dependent, enum xDataTOM_interpolationQualifier qualifier)

Referenced by xDataTOM_axis_initialize(), and xDataTOM_subAxes_initialize().

◆ xDataTOM_interpolation_set()

int xDataTOM_interpolation_set ( statusMessageReporting smr,
xDataTOM_interpolation interpolation,
enum xDataTOM_interpolationFlag  independent,
enum xDataTOM_interpolationFlag  dependent,
enum xDataTOM_interpolationQualifier  qualifier 
)

Definition at line 22 of file xDataTOM_interpolation.cc.

23 {
24
25 if( ( independent < xDataTOM_interpolationFlag_linear ) || ( independent > xDataTOM_interpolationFlag_byRegion ) ) {
26 smr_setReportError2( smr, xDataTOM_smrLibraryID, -1, "invalid independent interpolation = %d", independent );
27 return( 1 );
28 }
29 if( ( dependent < xDataTOM_interpolationFlag_linear ) || ( dependent > xDataTOM_interpolationFlag_flat ) ) {
30 smr_setReportError2( smr, xDataTOM_smrLibraryID, -1, "invalid dependent interpolation = %d", dependent );
31 return( 1 );
32 }
34 smr_setReportError2( smr, xDataTOM_smrLibraryID, -1, "invalid interpolation qualifier = %d", qualifier );
35 return( 1 );
36 }
37
38 interpolation->independent = independent;
39 interpolation->dependent = dependent;
40 interpolation->qualifier = qualifier;
41 return( 0 );
42}

Referenced by xDataTOM_interpolation_copy(), xDataTOM_interpolation_setFromString(), xDataTOM_subAxes_initialize(), and xDataXML_axesToTOM().

◆ xDataTOM_interpolation_setFromString()

int xDataTOM_interpolation_setFromString ( statusMessageReporting smr,
xDataTOM_interpolation interpolation,
char const *  str 
)

Definition at line 46 of file xDataTOM_interpolation.cc.

46 {
47
48 int flag = 0;
49 char const *c, *e;
51 enum xDataTOM_interpolationFlag independent, dependent;
52
53 if( ( c = strchr( str, ':' ) ) != NULL ) {
54 if( strncmp( "unitBase:", str, 9 ) == 0 ) {
56 else if( strncmp( "correspondingPoints:", str, 20 ) == 0 ) {
58 else {
59 smr_setReportError2( smr, xDataTOM_smrLibraryID, -1, "invalid interpolation string qualifier '%s'", str );
60 return( 1 );
61 }
62 c++; }
63 else {
64 c = str;
65 }
66 if( ( independent = xDataTOM_interpolation_getFromString( smr, c, &e, str, flag ) ) == xDataTOM_interpolationFlag_invalid ) return( 1 );
67 if( *e != ',' ) {
68 smr_setReportError2( smr, xDataTOM_smrLibraryID, -1, "missing ',' separator in interpolation string'%s'", str );
69 return( 1 );
70 }
71 c = ++e;
72 flag |= dependentAxis;
73 if( ( dependent = xDataTOM_interpolation_getFromString( smr, c, &e, str, flag ) ) == xDataTOM_interpolationFlag_invalid ) return( 1 );
74 xDataTOM_interpolation_set( smr, interpolation, independent, dependent, qualifier );
75 return( 0 );
76}
xDataTOM_interpolationFlag
Definition: xDataTOM.h:19
xDataTOM_interpolationQualifier
Definition: xDataTOM.h:21
#define dependentAxis

Referenced by xDataXML_axesToTOM().

◆ xDataTOM_isXDataID()

int xDataTOM_isXDataID ( xDataTOM_element TE,
char const *  ID 
)

Definition at line 491 of file xDataTOM.cc.

491 {
492
493 xDataTOM_xDataInfo *xDI = &(TE->xDataInfo);
494
495 if( xDI->ID != NULL ) {
496 return( !strcmp( xDI->ID, ID ) );
497 }
498
499 return( 0 );
500}

◆ xDataTOM_KalbachMann_free()

int xDataTOM_KalbachMann_free ( xDataTOM_xDataInfo xDI)

Definition at line 35 of file xDataTOM_KalbachMann.cc.

35 {
36
37 if( xDI == NULL ) return( 0 );
38 if( strcmp( xDataTOM_KalbachMann_ID, xDI->ID ) != 0 ) return( 1 );
40 smr_freeMemory( (void **) &(xDI->data) );
41 return( 0 );
42}
char const * xDataTOM_KalbachMann_ID
int xDataTOM_KalbachMann_release(xDataTOM_KalbachMann *KalbachMann)

Referenced by xDataTOM_releaseElement().

◆ xDataTOM_KalbachMann_initialize()

int xDataTOM_KalbachMann_initialize ( statusMessageReporting smr,
xDataTOM_KalbachMann KalbachMann,
int  length,
xDataTOM_axes axes 
)

Definition at line 19 of file xDataTOM_KalbachMann.cc.

19 {
20
21 KalbachMann->coefficients = NULL;
22 KalbachMann->numberOfEnergies = 0;
23 if( ( KalbachMann->coefficients = (xDataTOM_KalbachMannCoefficients *) smr_malloc2( smr, length * sizeof( xDataTOM_KalbachMannCoefficients ), 1, "KalbachMann->coefficients" ) ) == NULL ) return( 1 );
24 if( xDataTOM_subAxes_initialize( smr, &(KalbachMann->subAxes), xDataTOM_subAxesType_proxy, 0, axes, NULL ) != 0 ) {
25 smr_freeMemory( (void **) &(KalbachMann->coefficients) );
26 return( 1 );
27 }
28
29 return( 0 );
30}
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:140
xDataTOM_KalbachMannCoefficients * coefficients
Definition: xDataTOM.h:141
int xDataTOM_subAxes_initialize(statusMessageReporting *smr, xDataTOM_subAxes *subAxes, enum xDataTOM_subAxesType type, int offset, xDataTOM_axes *axes, xDataTOM_interpolation *interpolation)

Referenced by xDataXML_KalbachMannToTOM().

◆ xDataTOM_KalbachMann_release()

int xDataTOM_KalbachMann_release ( xDataTOM_KalbachMann KalbachMann)

Definition at line 46 of file xDataTOM_KalbachMann.cc.

46 {
47
48 int i;
49
50 xDataTOM_subAxes_release( &(KalbachMann->subAxes) );
51 for( i = 0; i < KalbachMann->numberOfEnergies; i++ ) smr_freeMemory( (void **) &(KalbachMann->coefficients[i].coefficients) );
52 KalbachMann->numberOfEnergies = 0;
53 smr_freeMemory( (void **) &(KalbachMann->coefficients) );
54
55 return( 0 );
56}
int xDataTOM_subAxes_release(xDataTOM_subAxes *subAxes)

Referenced by xDataTOM_KalbachMann_free().

◆ xDataTOM_LegendreSeries_initialize()

int xDataTOM_LegendreSeries_initialize ( statusMessageReporting smr,
xDataTOM_LegendreSeries LegendreSeries,
int  index,
int  length,
double  value 
)

Definition at line 17 of file xDataTOM_LegendreSeries.cc.

17 {
18
19 LegendreSeries->LegendreSeries = NULL;
20 LegendreSeries->index = index;
21 LegendreSeries->length = length;
22 LegendreSeries->value = value;
23 if( ( LegendreSeries->LegendreSeries = (double *) smr_malloc2( smr, length * sizeof( double ), 0, "LegendreSeries->LegendreSeries" ) ) == NULL ) return( 1 );
24
25 return( 0 );
26}

◆ xDataTOM_LegendreSeries_release()

int xDataTOM_LegendreSeries_release ( xDataTOM_LegendreSeries LegendreSeries)

Definition at line 30 of file xDataTOM_LegendreSeries.cc.

30 {
31
32 if( LegendreSeries == NULL ) return( 0 );
33 smr_freeMemory( (void **) &(LegendreSeries->LegendreSeries) );
34 return( 0 );
35}

Referenced by xDataTOM_W_XYs_LegendreSeries_release().

◆ xDataTOM_mallocElement()

xDataTOM_element * xDataTOM_mallocElement ( statusMessageReporting smr,
xDataTOM_element parent,
int  ordinal,
int  index,
char const *  name 
)

Definition at line 125 of file xDataTOM.cc.

125 {
126/*
127* Returns NULL is an error occurred.
128*/
129 xDataTOM_element *element;
130
131 if( ( element = (xDataTOM_element *) smr_malloc2( smr, sizeof( xDataTOM_element ), 1, "xDataTOM_elelument" ) ) != NULL ) {
132 if( xDataTOME_initializeElement( smr, element, parent, ordinal, index, name ) ) smr_freeMemory( (void **) &element );
133 }
134 return( element );
135}

Referenced by xDataTOM_addElementInElement().

◆ xDataTOM_mallocTOM()

xDataTOM_TOM * xDataTOM_mallocTOM ( statusMessageReporting smr)

Definition at line 54 of file xDataTOM.cc.

54 {
55/*
56* Returns NULL is an error occurred.
57*/
58 xDataTOM_TOM *TOM;
59
60 if( ( TOM = (xDataTOM_TOM *) smr_malloc2( smr, sizeof( xDataTOM_TOM ), 1, "xDataTOM_TOM" ) ) != NULL ) {
61 if( xDataTOM_initializeTOM( smr, TOM ) ) smr_freeMemory( (void **) &TOM );
62 }
63 return( TOM );
64}
int xDataTOM_initializeTOM(statusMessageReporting *smr, xDataTOM_TOM *TOM)
Definition: xDataTOM.cc:68

Referenced by xDataXML_importFile().

◆ xDataTOM_numberOfElementsByName()

int xDataTOM_numberOfElementsByName ( statusMessageReporting smr,
xDataTOM_element element,
char const *  name 
)

Definition at line 268 of file xDataTOM.cc.

268 {
269
270 int n = 0;
271 xDataTOM_element *child;
272
273 for( child = xDataTOME_getFirstElement( element ); child != NULL; child = xDataTOME_getNextElement( child ) ) if( !strcmp( child->name, name ) ) n++;
274 return( n );
275}
xDataTOM_element * xDataTOME_getNextElement(xDataTOM_element *element)
Definition: xDataTOM.cc:238
xDataTOM_element * xDataTOME_getFirstElement(xDataTOM_element *element)
Definition: xDataTOM.cc:230

Referenced by MCGIDI_outputChannel_parseFromTOM(), and MCGIDI_target_heated_read().

◆ xDataTOM_polynomial_free()

int xDataTOM_polynomial_free ( xDataTOM_xDataInfo xDI)

Definition at line 33 of file xDataTOM_polynomial.cc.

33 {
34
35 if( xDI == NULL ) return( 0 );
36 if( strcmp( xDataTOM_polynomial_ID, xDI->ID ) != 0 ) return( 1 );
38 smr_freeMemory( (void **) &(xDI->data) );
39 return( 0 );
40}
int xDataTOM_polynomial_release(xDataTOM_polynomial *polynomial)
char const * xDataTOM_polynomial_ID

Referenced by xDataTOM_releaseElement().

◆ xDataTOM_polynomial_getData()

int xDataTOM_polynomial_getData ( xDataTOM_polynomial polynomial,
double **  data 
)

Definition at line 55 of file xDataTOM_polynomial.cc.

55 {
56
57 *data = polynomial->coefficients;
58 return( polynomial->length );
59}
double * coefficients
Definition: xDataTOM.h:147

Referenced by xDataTOM_polynomial_getDataFromXDataInfo().

◆ xDataTOM_polynomial_getDataFromXDataInfo()

int xDataTOM_polynomial_getDataFromXDataInfo ( xDataTOM_xDataInfo xDI,
double **  data 
)

Definition at line 63 of file xDataTOM_polynomial.cc.

63 {
64
65 return( xDataTOM_polynomial_getData( (xDataTOM_polynomial *) xDI->data, data ) );
66}
int xDataTOM_polynomial_getData(xDataTOM_polynomial *polynomial, double **data)

◆ xDataTOM_polynomial_initialize()

int xDataTOM_polynomial_initialize ( statusMessageReporting smr,
xDataTOM_polynomial polynomial,
int  length,
xDataTOM_axes axes 
)

Definition at line 19 of file xDataTOM_polynomial.cc.

19 {
20
21 polynomial->length = length;
22 if( ( polynomial->coefficients = (double *) smr_malloc2( smr, length * sizeof( double ), 1, "polynomial->coefficients" ) ) == NULL ) return( 1 );
23 if( xDataTOM_subAxes_initialize( smr, &(polynomial->subAxes), xDataTOM_subAxesType_proxy, 0, axes, NULL ) != 0 ) {
24 smr_freeMemory( (void **) &(polynomial->coefficients) );
25 return( 1 );
26 }
27
28 return( 0 );
29}
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:146

Referenced by xDataXML_polynomialToTOM().

◆ xDataTOM_polynomial_release()

int xDataTOM_polynomial_release ( xDataTOM_polynomial polynomial)

Definition at line 44 of file xDataTOM_polynomial.cc.

44 {
45
46 xDataTOM_subAxes_release( &(polynomial->subAxes) );
47 polynomial->length = 0;
48 smr_freeMemory( (void **) &(polynomial->coefficients) );
49
50 return( 0 );
51}

Referenced by xDataTOM_polynomial_free(), and xDataXML_polynomialToTOM().

◆ xDataTOM_regionsW_XYs_LegendreSeries_free()

int xDataTOM_regionsW_XYs_LegendreSeries_free ( xDataTOM_xDataInfo xDI)

Definition at line 33 of file xDataTOM_regionsW_XYs_LegendreSeries.cc.

33 {
34
35 if( xDI == NULL ) return( 0 );
36 if( strcmp( xDataTOM_regionsW_XYs_LegendreSeries_ID, xDI->ID ) != 0 ) return( 1 );
38 smr_freeMemory( (void **) &(xDI->data) );
39 return( 0 );
40}
int xDataTOM_regionsW_XYs_LegendreSeries_release(xDataTOM_regionsW_XYs_LegendreSeries *regionsW_XYs_LegendreSeries)
char const * xDataTOM_regionsW_XYs_LegendreSeries_ID

Referenced by xDataTOM_releaseElement().

◆ xDataTOM_regionsW_XYs_LegendreSeries_initialize()

int xDataTOM_regionsW_XYs_LegendreSeries_initialize ( statusMessageReporting smr,
xDataTOM_regionsW_XYs_LegendreSeries regionsW_XYs_LegendreSeries,
int  length,
xDataTOM_axes axes 
)

Definition at line 19 of file xDataTOM_regionsW_XYs_LegendreSeries.cc.

20 {
21
22 regionsW_XYs_LegendreSeries->W_XYs_LegendreSeries = NULL;
23 regionsW_XYs_LegendreSeries->length = length;
24 regionsW_XYs_LegendreSeries->axes = axes;
25 if( ( regionsW_XYs_LegendreSeries->W_XYs_LegendreSeries = (xDataTOM_W_XYs_LegendreSeries *) smr_malloc2( smr, length * sizeof( xDataTOM_W_XYs_LegendreSeries ), 1,
26 "regionsW_XYs_LegendreSeries->W_XYs_LegendreSeries" ) ) == NULL ) return( 1 );
27
28 return( 0 );
29}
xDataTOM_W_XYs_LegendreSeries * W_XYs_LegendreSeries
Definition: xDataTOM.h:122

Referenced by xDataXML_regionsW_XYs_LegendreSeriesToTOM().

◆ xDataTOM_regionsW_XYs_LegendreSeries_release()

int xDataTOM_regionsW_XYs_LegendreSeries_release ( xDataTOM_regionsW_XYs_LegendreSeries regionsW_XYs_LegendreSeries)

Definition at line 44 of file xDataTOM_regionsW_XYs_LegendreSeries.cc.

44 {
45
46 int i;
47
48 for( i = 0; i < regionsW_XYs_LegendreSeries->length; i++ ) xDataTOM_W_XYs_LegendreSeries_release( &(regionsW_XYs_LegendreSeries->W_XYs_LegendreSeries[i]) );
49 smr_freeMemory( (void **) &(regionsW_XYs_LegendreSeries->W_XYs_LegendreSeries) );
50 return( 0 );
51}
int xDataTOM_W_XYs_LegendreSeries_release(xDataTOM_W_XYs_LegendreSeries *W_XYs_LegendreSeries)

Referenced by xDataTOM_regionsW_XYs_LegendreSeries_free().

◆ xDataTOM_regionsXYs_free()

int xDataTOM_regionsXYs_free ( xDataTOM_xDataInfo xDI)

Definition at line 19 of file xDataTOM_regionsXYs.cc.

19 {
20
21 int i;
22 xDataTOM_regionsXYs *regionsXYs;
23
24 if( xDI == NULL ) return( 0 );
25 if( strcmp( xDataTOM_regionsXYs_ID, xDI->ID ) != 0 ) return( 1 );
26 regionsXYs = (xDataTOM_regionsXYs *) xDI->data;
27 for( i = 0; i < regionsXYs->length; i++ ) xDataTOM_XYs_release( &(regionsXYs->XYs[i]) );
28 smr_freeMemory( (void **) &(regionsXYs->XYs) );
29 smr_freeMemory( (void **) &(xDI->data) );
30 return( 0 );
31}
xDataTOM_XYs * XYs
Definition: xDataTOM.h:90
int xDataTOM_XYs_release(xDataTOM_XYs *XYs)
Definition: xDataTOM_XYs.cc:31
char const * xDataTOM_regionsXYs_ID

Referenced by xDataTOM_releaseElement().

◆ xDataTOM_releaseElement()

void xDataTOM_releaseElement ( xDataTOM_element element)

Definition at line 148 of file xDataTOM.cc.

148 {
149
150 xDataTOM_element *child, *nextChild;
151
152 if( element == NULL ) return;
153 xDataTOMAL_release( &(element->attributes) );
154 for( child = element->children; child != NULL; child = nextChild ) {
155 nextChild = child->next;
156 xDataTOM_freeElement( &child );
157 }
158 if( element->xDataInfo.ID != NULL ) {
159 xDataTOM_axes_release( &(element->xDataInfo.axes) );
160 if( strcmp( element->xDataInfo.ID, xDataTOM_XYs_ID ) == 0 ) {
161 xDataTOM_XYs_free( &(element->xDataInfo ) ); }
162 else if( strcmp( element->xDataInfo.ID, xDataTOM_regionsXYs_ID ) == 0 ) {
163 xDataTOM_regionsXYs_free( &(element->xDataInfo ) ); }
164 else if( strcmp( element->xDataInfo.ID, xDataTOM_W_XYs_ID ) == 0 ) {
166 else if( strcmp( element->xDataInfo.ID, xDataTOM_V_W_XYs_ID ) == 0 ) {
167 xDataTOM_V_W_XYs_free( &(element->xDataInfo ) ); }
168 else if( strcmp( element->xDataInfo.ID, xDataTOM_W_XYs_LegendreSeries_ID ) == 0 ) {
170 else if( strcmp( element->xDataInfo.ID, xDataTOM_regionsW_XYs_LegendreSeries_ID ) == 0 ) {
172 else if( strcmp( element->xDataInfo.ID, xDataTOM_V_W_XYs_LegendreSeries_ID ) == 0 ) {
174 else if( strcmp( element->xDataInfo.ID, xDataTOM_KalbachMann_ID ) == 0 ) {
175 xDataTOM_KalbachMann_free( &(element->xDataInfo ) ); }
176 else if( strcmp( element->xDataInfo.ID, xDataTOM_polynomial_ID ) == 0 ) {
177 xDataTOM_polynomial_free( &(element->xDataInfo ) ); }
178 else {
179 printf( "not freed for %s\n", element->xDataInfo.ID );
180 }
181 }
182 element->parent = NULL;
183 smr_freeMemory( (void **) &(element->name) );
184}
xDataTOM_axes axes
Definition: xDataTOM.h:153
void xDataTOM_freeElement(xDataTOM_element **element)
Definition: xDataTOM.cc:139
void xDataTOMAL_release(xDataTOM_attributionList *attributes)
Definition: xDataTOM.cc:361
int xDataTOM_V_W_XYs_LegendreSeries_free(xDataTOM_xDataInfo *xDI)
int xDataTOM_regionsXYs_free(xDataTOM_xDataInfo *xDI)
int xDataTOM_regionsW_XYs_LegendreSeries_free(xDataTOM_xDataInfo *xDI)
int xDataTOM_V_W_XYs_free(xDataTOM_xDataInfo *xDI)
int xDataTOM_XYs_free(xDataTOM_xDataInfo *xDI)
Definition: xDataTOM_XYs.cc:19
int xDataTOM_W_XYs_freeFrom_xDataInfo(xDataTOM_xDataInfo *xDI)
int xDataTOM_KalbachMann_free(xDataTOM_xDataInfo *xDI)
int xDataTOM_W_XYs_LegendreSeries_free(xDataTOM_xDataInfo *xDI)
int xDataTOM_axes_release(xDataTOM_axes *axes)
int xDataTOM_polynomial_free(xDataTOM_xDataInfo *xDI)
char const * xDataTOM_KalbachMann_ID
char const * xDataTOM_V_W_XYs_ID
char const * xDataTOM_regionsW_XYs_LegendreSeries_ID
char const * xDataTOM_polynomial_ID
char const * xDataTOM_W_XYs_ID
char const * xDataTOM_regionsXYs_ID
char const * xDataTOM_W_XYs_LegendreSeries_ID
char const * xDataTOM_XYs_ID
Definition: xDataTOM_XYs.cc:14
char const * xDataTOM_V_W_XYs_LegendreSeries_ID

Referenced by xDataTOM_freeElement(), and xDataTOM_freeTOM().

◆ xDataTOM_setFileNameTOM()

int xDataTOM_setFileNameTOM ( statusMessageReporting smr,
xDataTOM_TOM doc,
const char *  fileName 
)

Definition at line 94 of file xDataTOM.cc.

94 {
95/*
96* Returns not zero value if error occurred.
97*/
98
99 char realPath[PATH_MAX+1];
100
101 smr_freeMemory( (void **) &(TOM->fileName) );
102 smr_freeMemory( (void **) &(TOM->realFileName) );
103 if( fileName != NULL ) {
104 if( ( TOM->fileName = smr_allocateCopyString2( smr, fileName, "fileName" ) ) == NULL ) return( 1 );
105 if( realpath( fileName, realPath ) != NULL ) {
106 if( ( TOM->realFileName = smr_allocateCopyString2( smr, realPath, "realFileName" ) ) == NULL ) return( 1 );
107 }
108 }
109 return( 0 );
110}
#define PATH_MAX
Definition: xDataTOM.cc:31

Referenced by xDataXML_importFile().

◆ xDataTOM_setMessageError_ReturnInt()

int xDataTOM_setMessageError_ReturnInt ( int  value,
statusMessageReporting smr,
void *  userData,
const char *  file,
int  line,
int  code,
const char *  fmt,
  ... 
)

Definition at line 76 of file xDataTOM_Misc.cc.

77 {
78
79 va_list args;
80
81 va_start( args, fmt );
82 smr_setReportError( smr, userInterface, packageName, lineNumber, __func__, xDataTOM_smrLibraryID, code, fmt, args );
83 va_end( args );
84 return( value );
85}
int smr_setReportError(statusMessageReporting *smr, void *userInterface, char const *file, int line, char const *function, int libraryID, int code, char const *fmt,...)
Definition: inftrees.h:24

◆ xDataTOM_subAxes_getLabel()

char const * xDataTOM_subAxes_getLabel ( statusMessageReporting smr,
xDataTOM_subAxes subAxes,
int  index 
)

Definition at line 126 of file xDataTOM_axes.cc.

126 {
127
128 return( xDataTOM_axes_getLabel( smr, subAxes->axes, index + subAxes->offset ) );
129}
xDataTOM_axes * axes
Definition: xDataTOM.h:76
char const * xDataTOM_axes_getLabel(statusMessageReporting *smr, xDataTOM_axes *axes, int index)

◆ xDataTOM_subAxes_getUnit()

char const * xDataTOM_subAxes_getUnit ( statusMessageReporting smr,
xDataTOM_subAxes subAxes,
int  index 
)

Definition at line 133 of file xDataTOM_axes.cc.

133 {
134
135 return( xDataTOM_axes_getUnit( smr, subAxes->axes, index + subAxes->offset ) );
136}
char const * xDataTOM_axes_getUnit(statusMessageReporting *smr, xDataTOM_axes *axes, int index)

Referenced by MCGIDI_angular_parseFromTOM(), and MCGIDI_misc_dataFromXYs2ptwXYPointsInUnitsOf().

◆ xDataTOM_subAxes_initialize()

int xDataTOM_subAxes_initialize ( statusMessageReporting smr,
xDataTOM_subAxes subAxes,
enum xDataTOM_subAxesType  type,
int  offset,
xDataTOM_axes axes,
xDataTOM_interpolation interpolation 
)

Definition at line 89 of file xDataTOM_axes.cc.

90 {
91
92 subAxes->type = type;
93 if( axes == NULL ) {
94 smr_setReportError2p( smr, xDataTOM_smrLibraryID, -1, "Axes must not be NULL" );
95 return( 1 );
96 }
97 subAxes->offset = offset;
98 if( ( offset < 0 ) || ( offset >= axes->numberOfAxes ) ) {
99 smr_setReportError2( smr, xDataTOM_smrLibraryID, -1, "offset = %d < 0 or >= axes->numberOfAxes = %d", offset, axes->numberOfAxes );
100 return( 1 );
101 }
103 if( interpolation == NULL ) {
104 smr_setReportError2p( smr, xDataTOM_smrLibraryID, -1, "Interpolation must not be NULL for intepolationAxes" );
105 return( 1 );
106 }
107 if( xDataTOM_interpolation_copy( smr, &(subAxes->interpolation), interpolation ) ) return( 1 ); }
108 else { /* Not used but fill in anyway. */
111 }
112 subAxes->axes = axes;
113 return( 0 );
114}
#define smr_setReportError2p(smr, libraryID, code, fmt)
enum xDataTOM_subAxesType type
Definition: xDataTOM.h:74
xDataTOM_interpolation interpolation
Definition: xDataTOM.h:77
int xDataTOM_interpolation_set(statusMessageReporting *smr, xDataTOM_interpolation *interpolation, enum xDataTOM_interpolationFlag independent, enum xDataTOM_interpolationFlag dependent, enum xDataTOM_interpolationQualifier qualifier)

Referenced by xDataTOM_KalbachMann_initialize(), xDataTOM_polynomial_initialize(), xDataTOM_V_W_XYs_initialize(), xDataTOM_V_W_XYs_LegendreSeries_initialize(), xDataTOM_W_XYs_initialize(), xDataTOM_W_XYs_LegendreSeries_initialize(), and xDataXML_XYsDataToTOM().

◆ xDataTOM_subAxes_release()

int xDataTOM_subAxes_release ( xDataTOM_subAxes subAxes)

Definition at line 118 of file xDataTOM_axes.cc.

118 {
119
120 subAxes->axes = NULL;
121 return( 0 );
122}

Referenced by xDataTOM_KalbachMann_release(), xDataTOM_polynomial_release(), xDataTOM_W_XYs_release(), and xDataTOM_XYs_release().

◆ xDataTOM_V_W_XYs_free()

int xDataTOM_V_W_XYs_free ( xDataTOM_xDataInfo xDI)

Definition at line 34 of file xDataTOM_V_W_XYs.cc.

34 {
35
36 int i;
37 xDataTOM_V_W_XYs *V_W_XYs;
38
39 if( xDI == NULL ) return( 0 );
40 if( strcmp( xDataTOM_V_W_XYs_ID, xDI->ID ) != 0 ) return( 1 );
41 if( ( V_W_XYs = (xDataTOM_V_W_XYs *) xDI->data ) != NULL ) {
42 for( i = 0; i < V_W_XYs->length; i++ ) xDataTOM_W_XYs_release( &(V_W_XYs->W_XYs[i]) );
43 smr_freeMemory( (void **) &(V_W_XYs->W_XYs) );
44 smr_freeMemory( (void **) &(xDI->data) );
45 }
46 return( 0 );
47}
xDataTOM_W_XYs * W_XYs
Definition: xDataTOM.h:103
int xDataTOM_W_XYs_release(xDataTOM_W_XYs *W_XYs)
char const * xDataTOM_V_W_XYs_ID

Referenced by xDataTOM_releaseElement().

◆ xDataTOM_V_W_XYs_initialize()

int xDataTOM_V_W_XYs_initialize ( statusMessageReporting smr,
xDataTOM_V_W_XYs V_W_XYs,
int  length,
xDataTOM_axes axes 
)

Definition at line 19 of file xDataTOM_V_W_XYs.cc.

19 {
20
21 V_W_XYs->W_XYs = NULL;
22 V_W_XYs->length = length;
23 if( ( V_W_XYs->W_XYs = (xDataTOM_W_XYs *) smr_malloc2( smr, length * sizeof( xDataTOM_W_XYs ), 1, "V_W_XYs->W_XYs" ) ) == NULL ) return( 1 );
24 if( xDataTOM_subAxes_initialize( smr, &(V_W_XYs->subAxes), xDataTOM_subAxesType_proxy, 0, axes, NULL ) != 0 ) {
25 smr_freeMemory( (void **) &(V_W_XYs->W_XYs) );
26 return( 1 );
27 }
28
29 return( 0 );
30}
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:102

Referenced by xDataXML_V_W_XYsToTOM().

◆ xDataTOM_V_W_XYs_LegendreSeries_free()

int xDataTOM_V_W_XYs_LegendreSeries_free ( xDataTOM_xDataInfo xDI)

Definition at line 33 of file xDataTOM_V_W_XYs_LegendreSeries.cc.

33 {
34
35 int i;
36 xDataTOM_V_W_XYs_LegendreSeries *V_W_XYs_LegendreSeries;
37
38 if( xDI == NULL ) return( 0 );
39 if( strcmp( xDataTOM_V_W_XYs_LegendreSeries_ID, xDI->ID ) != 0 ) return( 1 );
40 V_W_XYs_LegendreSeries = (xDataTOM_V_W_XYs_LegendreSeries *) xDI->data;
41 for( i = 0; i < V_W_XYs_LegendreSeries->length; i++ ) xDataTOM_W_XYs_LegendreSeries_release( &(V_W_XYs_LegendreSeries->W_XYs_LegendreSeries[i]) );
42 smr_freeMemory( (void **) &(V_W_XYs_LegendreSeries->W_XYs_LegendreSeries) );
43 smr_freeMemory( (void **) &(xDI->data) );
44 return( 0 );
45}
xDataTOM_W_XYs_LegendreSeries * W_XYs_LegendreSeries
Definition: xDataTOM.h:128
char const * xDataTOM_V_W_XYs_LegendreSeries_ID

Referenced by xDataTOM_releaseElement().

◆ xDataTOM_V_W_XYs_LegendreSeries_initialize()

int xDataTOM_V_W_XYs_LegendreSeries_initialize ( statusMessageReporting smr,
xDataTOM_V_W_XYs_LegendreSeries V_W_XYs_LegendreSeries,
int  length,
xDataTOM_axes axes 
)

Definition at line 19 of file xDataTOM_V_W_XYs_LegendreSeries.cc.

20 {
21
22 V_W_XYs_LegendreSeries->W_XYs_LegendreSeries = NULL;
23 V_W_XYs_LegendreSeries->length = length;
24 if( xDataTOM_subAxes_initialize( smr, &(V_W_XYs_LegendreSeries->subAxes), xDataTOM_subAxesType_proxy, 0, axes, NULL ) != 0 ) return( 1 );
25 if( ( V_W_XYs_LegendreSeries->W_XYs_LegendreSeries = (xDataTOM_W_XYs_LegendreSeries *) smr_malloc2( smr, length * sizeof( xDataTOM_W_XYs_LegendreSeries ), 1,
26 "V_W_XYs_LegendreSeries->W_XYs_LegendreSeries" ) ) == NULL ) return( 1 );
27
28 return( 0 );
29}

Referenced by xDataXML_V_W_XYs_LegendreSeriesToTOM().

◆ xDataTOM_W_XYs_free()

xDataTOM_W_XYs * xDataTOM_W_XYs_free ( xDataTOM_W_XYs W_XYs)

Definition at line 48 of file xDataTOM_W_XYs.cc.

48 {
49
50 if( W_XYs == NULL ) return( NULL );
52 smr_freeMemory( (void **) &W_XYs );
53 return( (xDataTOM_W_XYs *) NULL );
54}
int xDataTOM_W_XYs_release(xDataTOM_W_XYs *W_XYs)

Referenced by xDataTOM_W_XYs_freeFrom_xDataInfo().

◆ xDataTOM_W_XYs_freeFrom_xDataInfo()

int xDataTOM_W_XYs_freeFrom_xDataInfo ( xDataTOM_xDataInfo xDI)

Definition at line 58 of file xDataTOM_W_XYs.cc.

58 {
59
60 if( xDI == NULL ) return( 0 );
61 if( strcmp( xDataTOM_W_XYs_ID, xDI->ID ) != 0 ) return( 1 );
63 return( 0 );
64}
xDataTOM_W_XYs * xDataTOM_W_XYs_free(xDataTOM_W_XYs *W_XYs)
char const * xDataTOM_W_XYs_ID

Referenced by xDataTOM_releaseElement().

◆ xDataTOM_W_XYs_initialize()

int xDataTOM_W_XYs_initialize ( statusMessageReporting smr,
xDataTOM_W_XYs W_XYs,
int  index,
int  length,
double  value,
xDataTOM_axes axes,
int  axesOffset 
)

Definition at line 30 of file xDataTOM_W_XYs.cc.

31 {
32
33 W_XYs->XYs = NULL;
34 W_XYs->index = index;
35 W_XYs->length = length;
36 W_XYs->value = value;
37 if( ( W_XYs->XYs = (xDataTOM_XYs *) smr_malloc2( smr, length * sizeof( xDataTOM_XYs ), 1, "W_XYs->XYs" ) ) == NULL ) return( 1 );
38 if( xDataTOM_subAxes_initialize( smr, &(W_XYs->subAxes), xDataTOM_subAxesType_proxy, axesOffset, axes, NULL ) != 0 ) {
39 smr_freeMemory( (void **) &(W_XYs->XYs) );
40 return( 1 );
41 }
42
43 return( 0 );
44}
double value
Definition: xDataTOM.h:95
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:96
xDataTOM_XYs * XYs
Definition: xDataTOM.h:97

Referenced by xDataTOM_W_XYs_new(), and xDataXML_W_XYsDataToTOM().

◆ xDataTOM_W_XYs_LegendreSeries_free()

int xDataTOM_W_XYs_LegendreSeries_free ( xDataTOM_xDataInfo xDI)

Definition at line 34 of file xDataTOM_W_XYs_LegendreSeries.cc.

34 {
35
36 if( xDI == NULL ) return( 0 );
37 if( strcmp( xDataTOM_W_XYs_LegendreSeries_ID, xDI->ID ) != 0 ) return( 1 );
39 smr_freeMemory( (void **) &(xDI->data) );
40 return( 0 );
41}
int xDataTOM_W_XYs_LegendreSeries_release(xDataTOM_W_XYs_LegendreSeries *W_XYs_LegendreSeries)
char const * xDataTOM_W_XYs_LegendreSeries_ID

Referenced by xDataTOM_releaseElement().

◆ xDataTOM_W_XYs_LegendreSeries_initialize()

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 
)

Definition at line 19 of file xDataTOM_W_XYs_LegendreSeries.cc.

20 {
21
22 W_XYs_LegendreSeries->LegendreSeries = NULL;
23 W_XYs_LegendreSeries->index = index;
24 W_XYs_LegendreSeries->length = length;
25 W_XYs_LegendreSeries->value = value;
26 if( xDataTOM_subAxes_initialize( smr, &(W_XYs_LegendreSeries->subAxes), subAxesType, 0, axes, interpolation ) != 0 ) return( 1 );
27 if( ( W_XYs_LegendreSeries->LegendreSeries = (xDataTOM_LegendreSeries *) smr_malloc2( smr, length * sizeof( xDataTOM_LegendreSeries ), 1, "W_XYs_LegendreSeries->LegendreSeries" ) ) == NULL ) return( 1 );
28
29 return( 0 );
30}
xDataTOM_LegendreSeries * LegendreSeries
Definition: xDataTOM.h:116
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:115

Referenced by xDataXML_W_XYs_LegendreSeriesToTOM().

◆ xDataTOM_W_XYs_LegendreSeries_release()

int xDataTOM_W_XYs_LegendreSeries_release ( xDataTOM_W_XYs_LegendreSeries W_XYs_LegendreSeries)

Definition at line 45 of file xDataTOM_W_XYs_LegendreSeries.cc.

45 {
46
47 int i;
48
49 for( i = 0; i < W_XYs_LegendreSeries->length; i++ ) xDataTOM_LegendreSeries_release( &(W_XYs_LegendreSeries->LegendreSeries[i]) );
50 smr_freeMemory( (void **) &(W_XYs_LegendreSeries->LegendreSeries) );
51 return( 0 );
52}
int xDataTOM_LegendreSeries_release(xDataTOM_LegendreSeries *LegendreSeries)

Referenced by xDataTOM_regionsW_XYs_LegendreSeries_release(), xDataTOM_V_W_XYs_LegendreSeries_free(), and xDataTOM_W_XYs_LegendreSeries_free().

◆ xDataTOM_W_XYs_new()

xDataTOM_W_XYs * xDataTOM_W_XYs_new ( statusMessageReporting smr,
int  index,
int  length,
double  value,
xDataTOM_axes axes,
int  axesOffset 
)

Definition at line 19 of file xDataTOM_W_XYs.cc.

19 {
20
21 xDataTOM_W_XYs *W_XYs;
22
23 if( ( W_XYs = (xDataTOM_W_XYs *) smr_malloc2( smr, sizeof( xDataTOM_W_XYs ), 0, "W_XYs" ) ) == NULL ) return( NULL );
24 if( xDataTOM_W_XYs_initialize( smr, W_XYs, index, length, value, axes, axesOffset ) != 0 ) smr_freeMemory( (void **) &W_XYs );
25 return( W_XYs );
26}
int xDataTOM_W_XYs_initialize(statusMessageReporting *smr, xDataTOM_W_XYs *W_XYs, int index, int length, double value, xDataTOM_axes *axes, int axesOffset)

◆ xDataTOM_W_XYs_release()

int xDataTOM_W_XYs_release ( xDataTOM_W_XYs W_XYs)

Definition at line 68 of file xDataTOM_W_XYs.cc.

68 {
69
70 int i;
71
73 for( i = 0; i < W_XYs->length; i++ ) xDataTOM_XYs_release( &(W_XYs->XYs[i]) );
74 W_XYs->length = 0;
75 smr_freeMemory( (void **) &(W_XYs->XYs) );
76
77 return( 0 );
78}

Referenced by xDataTOM_V_W_XYs_free(), and xDataTOM_W_XYs_free().

◆ xDataTOM_XYs_free()

int xDataTOM_XYs_free ( xDataTOM_xDataInfo xDI)

Definition at line 19 of file xDataTOM_XYs.cc.

19 {
20
21 if( xDI == NULL ) return( 0 );
22 if( strcmp( xDataTOM_XYs_ID, xDI->ID ) != 0 ) return( 1 );
24 smr_freeMemory( (void **) &(xDI->data) );
25
26 return( 0 );
27}
char const * xDataTOM_XYs_ID
Definition: xDataTOM_XYs.cc:14
int xDataTOM_XYs_release(xDataTOM_XYs *XYs)
Definition: xDataTOM_XYs.cc:31

Referenced by xDataTOM_releaseElement().

◆ xDataTOM_XYs_getData()

int xDataTOM_XYs_getData ( xDataTOM_XYs XYs,
double **  data 
)

Definition at line 42 of file xDataTOM_XYs.cc.

42 {
43
44 *data = XYs->data;
45 return( XYs->length );
46}
double * data
Definition: xDataTOM.h:84

Referenced by MCGIDI_misc_dataFromXYs2ptwXYPointsInUnitsOf(), and xDataTOM_XYs_getDataFromXDataInfo().

◆ xDataTOM_XYs_getDataFromXDataInfo()

int xDataTOM_XYs_getDataFromXDataInfo ( xDataTOM_xDataInfo xDI,
double **  data 
)

Definition at line 50 of file xDataTOM_XYs.cc.

50 {
51
52 return( xDataTOM_XYs_getData( (xDataTOM_XYs *) xDI->data, data ) );
53}
int xDataTOM_XYs_getData(xDataTOM_XYs *XYs, double **data)
Definition: xDataTOM_XYs.cc:42

Referenced by MCGIDI_misc_dataFromElement2ptwXYPointsInUnitsOf().

◆ xDataTOM_XYs_release()

int xDataTOM_XYs_release ( xDataTOM_XYs XYs)

Definition at line 31 of file xDataTOM_XYs.cc.

31 {
32
34 XYs->length = 0;
35 smr_freeMemory( (void **) &(XYs->data) );
36
37 return( 0 );
38}
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:83

Referenced by xDataTOM_regionsXYs_free(), xDataTOM_W_XYs_release(), and xDataTOM_XYs_free().

◆ xDataTOMAL_addAttribute()

int xDataTOMAL_addAttribute ( statusMessageReporting smr,
xDataTOM_attributionList attributes,
char const *  name,
char const *  value 
)

Definition at line 376 of file xDataTOM.cc.

376 {
377
378 xDataTOM_attribute *attribute;
379
380 if( ( attribute = (xDataTOM_attribute *) smr_malloc2( smr, sizeof( xDataTOM_attribute ), 1, "xDataTOM_attribute" ) ) == NULL ) return( 1 );
381 if( ( attribute->name = smr_allocateCopyString2( smr, name, "name" ) ) == NULL ) goto err;
382 if( ( attribute->value = smr_allocateCopyString2( smr, value, "value" ) ) == NULL ) goto err;
383 if( attributes->attributes == NULL ) {
384 attributes->attributes = attribute; }
385 else {
386 xDataTOM_attribute *last;
387
388 for( last = attributes->attributes; last->next != NULL; last = last->next ) ;
389 last->next = attribute;
390 }
391 attributes->number++;
392 return( 0 );
393
394err:
395 smr_freeMemory( (void **) &(attribute->name) );
396 smr_freeMemory( (void **) &(attribute->value) );
397 smr_freeMemory( (void **) &(attribute) );
398 return( 1 );
399}
xDataTOM_attribute * next
Definition: xDataTOM.h:158
xDataTOM_attribute * attributes
Definition: xDataTOM.h:165

Referenced by MCGIDI_misc_copyXMLAttributesToTOM(), xDataTOMAL_copyAttributionList(), and xDataTOME_addAttribute().

◆ xDataTOMAL_convertAttributeToDouble()

int xDataTOMAL_convertAttributeToDouble ( statusMessageReporting smr,
xDataTOM_attributionList attributes,
char const *  name,
double *  d 
)

Definition at line 450 of file xDataTOM.cc.

450 {
451
452 char const *value = xDataTOMAL_getAttributesValue( attributes, name );
453 char *e;
454
455 if( value != NULL ) {
456 *d = strtod( value, &e );
457 if( *e == 0 ) return( 0 );
458 smr_setReportError2( smr, xDataTOM_smrLibraryID, 1, "could not convert attribute %s's values = '%s' to a double", name, value ); }
459 else {
460 smr_setReportError2( smr, xDataTOM_smrLibraryID, 1, "no attribute named '%s'", name );
461 }
462 return( 1 );
463}
int xDataTOM_smrLibraryID
Definition: xDataTOM.cc:34

Referenced by xDataTOME_convertAttributeToDouble().

◆ xDataTOMAL_convertAttributeToInteger()

int xDataTOMAL_convertAttributeToInteger ( statusMessageReporting smr,
xDataTOM_attributionList attributes,
char const *  name,
int *  n 
)

Definition at line 433 of file xDataTOM.cc.

433 {
434
435 char const *value = xDataTOMAL_getAttributesValue( attributes, name );
436 char *e;
437
438 if( value != NULL ) {
439 *n = (int) strtoll( value, &e, 10 );
440 if( *e == 0 ) return( 0 );
441 smr_setReportError2( smr, xDataTOM_smrLibraryID, 1, "could not convert attribute %s's value = '%s' to an integer", name, value ); }
442 else {
443 smr_setReportError2( smr, xDataTOM_smrLibraryID, 1, "no attribute named '%s'", name );
444 }
445 return( 1 );
446}

Referenced by xDataTOME_convertAttributeToInteger().

◆ xDataTOMAL_copyAttributionList()

int xDataTOMAL_copyAttributionList ( statusMessageReporting smr,
xDataTOM_attributionList desc,
xDataTOM_attributionList src 
)

Definition at line 415 of file xDataTOM.cc.

415 {
416
417 xDataTOM_attribute *attribute;
418
419 xDataTOMAL_initial( smr, desc );
420 for( attribute = src->attributes; attribute != NULL; attribute = attribute->next ) {
421 if( xDataTOMAL_addAttribute( smr, desc, attribute->name, attribute->value ) != 0 ) goto err;
422
423 }
424 return( 0 );
425
426err:
427 xDataTOMAL_release( desc );
428 return( 1 );
429}
void xDataTOMAL_initial(statusMessageReporting *, xDataTOM_attributionList *attributes)
Definition: xDataTOM.cc:353
int xDataTOMAL_addAttribute(statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, char const *value)
Definition: xDataTOM.cc:376

Referenced by MCGIDI_target_heated_read(), and xDataTOME_copyAttributionList().

◆ xDataTOMAL_getAttributesValue()

char const * xDataTOMAL_getAttributesValue ( xDataTOM_attributionList attributes,
char const *  name 
)

Definition at line 403 of file xDataTOM.cc.

403 {
404
405 xDataTOM_attribute *attribute;
406
407 for( attribute = attributes->attributes; attribute != NULL; attribute = attribute->next ) {
408 if( !strcmp( attribute->name, name ) ) return( attribute->value );
409 }
410 return( NULL );
411}

Referenced by MCGIDI_misc_pointerToAttributeIfAllOk(), MCGIDI_misc_pointerToTOMAttributeIfAllOk(), MCGIDI_target_getAttributesValue(), xDataTOM_getAttributesValueInElement(), xDataTOMAL_convertAttributeToDouble(), and xDataTOMAL_convertAttributeToInteger().

◆ xDataTOMAL_initial()

void xDataTOMAL_initial ( statusMessageReporting smr,
xDataTOM_attributionList attributes 
)

Definition at line 353 of file xDataTOM.cc.

353 {
354
355 attributes->number = 0;
356 attributes->attributes = NULL;
357}

Referenced by MCGIDI_misc_copyXMLAttributesToTOM(), xDataTOMAL_copyAttributionList(), and xDataTOMAL_release().

◆ xDataTOMAL_release()

void xDataTOMAL_release ( xDataTOM_attributionList attributes)

Definition at line 361 of file xDataTOM.cc.

361 {
362
363 xDataTOM_attribute *attribute, *next;
364
365 for( attribute = attributes->attributes; attribute != NULL; attribute = next ) {
366 next = attribute->next;
367 smr_freeMemory( (void **) &(attribute->name) );
368 smr_freeMemory( (void **) &(attribute->value) );
369 smr_freeMemory( (void **) &(attribute) );
370 }
371 xDataTOMAL_initial( NULL, attributes );
372}

Referenced by MCGIDI_misc_copyXMLAttributesToTOM(), MCGIDI_reaction_release(), MCGIDI_target_heated_release(), MCGIDI_target_release(), xDataTOM_releaseElement(), and xDataTOMAL_copyAttributionList().

◆ xDataTOME_addAttribute()

int xDataTOME_addAttribute ( statusMessageReporting smr,
xDataTOM_element element,
char const *  name,
char const *  value 
)

Definition at line 279 of file xDataTOM.cc.

279 {
280
281 return( xDataTOMAL_addAttribute( smr, &(element->attributes), name, value ) );
282}

◆ xDataTOME_convertAttributeToDouble()

int xDataTOME_convertAttributeToDouble ( statusMessageReporting smr,
xDataTOM_element element,
char const *  name,
double *  d 
)

Definition at line 307 of file xDataTOM.cc.

307 {
308
309 return( xDataTOMAL_convertAttributeToDouble( smr, &(element->attributes), name, d ) );
310}
int xDataTOMAL_convertAttributeToDouble(statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, double *d)
Definition: xDataTOM.cc:450

◆ xDataTOME_convertAttributeToDoubleWithUnit()

int xDataTOME_convertAttributeToDoubleWithUnit ( statusMessageReporting smr,
xDataTOM_element element,
char const *  name,
double *  d,
char *  unit 
)

◆ xDataTOME_convertAttributeToInteger()

int xDataTOME_convertAttributeToInteger ( statusMessageReporting smr,
xDataTOM_element element,
char const *  name,
int *  n 
)

Definition at line 300 of file xDataTOM.cc.

300 {
301
302 return( xDataTOMAL_convertAttributeToInteger( smr, &(element->attributes), name, n ) );
303}
int xDataTOMAL_convertAttributeToInteger(statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, int *n)
Definition: xDataTOM.cc:433

Referenced by MCGIDI_product_parseFromTOM(), and MCGIDI_reaction_parseFromTOM().

◆ xDataTOME_copyAttributionList()

int xDataTOME_copyAttributionList ( statusMessageReporting smr,
xDataTOM_attributionList desc,
xDataTOM_element element 
)

Definition at line 293 of file xDataTOM.cc.

293 {
294
295 return( xDataTOMAL_copyAttributionList( smr, desc, &(element->attributes) ) );
296}
int xDataTOMAL_copyAttributionList(statusMessageReporting *smr, xDataTOM_attributionList *desc, xDataTOM_attributionList *src)
Definition: xDataTOM.cc:415

Referenced by MCGIDI_reaction_parseFromTOM().

◆ xDataTOME_getFirstElement()

xDataTOM_element * xDataTOME_getFirstElement ( xDataTOM_element element)

Definition at line 230 of file xDataTOM.cc.

230 {
231
232 if( element != NULL ) element = element->children;
233 return( element );
234}

Referenced by MCGIDI_outputChannel_parseFromTOM(), MCGIDI_target_heated_read(), xDataTOM_numberOfElementsByName(), and xDataTOME_getOneElementByName().

◆ xDataTOME_getInterpolation()

int xDataTOME_getInterpolation ( statusMessageReporting smr,
xDataTOM_element element,
int  index,
enum xDataTOM_interpolationFlag independent,
enum xDataTOM_interpolationFlag dependent,
enum xDataTOM_interpolationQualifier qualifier 
)

Definition at line 314 of file xDataTOM.cc.

315 {
316
317 xDataTOM_xDataInfo *xDI = &(element->xDataInfo);
318
319 if( xDI->ID == NULL ) return( 1 );
320
321 return( xDataTOM_axes_getInterpolation( smr, &(xDI->axes), index, independent, dependent, qualifier ) );
322}
int xDataTOM_axes_getInterpolation(statusMessageReporting *smr, xDataTOM_axes *axes, int index, enum xDataTOM_interpolationFlag *independent, enum xDataTOM_interpolationFlag *dependent, enum xDataTOM_interpolationQualifier *qualifier)

Referenced by MCGIDI_fromTOM_interpolation(), and MCGIDI_reaction_parseFromTOM().

◆ xDataTOME_getNextElement()

xDataTOM_element * xDataTOME_getNextElement ( xDataTOM_element element)

Definition at line 238 of file xDataTOM.cc.

238 {
239
240 if( element != NULL ) element = element->next;
241 return( element );
242}

Referenced by MCGIDI_outputChannel_parseFromTOM(), MCGIDI_target_heated_read(), xDataTOM_numberOfElementsByName(), and xDataTOME_getOneElementByName().

◆ xDataTOME_getOneElementByName()

xDataTOM_element * xDataTOME_getOneElementByName ( statusMessageReporting smr,
xDataTOM_element element,
char const *  name,
int  required 
)

Definition at line 246 of file xDataTOM.cc.

246 {
247
248 int n = 0;
249 xDataTOM_element *child, *desired = NULL;
250
251 for( child = xDataTOME_getFirstElement( element ); child != NULL; child = xDataTOME_getNextElement( child ) ) {
252 if( strcmp( child->name, name ) == 0 ) {
253 if( n == 0 ) desired = child;
254 n++;
255 }
256 }
257 if( n == 0 ) {
258 if( required ) smr_setReportError2( smr, smr_unknownID, 1, "elements '%s' not found in element '%s'", name, element->name ); }
259 else if( n > 1 ) {
260 smr_setReportError2( smr, smr_unknownID, 1, "multiple (= %d) elements '%s' found in element '%s'", name, element->name );
261 desired = NULL;
262 }
263 return( desired );
264}

Referenced by MCGIDI_angular_parseFromTOM(), MCGIDI_angularEnergy_parseFromTOM(), MCGIDI_distribution_parseFromTOM(), MCGIDI_energy_parseFromTOM(), MCGIDI_energyAngular_parseFromTOM(), MCGIDI_KalbachMann_parseFromTOM(), MCGIDI_LLNLAngular_angularEnergy_parseFromTOM(), MCGIDI_product_parseFromTOM(), MCGIDI_reaction_parseFromTOM(), MCGIDI_target_heated_read(), and MCGIDI_uncorrelated_parseFromTOM().

◆ xDataTOME_getXData()

xDataTOM_xDataInfo * xDataTOME_getXData ( xDataTOM_element TE)

Definition at line 504 of file xDataTOM.cc.

504 {
505
506 if( TE->xDataInfo.ID == NULL ) return( NULL );
507 return( &(TE->xDataInfo) );
508}

Referenced by xDataTOME_getXDataIfID().

◆ xDataTOME_getXDataIfID()

void * xDataTOME_getXDataIfID ( statusMessageReporting smr,
xDataTOM_element TE,
char const *  ID 
)

Definition at line 512 of file xDataTOM.cc.

512 {
513
515
516 if( xDI == NULL ) {
517 smr_setReportError2( smr, xDataTOM_smrLibraryID, 1, "element '%s' does not have xData", TE->name );
518 return( NULL );
519 }
520 if( strcmp( ID, xDI->ID ) ) {
521 smr_setReportError2( smr, xDataTOM_smrLibraryID, 1, "xData has ID = '%s' not '%s' for element %s", xDI->ID, ID, TE->name );
522 return( NULL );
523 }
524 return( xDI->data );
525
526}
xDataTOM_xDataInfo * xDataTOME_getXData(xDataTOM_element *TE)
Definition: xDataTOM.cc:504

Referenced by MCGIDI_angular_parseFromTOM(), and MCGIDI_fromTOM_pdfsOfXGivenW().

◆ xDataTOMMisc_getAbsPath()

char * xDataTOMMisc_getAbsPath ( statusMessageReporting smr,
const char *  fileName 
)

Definition at line 29 of file xDataTOM_Misc.cc.

29 {
30/*
31* User must free returned string.
32*/
33 int n = (int) strlen( fileName ) + 1, nCwd = 0;
34 char *absPath, cwd[4 * 1024] = "", *p, *needle;
35
36 if( fileName[0] != '/' ) {
37 //if( getcwd( cwd, sizeof( cwd ) + 1 ) == NULL ) {
38 //TK modified above line for compiler(gcc.4.8) warning message
39 if( getcwd( cwd, sizeof( cwd ) ) == NULL ) {
40 smr_setReportError2p( smr, xDataTOM_smrLibraryID, -1, "hardwired cwd too small" );
41 return( NULL );
42 }
43 nCwd = (int) strlen( cwd );
44 n += nCwd + 1; /* cwd + '/'. */
45 }
46 if( ( absPath = (char *) smr_malloc2( smr, n, 0, "absPath" ) ) == NULL ) return( NULL );
47 if( fileName[0] != '/' ) {
48 strcpy( absPath, cwd );
49 strcat( absPath, "/" );
50 strcat( absPath, fileName ); }
51 else {
52 strcpy( absPath, fileName );
53 }
54
55 while( 1 ) { /* Remove all ./ from path. */
56 if( ( needle = strstr( absPath, "/./" ) ) == NULL ) break;
57 p = needle;
58 for( needle += 2; *needle; p++, needle++ ) *p = *needle;
59 *p = 0;
60 } // Loop checking, 11.06.2015, T. Koi
61
62 while( 1 ) { /* Remove all ../ from path. */
63 if( ( needle = strstr( absPath, "/../" ) ) == NULL ) break;
64 p = needle - 1;
65 while( ( p > absPath ) && ( *p != '/' ) ) p--; // Loop checking, 11.06.2015, T. Koi
66 if( *p != '/' ) break; /* This should not happen if path is legit, I think, and I do not know what to do so will leave it. */
67 if( p == absPath ) break; /* Ditto. */
68 for( needle += 3; *needle; p++, needle++ ) *p = *needle;
69 *p = 0;
70 } // Loop checking, 11.06.2015, T. Koi
71 return( absPath );
72}

Referenced by MCGIDI_target_heated_read().