Geant4-11
Data Structures | Macros | Typedefs | Enumerations | Functions
xDataTOM.h File Reference
#include <statusMessageReporting.h>

Go to the source code of this file.

Data Structures

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

Macros

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

Typedefs

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

Enumerations

enum  xDataTOM_frame { xDataTOM_frame_invalid , xDataTOM_frame_lab , xDataTOM_frame_centerOfMass }
 
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_KalbachMannType { xDataTOM_KalbachMannType_fr , xDataTOM_KalbachMannType_fra }
 
enum  xDataTOM_subAxesType { xDataTOM_subAxesType_proxy , xDataTOM_subAxesType_intepolationAxes }
 

Functions

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

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

Definition at line 41 of file xDataTOM.h.

◆ xDataTOM_LegendreSeries

Definition at line 37 of file xDataTOM.h.

◆ xDataTOM_polynomial

Definition at line 43 of file xDataTOM.h.

◆ xDataTOM_regionsW_XYs_LegendreSeries

Definition at line 39 of file xDataTOM.h.

◆ 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

Definition at line 40 of file xDataTOM.h.

◆ 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

References xDataTOM_xDataInfo_s::data, xDataTOM_xDataInfo_s::element, xDataTOM_xDataInfo_s::ID, smr_malloc2, and xDataTOM_element_s::xDataInfo.

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}
const char * name(G4int ptype)
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

References xDataTOM_element_s::children, G4InuclParticleNames::name(), xDataTOM_element_s::next, xDataTOM_element_s::numberOfChildren, and xDataTOM_mallocElement().

Referenced by xDataXML_constructTOM().

◆ 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

References xDataTOM_axes_s::axis, xDataTOM_interpolation_s::dependent, xDataTOM_axis_s::interpolation, xDataTOM_axes_s::numberOfAxes, xDataTOM_interpolation_s::qualifier, smr_setReportError2, and xDataTOM_smrLibraryID.

Referenced by xDataTOME_getInterpolation().

◆ xDataTOM_axes_getLabel()

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

◆ 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

References xDataTOM_axes_s::axis, xDataTOM_axes_s::numberOfAxes, smr_setReportError2, xDataTOM_axis_s::unit, and xDataTOM_smrLibraryID.

Referenced by MCGIDI_fromTOM_pdfsOfXGivenW(), MCGIDI_KalbachMann_parseFromTOM(), MCGIDI_product_parsePolynomialMultiplicity(), 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}

References xDataTOM_axes_s::axis, xDataTOM_axes_s::numberOfAxes, and smr_malloc2.

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)

References xDataTOM_axes_s::axis, xDataTOM_axes_s::numberOfAxes, smr_freeMemory(), and xDataTOM_axis_release().

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

References xDataTOM_frame_centerOfMass, xDataTOM_frame_centerOfMassString, xDataTOM_frame_invalidString, xDataTOM_frame_lab, and xDataTOM_frame_labString.

◆ 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)

References xDataTOM_axis_s::index, xDataTOM_axis_s::interpolation, xDataTOM_axis_s::label, smr_allocateCopyString2, smr_freeMemory(), xDataTOM_axis_s::unit, and xDataTOM_interpolation_copy().

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)

References smr_freeMemory(), smr_malloc2, and xDataTOM_axis_initialize().

◆ 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}

References xDataTOM_axis_s::index, xDataTOM_axis_s::label, smr_freeMemory(), and xDataTOM_axis_s::unit.

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}

References xDataTOM_frame_centerOfMass, xDataTOM_frame_invalid, and xDataTOM_frame_lab.

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
static void xDataTOME_displayTree(statusMessageReporting *smr, xDataTOM_element *element, int printAttributes, int level)
Definition: xDataTOM.cc:326

References xDataTOM_element_s::children, xDataTOM_TOM_s::root, and xDataTOME_displayTree().

◆ 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

References smr_freeMemory(), and xDataTOM_releaseElement().

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

References xDataTOM_TOM_s::fileName, xDataTOM_TOM_s::realFileName, xDataTOM_TOM_s::root, smr_freeMemory(), and xDataTOM_releaseElement().

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}

References xDataTOM_element_s::children, and xDataTOM_TOM_s::root.

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
static xDataTOM_element * xDataTOM_getLinksElement2(statusMessageReporting *smr, xDataTOM_element *element, char const *link, char const *fullLink)

References xDataTOM_element_s::parent, smr_setReportError2, smr_unknownID, and xDataTOM_getLinksElement2().

Referenced by MCGIDI_product_parseWeightedReferenceMultiplicityFromTOM().

◆ 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)

References xDataXML_importFile().

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)
static int xDataTOME_initializeElement(statusMessageReporting *smr, xDataTOM_element *element, xDataTOM_element *parent, int ordinal, int index, char const *name)
Definition: xDataTOM.cc:207

References xDataTOM_TOM_s::fileName, xDataTOM_TOM_s::realFileName, xDataTOM_TOM_s::root, smr_isOk(), and xDataTOME_initializeElement().

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)

References xDataTOM_interpolation_s::dependent, xDataTOM_interpolation_s::qualifier, and xDataTOM_interpolation_set().

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}

References xDataTOM_interpolation_s::dependent, xDataTOM_interpolation_s::qualifier, smr_setReportError2, xDataTOM_interpolationFlag_byRegion, xDataTOM_interpolationFlag_flat, xDataTOM_interpolationFlag_linear, xDataTOM_interpolationQualifier_correspondingPoints, xDataTOM_interpolationQualifier_invalid, and xDataTOM_smrLibraryID.

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
static enum xDataTOM_interpolationFlag xDataTOM_interpolation_getFromString(statusMessageReporting *smr, char const *s, char const **e, char const *str, int flag)

References dependentAxis, smr_setReportError2, xDataTOM_interpolation_getFromString(), xDataTOM_interpolation_set(), xDataTOM_interpolationFlag_invalid, xDataTOM_interpolationQualifier_correspondingPoints, xDataTOM_interpolationQualifier_none, xDataTOM_interpolationQualifier_unitBase, and xDataTOM_smrLibraryID.

Referenced by xDataXML_axesToTOM(), xDataXML_regionsW_XYs_LegendreSeries_regionToTOM(), and xDataXML_regionsXYs_regionToTOM().

◆ 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}

References xDataTOM_xDataInfo_s::ID, and xDataTOM_element_s::xDataInfo.

◆ 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)

References xDataTOM_xDataInfo_s::data, xDataTOM_xDataInfo_s::ID, smr_freeMemory(), xDataTOM_KalbachMann_ID, and xDataTOM_KalbachMann_release().

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)

References xDataTOM_KalbachMann_s::coefficients, xDataTOM_KalbachMann_s::numberOfEnergies, smr_freeMemory(), smr_malloc2, xDataTOM_KalbachMann_s::subAxes, xDataTOM_subAxes_initialize(), and xDataTOM_subAxesType_proxy.

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)

References xDataTOM_KalbachMannCoefficients_s::coefficients, xDataTOM_KalbachMann_s::coefficients, xDataTOM_KalbachMann_s::numberOfEnergies, smr_freeMemory(), xDataTOM_KalbachMann_s::subAxes, and xDataTOM_subAxes_release().

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}

References xDataTOM_LegendreSeries_s::index, xDataTOM_LegendreSeries_s::LegendreSeries, xDataTOM_LegendreSeries_s::length, smr_malloc2, and xDataTOM_LegendreSeries_s::value.

Referenced by xDataXML_LegendreSeriesDataToTOM().

◆ 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}

References xDataTOM_LegendreSeries_s::LegendreSeries, and smr_freeMemory().

Referenced by xDataTOM_W_XYs_LegendreSeries_release(), and xDataXML_LegendreSeriesDataToTOM().

◆ 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}

References G4InuclParticleNames::name(), smr_freeMemory(), smr_malloc2, and xDataTOME_initializeElement().

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

References smr_freeMemory(), smr_malloc2, and xDataTOM_initializeTOM().

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

References CLHEP::detail::n, G4InuclParticleNames::name(), xDataTOM_element_s::name, xDataTOME_getFirstElement(), and xDataTOME_getNextElement().

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

References xDataTOM_xDataInfo_s::data, xDataTOM_xDataInfo_s::ID, smr_freeMemory(), xDataTOM_polynomial_ID, and xDataTOM_polynomial_release().

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

References xDataTOM_polynomial_s::coefficients, and xDataTOM_polynomial_s::length.

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)

References xDataTOM_xDataInfo_s::data, and xDataTOM_polynomial_getData().

Referenced by MCGIDI_product_parsePolynomialMultiplicity().

◆ 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

References xDataTOM_polynomial_s::coefficients, xDataTOM_polynomial_s::length, smr_freeMemory(), smr_malloc2, xDataTOM_polynomial_s::subAxes, xDataTOM_subAxes_initialize(), and xDataTOM_subAxesType_proxy.

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}

References xDataTOM_polynomial_s::coefficients, xDataTOM_polynomial_s::length, smr_freeMemory(), xDataTOM_polynomial_s::subAxes, and xDataTOM_subAxes_release().

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

References xDataTOM_xDataInfo_s::data, xDataTOM_xDataInfo_s::ID, smr_freeMemory(), xDataTOM_regionsW_XYs_LegendreSeries_ID, and xDataTOM_regionsW_XYs_LegendreSeries_release().

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

References xDataTOM_regionsW_XYs_LegendreSeries_s::axes, xDataTOM_regionsW_XYs_LegendreSeries_s::length, smr_malloc2, and xDataTOM_regionsW_XYs_LegendreSeries_s::W_XYs_LegendreSeries.

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)

References xDataTOM_regionsW_XYs_LegendreSeries_s::length, smr_freeMemory(), xDataTOM_regionsW_XYs_LegendreSeries_s::W_XYs_LegendreSeries, and xDataTOM_W_XYs_LegendreSeries_release().

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

References xDataTOM_xDataInfo_s::data, xDataTOM_xDataInfo_s::ID, smr_freeMemory(), xDataTOM_regionsXYs_ID, xDataTOM_XYs_release(), and xDataTOM_regionsXYs_s::XYs.

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

References xDataTOM_element_s::attributes, xDataTOM_xDataInfo_s::axes, xDataTOM_element_s::children, xDataTOM_xDataInfo_s::ID, xDataTOM_element_s::name, xDataTOM_element_s::next, xDataTOM_element_s::parent, smr_freeMemory(), xDataTOM_element_s::xDataInfo, xDataTOM_axes_release(), xDataTOM_freeElement(), xDataTOM_KalbachMann_free(), xDataTOM_KalbachMann_ID, xDataTOM_polynomial_free(), xDataTOM_polynomial_ID, xDataTOM_regionsW_XYs_LegendreSeries_free(), xDataTOM_regionsW_XYs_LegendreSeries_ID, xDataTOM_regionsXYs_free(), xDataTOM_regionsXYs_ID, xDataTOM_V_W_XYs_free(), xDataTOM_V_W_XYs_ID, xDataTOM_V_W_XYs_LegendreSeries_free(), xDataTOM_V_W_XYs_LegendreSeries_ID, xDataTOM_W_XYs_freeFrom_xDataInfo(), xDataTOM_W_XYs_ID, xDataTOM_W_XYs_LegendreSeries_free(), xDataTOM_W_XYs_LegendreSeries_ID, xDataTOM_XYs_free(), xDataTOM_XYs_ID, and xDataTOMAL_release().

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

References xDataTOM_TOM_s::fileName, PATH_MAX, xDataTOM_TOM_s::realFileName, smr_allocateCopyString2, and smr_freeMemory().

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}
static char ** args
Definition: G4Xt.cc:51
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

References args, smr_setReportError(), and xDataTOM_smrLibraryID.

◆ 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)

References xDataTOM_subAxes_s::axes, xDataTOM_subAxes_s::offset, and xDataTOM_axes_getLabel().

◆ 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)

References xDataTOM_subAxes_s::axes, xDataTOM_subAxes_s::offset, and xDataTOM_axes_getUnit().

Referenced by MCGIDI_angular_parseFromTOM(), MCGIDI_angularEnergy_parsePointwiseFromTOM(), MCGIDI_energyAngular_linear_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)

References xDataTOM_subAxes_s::axes, xDataTOM_subAxes_s::interpolation, xDataTOM_axes_s::numberOfAxes, xDataTOM_subAxes_s::offset, smr_setReportError2, smr_setReportError2p, xDataTOM_subAxes_s::type, xDataTOM_interpolation_copy(), xDataTOM_interpolation_set(), xDataTOM_interpolationFlag_linear, xDataTOM_interpolationQualifier_none, xDataTOM_smrLibraryID, and xDataTOM_subAxesType_intepolationAxes.

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}

References xDataTOM_subAxes_s::axes.

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

References xDataTOM_xDataInfo_s::data, xDataTOM_xDataInfo_s::ID, xDataTOM_V_W_XYs_s::length, smr_freeMemory(), xDataTOM_V_W_XYs_s::W_XYs, xDataTOM_V_W_XYs_ID, and xDataTOM_W_XYs_release().

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

References xDataTOM_V_W_XYs_s::length, smr_freeMemory(), smr_malloc2, xDataTOM_V_W_XYs_s::subAxes, xDataTOM_V_W_XYs_s::W_XYs, xDataTOM_subAxes_initialize(), and xDataTOM_subAxesType_proxy.

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

References xDataTOM_xDataInfo_s::data, xDataTOM_xDataInfo_s::ID, smr_freeMemory(), xDataTOM_V_W_XYs_LegendreSeries_s::W_XYs_LegendreSeries, xDataTOM_V_W_XYs_LegendreSeries_ID, and xDataTOM_W_XYs_LegendreSeries_release().

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}

References xDataTOM_V_W_XYs_LegendreSeries_s::length, smr_malloc2, xDataTOM_V_W_XYs_LegendreSeries_s::subAxes, xDataTOM_V_W_XYs_LegendreSeries_s::W_XYs_LegendreSeries, xDataTOM_subAxes_initialize(), and xDataTOM_subAxesType_proxy.

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)

References smr_freeMemory(), and xDataTOM_W_XYs_release().

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

References xDataTOM_xDataInfo_s::data, xDataTOM_xDataInfo_s::ID, xDataTOM_W_XYs_free(), and 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

References xDataTOM_W_XYs_s::index, xDataTOM_W_XYs_s::length, smr_freeMemory(), smr_malloc2, xDataTOM_W_XYs_s::subAxes, xDataTOM_W_XYs_s::value, xDataTOM_subAxes_initialize(), xDataTOM_subAxesType_proxy, and xDataTOM_W_XYs_s::XYs.

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

References xDataTOM_xDataInfo_s::data, xDataTOM_xDataInfo_s::ID, smr_freeMemory(), xDataTOM_W_XYs_LegendreSeries_ID, and xDataTOM_W_XYs_LegendreSeries_release().

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

References xDataTOM_W_XYs_LegendreSeries_s::index, xDataTOM_W_XYs_LegendreSeries_s::LegendreSeries, xDataTOM_W_XYs_LegendreSeries_s::length, smr_malloc2, xDataTOM_W_XYs_LegendreSeries_s::subAxes, xDataTOM_W_XYs_LegendreSeries_s::value, and xDataTOM_subAxes_initialize().

Referenced by xDataXML_regionsW_XYs_LegendreSeries_regionToTOM(), xDataXML_V_W_XYs_LegendreSeries_W_XYs_LegendreSeriesToTOM(), and 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)

References xDataTOM_W_XYs_LegendreSeries_s::LegendreSeries, xDataTOM_W_XYs_LegendreSeries_s::length, smr_freeMemory(), and xDataTOM_LegendreSeries_release().

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)

References smr_freeMemory(), smr_malloc2, and xDataTOM_W_XYs_initialize().

◆ 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}

References xDataTOM_W_XYs_s::length, smr_freeMemory(), xDataTOM_W_XYs_s::subAxes, xDataTOM_subAxes_release(), xDataTOM_XYs_release(), and xDataTOM_W_XYs_s::XYs.

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

References xDataTOM_xDataInfo_s::data, xDataTOM_xDataInfo_s::ID, smr_freeMemory(), xDataTOM_XYs_ID, and xDataTOM_XYs_release().

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

References xDataTOM_XYs_s::data, and xDataTOM_XYs_s::length.

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

References xDataTOM_xDataInfo_s::data, and xDataTOM_XYs_getData().

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

References xDataTOM_XYs_s::data, xDataTOM_XYs_s::length, smr_freeMemory(), xDataTOM_XYs_s::subAxes, and xDataTOM_subAxes_release().

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

References xDataTOM_attributionList_s::attributes, G4InuclParticleNames::name(), xDataTOM_attribute_s::name, xDataTOM_attribute_s::next, xDataTOM_attributionList_s::number, smr_allocateCopyString2, smr_freeMemory(), smr_malloc2, and xDataTOM_attribute_s::value.

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

References G4InuclParticleNames::name(), smr_setReportError2, xDataTOM_smrLibraryID, and xDataTOMAL_getAttributesValue().

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}

References CLHEP::detail::n, G4InuclParticleNames::name(), smr_setReportError2, xDataTOM_smrLibraryID, and xDataTOMAL_getAttributesValue().

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

References xDataTOM_attributionList_s::attributes, xDataTOM_attribute_s::name, xDataTOM_attribute_s::next, xDataTOM_attribute_s::value, xDataTOMAL_addAttribute(), xDataTOMAL_initial(), and xDataTOMAL_release().

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}

References xDataTOM_attributionList_s::attributes, G4InuclParticleNames::name(), xDataTOM_attribute_s::name, xDataTOM_attribute_s::next, and xDataTOM_attribute_s::value.

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 
)

◆ 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}

References xDataTOM_attributionList_s::attributes, xDataTOM_attribute_s::name, xDataTOM_attribute_s::next, smr_freeMemory(), xDataTOM_attribute_s::value, and xDataTOMAL_initial().

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}

References xDataTOM_element_s::attributes, G4InuclParticleNames::name(), and xDataTOMAL_addAttribute().

Referenced by xDataXML_constructTOM().

◆ 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

References xDataTOM_element_s::attributes, G4InuclParticleNames::name(), and xDataTOMAL_convertAttributeToDouble().

Referenced by MCGIDI_target_heated_parseParticleGammas().

◆ 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

References xDataTOM_element_s::attributes, CLHEP::detail::n, G4InuclParticleNames::name(), and xDataTOMAL_convertAttributeToInteger().

Referenced by MCGIDI_energy_parseNBodyPhaseSpaceFromTOM(), 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

References xDataTOM_element_s::attributes, and xDataTOMAL_copyAttributionList().

Referenced by MCGIDI_reaction_parseFromTOM().

◆ xDataTOME_getFirstElement()

xDataTOM_element * xDataTOME_getFirstElement ( xDataTOM_element element)

◆ 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)

References xDataTOM_xDataInfo_s::axes, xDataTOM_xDataInfo_s::ID, xDataTOM_element_s::xDataInfo, and xDataTOM_axes_getInterpolation().

Referenced by MCGIDI_fromTOM_interpolation(), and MCGIDI_reaction_parseFromTOM().

◆ xDataTOME_getNextElement()

xDataTOM_element * xDataTOME_getNextElement ( xDataTOM_element element)

◆ 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}

References CLHEP::detail::n, G4InuclParticleNames::name(), xDataTOM_element_s::name, geant4_check_module_cycles::required, smr_setReportError2, smr_unknownID, xDataTOME_getFirstElement(), and xDataTOME_getNextElement().

Referenced by MCGIDI_angular_parseFromTOM(), MCGIDI_angularEnergy_parseFromTOM(), MCGIDI_distribution_parseFromTOM(), MCGIDI_energy_parseEvaporationFromTOM(), MCGIDI_energy_parseFromTOM(), MCGIDI_energy_parseGeneralEvaporationFromTOM(), MCGIDI_energy_parseMadlandNixFromTOM(), MCGIDI_energy_parseSimpleMaxwellianFissionFromTOM(), MCGIDI_energy_parseWattFromTOM(), MCGIDI_energyAngular_linear_parseFromTOM(), MCGIDI_energyAngular_parseFromTOM(), MCGIDI_KalbachMann_parseFromTOM(), MCGIDI_LLNL_angularEnergy_parseFromTOM(), MCGIDI_LLNLAngular_angularEnergy_parseFromTOM(), MCGIDI_product_parseFromTOM(), MCGIDI_product_parseWeightedReferenceMultiplicityFromTOM(), 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}

References xDataTOM_xDataInfo_s::ID, and xDataTOM_element_s::xDataInfo.

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

References xDataTOM_xDataInfo_s::data, xDataTOM_xDataInfo_s::ID, xDataTOM_element_s::name, smr_setReportError2, xDataTOM_smrLibraryID, and xDataTOME_getXData().

Referenced by MCGIDI_angular_parseFromTOM(), MCGIDI_angularEnergy_parsePointwiseFromTOM(), MCGIDI_energy_parseMadlandNixFromTOM(), MCGIDI_energyAngular_linear_parseFromTOM(), MCGIDI_fromTOM_pdfsOfXGivenW(), and MCGIDI_LLNL_angularEnergy_parsePointwiseFromTOM().

◆ 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}
def cwd()
Definition: g4zmq.py:52

References g4zmq::cwd(), CLHEP::detail::n, smr_malloc2, smr_setReportError2p, and xDataTOM_smrLibraryID.

Referenced by MCGIDI_target_heated_read().