Geant4  10.02.p03
xDataTOM.h File Reference
Include dependency graph for xDataTOM.h:
This graph shows which files directly or indirectly include this file:

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_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_subAxesType

Enumerator
xDataTOM_subAxesType_proxy 
xDataTOM_subAxesType_intepolationAxes 

Definition at line 24 of file xDataTOM.h.

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 }
const char * ID
Definition: xDataTOM.h:151
#define smr_malloc2(smr, size, zero, forItem)
xDataTOM_xDataInfo xDataInfo
Definition: xDataTOM.h:187
xDataTOM_element * element
Definition: xDataTOM.h:152
Here is the caller graph for this function:

◆ 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 * next
Definition: xDataTOM.h:182
Int_t index
G4String name
Definition: TRTMaterials.hh:40
xDataTOM_element * children
Definition: xDataTOM.h:186
xDataTOM_element * xDataTOM_mallocElement(statusMessageReporting *smr, xDataTOM_element *parent, int ordinal, int index, char const *name)
Definition: xDataTOM.cc:125
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
enum xDataTOM_interpolationFlag independent dependent
Definition: xDataTOM.h:57
enum xDataTOM_interpolationQualifier qualifier
Definition: xDataTOM.h:58
int xDataTOM_smrLibraryID
Definition: xDataTOM.cc:34
Int_t index
int numberOfAxes
Definition: xDataTOM.h:69
xDataTOM_interpolation interpolation
Definition: xDataTOM.h:65
xDataTOM_axis * axis
Definition: xDataTOM.h:70
#define smr_setReportError2(smr, libraryID, code, fmt,...)
Here is the caller graph for this function:

◆ 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 }
int xDataTOM_smrLibraryID
Definition: xDataTOM.cc:34
Int_t index
int numberOfAxes
Definition: xDataTOM.h:69
char * label
Definition: xDataTOM.h:63
xDataTOM_axis * axis
Definition: xDataTOM.h:70
#define smr_setReportError2(smr, libraryID, code, fmt,...)
Here is the caller graph for this function:

◆ 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 }
int xDataTOM_smrLibraryID
Definition: xDataTOM.cc:34
Int_t index
int numberOfAxes
Definition: xDataTOM.h:69
xDataTOM_axis * axis
Definition: xDataTOM.h:70
#define smr_setReportError2(smr, libraryID, code, fmt,...)
char * unit
Definition: xDataTOM.h:64
Here is the caller graph for this function:

◆ 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 }
int numberOfAxes
Definition: xDataTOM.h:69
xDataTOM_axis * axis
Definition: xDataTOM.h:70
#define smr_malloc2(smr, size, zero, forItem)
Here is the caller graph for this function:

◆ 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 }
int numberOfAxes
Definition: xDataTOM.h:69
xDataTOM_axis * xDataTOM_axis_release(statusMessageReporting *, xDataTOM_axis *axis)
xDataTOM_axis * axis
Definition: xDataTOM.h:70
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 ) {
196  default :
197  break;
198  }
200 }
static char const * xDataTOM_frame_labString
static char const * xDataTOM_frame_invalidString
static char const * xDataTOM_frame_centerOfMassString

◆ 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 
164 err:
165  smr_freeMemory( (void **) &(axis->label) );
166  smr_freeMemory( (void **) &(axis->unit) );
167  return( 1 );
168 }
#define smr_allocateCopyString2(smr, s, forItem)
Int_t index
char * label
Definition: xDataTOM.h:63
xDataTOM_interpolation interpolation
Definition: xDataTOM.h:65
char * unit
Definition: xDataTOM.h:64
void * smr_freeMemory(void **p)
int xDataTOM_interpolation_copy(statusMessageReporting *smr, xDataTOM_interpolation *desc, xDataTOM_interpolation *src)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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_t index
#define smr_malloc2(smr, size, zero, forItem)
void * smr_freeMemory(void **p)
int xDataTOM_axis_initialize(statusMessageReporting *smr, xDataTOM_axis *axis, int index, char const *label, char const *unit, xDataTOM_interpolation *interpolation)
Here is the call graph for this function:

◆ 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 }
char * label
Definition: xDataTOM.h:63
char * unit
Definition: xDataTOM.h:64
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
Here is the caller graph for this function:

◆ 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 * children
Definition: xDataTOM.h:186
xDataTOM_element root
Definition: xDataTOM.h:193
static void xDataTOME_displayTree(statusMessageReporting *smr, xDataTOM_element *element, int printAttributes, int level)
Definition: xDataTOM.cc:326
Here is the call graph for this function:

◆ 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 * smr_freeMemory(void **p)
void xDataTOM_releaseElement(xDataTOM_element *element)
Definition: xDataTOM.cc:148
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 * realFileName
Definition: xDataTOM.h:192
char * fileName
Definition: xDataTOM.h:191
void * smr_freeMemory(void **p)
xDataTOM_element root
Definition: xDataTOM.h:193
void xDataTOM_releaseElement(xDataTOM_element *element)
Definition: xDataTOM.cc:148
Here is the call graph for this function:
Here is the caller graph for this function:

◆ xDataTOM_getAttributesValueInElement()

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

Definition at line 286 of file xDataTOM.cc.

286  {
287 
288  return( xDataTOMAL_getAttributesValue( &(element->attributes), name ) );
289 }
G4String name
Definition: TRTMaterials.hh:40
xDataTOM_attributionList attributes
Definition: xDataTOM.h:184
char const * xDataTOMAL_getAttributesValue(xDataTOM_attributionList *attributes, char const *name)
Definition: xDataTOM.cc:403
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
xDataTOM_element * children
Definition: xDataTOM.h:186
xDataTOM_element root
Definition: xDataTOM.h:193
Here is the caller graph for this function:

◆ 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 }
static xDataTOM_element * xDataTOM_getLinksElement2(statusMessageReporting *smr, xDataTOM_element *element, char const *link, char const *fullLink)
#define smr_setReportError2(smr, libraryID, code, fmt,...)
#define smr_unknownID
xDataTOM_element * parent
Definition: xDataTOM.h:181
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
static int xDataTOME_initializeElement(statusMessageReporting *smr, xDataTOM_element *element, xDataTOM_element *parent, int ordinal, int index, char const *name)
Definition: xDataTOM.cc:207
int smr_isOk(statusMessageReporting *smr)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
enum xDataTOM_interpolationFlag independent dependent
Definition: xDataTOM.h:57
enum xDataTOM_interpolationQualifier qualifier
Definition: xDataTOM.h:58
int xDataTOM_interpolation_set(statusMessageReporting *smr, xDataTOM_interpolation *interpolation, enum xDataTOM_interpolationFlag independent, enum xDataTOM_interpolationFlag dependent, enum xDataTOM_interpolationQualifier qualifier)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
enum xDataTOM_interpolationFlag independent dependent
Definition: xDataTOM.h:57
enum xDataTOM_interpolationQualifier qualifier
Definition: xDataTOM.h:58
int xDataTOM_smrLibraryID
Definition: xDataTOM.cc:34
#define smr_setReportError2(smr, libraryID, code, fmt,...)
Here is the caller graph for this function:

◆ 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 }
int xDataTOM_smrLibraryID
Definition: xDataTOM.cc:34
xDataTOM_interpolationFlag
Definition: xDataTOM.h:19
#define smr_setReportError2(smr, libraryID, code, fmt,...)
xDataTOM_interpolationQualifier
Definition: xDataTOM.h:21
#define dependentAxis
static enum xDataTOM_interpolationFlag xDataTOM_interpolation_getFromString(statusMessageReporting *smr, char const *s, char const **e, char const *str, int flag)
int xDataTOM_interpolation_set(statusMessageReporting *smr, xDataTOM_interpolation *interpolation, enum xDataTOM_interpolationFlag independent, enum xDataTOM_interpolationFlag dependent, enum xDataTOM_interpolationQualifier qualifier)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
const char * ID
Definition: xDataTOM.h:151
xDataTOM_xDataInfo xDataInfo
Definition: xDataTOM.h:187

◆ 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 }
const char * ID
Definition: xDataTOM.h:151
int xDataTOM_KalbachMann_release(xDataTOM_KalbachMann *KalbachMann)
void * smr_freeMemory(void **p)
char const * xDataTOM_KalbachMann_ID
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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_KalbachMannCoefficients * coefficients
Definition: xDataTOM.h:141
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:140
int xDataTOM_subAxes_initialize(statusMessageReporting *smr, xDataTOM_subAxes *subAxes, enum xDataTOM_subAxesType type, int offset, xDataTOM_axes *axes, xDataTOM_interpolation *interpolation)
#define smr_malloc2(smr, size, zero, forItem)
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
xDataTOM_KalbachMannCoefficients * coefficients
Definition: xDataTOM.h:141
int xDataTOM_subAxes_release(xDataTOM_subAxes *subAxes)
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:140
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
Int_t index
#define smr_malloc2(smr, size, zero, forItem)
Here is the caller graph for this function:

◆ 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 }
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
Int_t index
G4String name
Definition: TRTMaterials.hh:40
static int xDataTOME_initializeElement(statusMessageReporting *smr, xDataTOM_element *element, xDataTOM_element *parent, int ordinal, int index, char const *name)
Definition: xDataTOM.cc:207
#define smr_malloc2(smr, size, zero, forItem)
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
#define smr_malloc2(smr, size, zero, forItem)
int xDataTOM_initializeTOM(statusMessageReporting *smr, xDataTOM_TOM *TOM)
Definition: xDataTOM.cc:68
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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_getFirstElement(xDataTOM_element *element)
Definition: xDataTOM.cc:230
G4String name
Definition: TRTMaterials.hh:40
Char_t n[5]
xDataTOM_element * xDataTOME_getNextElement(xDataTOM_element *element)
Definition: xDataTOM.cc:238
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
const char * ID
Definition: xDataTOM.h:151
char const * xDataTOM_polynomial_ID
void * smr_freeMemory(void **p)
int xDataTOM_polynomial_release(xDataTOM_polynomial *polynomial)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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
Here is the caller graph for this function:

◆ 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)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
double * coefficients
Definition: xDataTOM.h:147
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:146
int xDataTOM_subAxes_initialize(statusMessageReporting *smr, xDataTOM_subAxes *subAxes, enum xDataTOM_subAxesType type, int offset, xDataTOM_axes *axes, xDataTOM_interpolation *interpolation)
#define smr_malloc2(smr, size, zero, forItem)
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
double * coefficients
Definition: xDataTOM.h:147
int xDataTOM_subAxes_release(xDataTOM_subAxes *subAxes)
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:146
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
const char * ID
Definition: xDataTOM.h:151
int xDataTOM_regionsW_XYs_LegendreSeries_release(xDataTOM_regionsW_XYs_LegendreSeries *regionsW_XYs_LegendreSeries)
char const * xDataTOM_regionsW_XYs_LegendreSeries_ID
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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
#define smr_malloc2(smr, size, zero, forItem)
Here is the caller graph for this function:

◆ 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 }
xDataTOM_W_XYs_LegendreSeries * W_XYs_LegendreSeries
Definition: xDataTOM.h:122
int xDataTOM_W_XYs_LegendreSeries_release(xDataTOM_W_XYs_LegendreSeries *W_XYs_LegendreSeries)
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
int xDataTOM_XYs_release(xDataTOM_XYs *XYs)
Definition: xDataTOM_XYs.cc:31
const char * ID
Definition: xDataTOM.h:151
xDataTOM_XYs * XYs
Definition: xDataTOM.h:90
char const * xDataTOM_regionsXYs_ID
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
int xDataTOM_axes_release(xDataTOM_axes *axes)
int xDataTOM_polynomial_free(xDataTOM_xDataInfo *xDI)
xDataTOM_element * next
Definition: xDataTOM.h:182
int xDataTOM_regionsXYs_free(xDataTOM_xDataInfo *xDI)
char const * xDataTOM_XYs_ID
Definition: xDataTOM_XYs.cc:14
int xDataTOM_W_XYs_freeFrom_xDataInfo(xDataTOM_xDataInfo *xDI)
int xDataTOM_W_XYs_LegendreSeries_free(xDataTOM_xDataInfo *xDI)
const char * ID
Definition: xDataTOM.h:151
printf("%d Experimental points found\, nlines)
xDataTOM_attributionList attributes
Definition: xDataTOM.h:184
char const * xDataTOM_V_W_XYs_ID
char const * xDataTOM_KalbachMann_ID
int xDataTOM_KalbachMann_free(xDataTOM_xDataInfo *xDI)
char const * xDataTOM_W_XYs_LegendreSeries_ID
void xDataTOMAL_release(xDataTOM_attributionList *attributes)
Definition: xDataTOM.cc:361
void xDataTOM_freeElement(xDataTOM_element **element)
Definition: xDataTOM.cc:139
int xDataTOM_V_W_XYs_LegendreSeries_free(xDataTOM_xDataInfo *xDI)
int xDataTOM_regionsW_XYs_LegendreSeries_free(xDataTOM_xDataInfo *xDI)
void * smr_freeMemory(void **p)
xDataTOM_axes axes
Definition: xDataTOM.h:153
xDataTOM_element * children
Definition: xDataTOM.h:186
char const * xDataTOM_V_W_XYs_LegendreSeries_ID
int xDataTOM_V_W_XYs_free(xDataTOM_xDataInfo *xDI)
xDataTOM_xDataInfo xDataInfo
Definition: xDataTOM.h:187
char const * xDataTOM_regionsW_XYs_LegendreSeries_ID
char const * xDataTOM_W_XYs_ID
char const * xDataTOM_polynomial_ID
int xDataTOM_XYs_free(xDataTOM_xDataInfo *xDI)
Definition: xDataTOM_XYs.cc:19
char const * xDataTOM_regionsXYs_ID
xDataTOM_element * parent
Definition: xDataTOM.h:181
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 smr_allocateCopyString2(smr, s, forItem)
#define PATH_MAX
Definition: xDataTOM.cc:31
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 xDataTOM_smrLibraryID
Definition: xDataTOM.cc:34
Definition: inftrees.h:24
int smr_setReportError(statusMessageReporting *smr, void *userInterface, char const *file, int line, char const *function, int libraryID, int code, char const *fmt,...)
Here is the call graph for this function:

◆ 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
Int_t index
char const * xDataTOM_axes_getLabel(statusMessageReporting *smr, xDataTOM_axes *axes, int index)
Here is the call graph for this function:

◆ 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 }
xDataTOM_axes * axes
Definition: xDataTOM.h:76
Int_t index
char const * xDataTOM_axes_getUnit(statusMessageReporting *smr, xDataTOM_axes *axes, int index)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
xDataTOM_interpolation interpolation
Definition: xDataTOM.h:77
xDataTOM_axes * axes
Definition: xDataTOM.h:76
int xDataTOM_smrLibraryID
Definition: xDataTOM.cc:34
int numberOfAxes
Definition: xDataTOM.h:69
#define smr_setReportError2p(smr, libraryID, code, fmt)
#define smr_setReportError2(smr, libraryID, code, fmt,...)
int xDataTOM_interpolation_set(statusMessageReporting *smr, xDataTOM_interpolation *interpolation, enum xDataTOM_interpolationFlag independent, enum xDataTOM_interpolationFlag dependent, enum xDataTOM_interpolationQualifier qualifier)
enum xDataTOM_subAxesType type
Definition: xDataTOM.h:74
int xDataTOM_interpolation_copy(statusMessageReporting *smr, xDataTOM_interpolation *desc, xDataTOM_interpolation *src)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
xDataTOM_axes * axes
Definition: xDataTOM.h:76
Here is the caller graph for this function:

◆ 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
const char * ID
Definition: xDataTOM.h:151
char const * xDataTOM_V_W_XYs_ID
int xDataTOM_W_XYs_release(xDataTOM_W_XYs *W_XYs)
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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_W_XYs * W_XYs
Definition: xDataTOM.h:103
int xDataTOM_subAxes_initialize(statusMessageReporting *smr, xDataTOM_subAxes *subAxes, enum xDataTOM_subAxesType type, int offset, xDataTOM_axes *axes, xDataTOM_interpolation *interpolation)
#define smr_malloc2(smr, size, zero, forItem)
void * smr_freeMemory(void **p)
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:102
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
char const * xDataTOM_V_W_XYs_LegendreSeries_ID
const char * ID
Definition: xDataTOM.h:151
int xDataTOM_W_XYs_LegendreSeries_release(xDataTOM_W_XYs_LegendreSeries *W_XYs_LegendreSeries)
xDataTOM_W_XYs_LegendreSeries * W_XYs_LegendreSeries
Definition: xDataTOM.h:128
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
int xDataTOM_subAxes_initialize(statusMessageReporting *smr, xDataTOM_subAxes *subAxes, enum xDataTOM_subAxesType type, int offset, xDataTOM_axes *axes, xDataTOM_interpolation *interpolation)
#define smr_malloc2(smr, size, zero, forItem)
xDataTOM_W_XYs_LegendreSeries * W_XYs_LegendreSeries
Definition: xDataTOM.h:128
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 );
51  xDataTOM_W_XYs_release( W_XYs );
52  smr_freeMemory( (void **) &W_XYs );
53  return( (xDataTOM_W_XYs *) NULL );
54 }
int xDataTOM_W_XYs_release(xDataTOM_W_XYs *W_XYs)
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
const char * ID
Definition: xDataTOM.h:151
xDataTOM_W_XYs * xDataTOM_W_XYs_free(xDataTOM_W_XYs *W_XYs)
char const * xDataTOM_W_XYs_ID
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
xDataTOM_XYs * XYs
Definition: xDataTOM.h:97
Int_t index
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:96
int xDataTOM_subAxes_initialize(statusMessageReporting *smr, xDataTOM_subAxes *subAxes, enum xDataTOM_subAxesType type, int offset, xDataTOM_axes *axes, xDataTOM_interpolation *interpolation)
#define smr_malloc2(smr, size, zero, forItem)
double value
Definition: xDataTOM.h:95
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
const char * ID
Definition: xDataTOM.h:151
int xDataTOM_W_XYs_LegendreSeries_release(xDataTOM_W_XYs_LegendreSeries *W_XYs_LegendreSeries)
char const * xDataTOM_W_XYs_LegendreSeries_ID
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
Int_t index
xDataTOM_LegendreSeries * LegendreSeries
Definition: xDataTOM.h:116
int xDataTOM_subAxes_initialize(statusMessageReporting *smr, xDataTOM_subAxes *subAxes, enum xDataTOM_subAxesType type, int offset, xDataTOM_axes *axes, xDataTOM_interpolation *interpolation)
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:115
#define smr_malloc2(smr, size, zero, forItem)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
xDataTOM_LegendreSeries * LegendreSeries
Definition: xDataTOM.h:116
int xDataTOM_LegendreSeries_release(xDataTOM_LegendreSeries *LegendreSeries)
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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_t index
#define smr_malloc2(smr, size, zero, forItem)
void * smr_freeMemory(void **p)
int xDataTOM_W_XYs_initialize(statusMessageReporting *smr, xDataTOM_W_XYs *W_XYs, int index, int length, double value, xDataTOM_axes *axes, int axesOffset)
Here is the call graph for this function:

◆ 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 
72  xDataTOM_subAxes_release( &(W_XYs->subAxes) );
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 }
int xDataTOM_XYs_release(xDataTOM_XYs *XYs)
Definition: xDataTOM_XYs.cc:31
xDataTOM_XYs * XYs
Definition: xDataTOM.h:97
xDataTOM_subAxes subAxes
Definition: xDataTOM.h:96
int xDataTOM_subAxes_release(xDataTOM_subAxes *subAxes)
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
const char * ID
Definition: xDataTOM.h:151
int xDataTOM_XYs_release(xDataTOM_XYs *XYs)
Definition: xDataTOM_XYs.cc:31
void * smr_freeMemory(void **p)
char const * xDataTOM_XYs_ID
Definition: xDataTOM_XYs.cc:14
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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
Here is the caller graph for this function:

◆ 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
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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
int xDataTOM_subAxes_release(xDataTOM_subAxes *subAxes)
double * data
Definition: xDataTOM.h:84
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 
394 err:
395  smr_freeMemory( (void **) &(attribute->name) );
396  smr_freeMemory( (void **) &(attribute->value) );
397  smr_freeMemory( (void **) &(attribute) );
398  return( 1 );
399 }
#define smr_allocateCopyString2(smr, s, forItem)
xDataTOM_attribute * attributes
Definition: xDataTOM.h:165
xDataTOM_attribute * next
Definition: xDataTOM.h:158
G4String name
Definition: TRTMaterials.hh:40
#define smr_malloc2(smr, size, zero, forItem)
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
Float_t d
G4String name
Definition: TRTMaterials.hh:40
int xDataTOM_smrLibraryID
Definition: xDataTOM.cc:34
#define smr_setReportError2(smr, libraryID, code, fmt,...)
char const * xDataTOMAL_getAttributesValue(xDataTOM_attributionList *attributes, char const *name)
Definition: xDataTOM.cc:403
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
G4String name
Definition: TRTMaterials.hh:40
int xDataTOM_smrLibraryID
Definition: xDataTOM.cc:34
Char_t n[5]
#define smr_setReportError2(smr, libraryID, code, fmt,...)
char const * xDataTOMAL_getAttributesValue(xDataTOM_attributionList *attributes, char const *name)
Definition: xDataTOM.cc:403
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 
426 err:
427  xDataTOMAL_release( desc );
428  return( 1 );
429 }
int xDataTOMAL_addAttribute(statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, char const *value)
Definition: xDataTOM.cc:376
xDataTOM_attribute * attributes
Definition: xDataTOM.h:165
xDataTOM_attribute * next
Definition: xDataTOM.h:158
void xDataTOMAL_initial(statusMessageReporting *, xDataTOM_attributionList *attributes)
Definition: xDataTOM.cc:353
void xDataTOMAL_release(xDataTOM_attributionList *attributes)
Definition: xDataTOM.cc:361
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
xDataTOM_attribute * attributes
Definition: xDataTOM.h:165
xDataTOM_attribute * next
Definition: xDataTOM.h:158
G4String name
Definition: TRTMaterials.hh:40
Here is the caller graph for this function:

◆ 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 }
xDataTOM_attribute * attributes
Definition: xDataTOM.h:165
Here is the caller graph for this function:

◆ 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 }
xDataTOM_attribute * attributes
Definition: xDataTOM.h:165
xDataTOM_attribute * next
Definition: xDataTOM.h:158
void xDataTOMAL_initial(statusMessageReporting *, xDataTOM_attributionList *attributes)
Definition: xDataTOM.cc:353
void * smr_freeMemory(void **p)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
int xDataTOMAL_addAttribute(statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, char const *value)
Definition: xDataTOM.cc:376
G4String name
Definition: TRTMaterials.hh:40
xDataTOM_attributionList attributes
Definition: xDataTOM.h:184
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
Float_t d
G4String name
Definition: TRTMaterials.hh:40
xDataTOM_attributionList attributes
Definition: xDataTOM.h:184
int xDataTOMAL_convertAttributeToDouble(statusMessageReporting *smr, xDataTOM_attributionList *attributes, char const *name, double *d)
Definition: xDataTOM.cc:450
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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
G4String name
Definition: TRTMaterials.hh:40
xDataTOM_attributionList attributes
Definition: xDataTOM.h:184
Char_t n[5]
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
xDataTOM_attributionList attributes
Definition: xDataTOM.h:184
int xDataTOMAL_copyAttributionList(statusMessageReporting *smr, xDataTOM_attributionList *desc, xDataTOM_attributionList *src)
Definition: xDataTOM.cc:415
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
xDataTOM_element * children
Definition: xDataTOM.h:186
Here is the caller graph for this function:

◆ 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_t index
int xDataTOM_axes_getInterpolation(statusMessageReporting *smr, xDataTOM_axes *axes, int index, enum xDataTOM_interpolationFlag *independent, enum xDataTOM_interpolationFlag *dependent, enum xDataTOM_interpolationQualifier *qualifier)
const char * ID
Definition: xDataTOM.h:151
xDataTOM_axes axes
Definition: xDataTOM.h:153
xDataTOM_xDataInfo xDataInfo
Definition: xDataTOM.h:187
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
xDataTOM_element * next
Definition: xDataTOM.h:182
Here is the caller graph for this function:

◆ 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 }
xDataTOM_element * xDataTOME_getFirstElement(xDataTOM_element *element)
Definition: xDataTOM.cc:230
G4String name
Definition: TRTMaterials.hh:40
Char_t n[5]
#define smr_setReportError2(smr, libraryID, code, fmt,...)
#define smr_unknownID
xDataTOM_element * xDataTOME_getNextElement(xDataTOM_element *element)
Definition: xDataTOM.cc:238
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
const char * ID
Definition: xDataTOM.h:151
xDataTOM_xDataInfo xDataInfo
Definition: xDataTOM.h:187
Here is the caller graph for this function:

◆ 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 }
const char * ID
Definition: xDataTOM.h:151
int xDataTOM_smrLibraryID
Definition: xDataTOM.cc:34
xDataTOM_xDataInfo * xDataTOME_getXData(xDataTOM_element *TE)
Definition: xDataTOM.cc:504
#define smr_setReportError2(smr, libraryID, code, fmt,...)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 }
int xDataTOM_smrLibraryID
Definition: xDataTOM.cc:34
Char_t n[5]
#define smr_setReportError2p(smr, libraryID, code, fmt)
#define smr_malloc2(smr, size, zero, forItem)
Here is the caller graph for this function: