Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
xData_1d_x.cc File Reference
#include <stdlib.h>
#include <limits.h>
#include <ctype.h>
#include "xData.h"

Go to the source code of this file.

Functions

int xData_init_1d_x (statusMessageReporting *smr, xData_element *element)
 
int xData_is_1d_x (statusMessageReporting *smr, xDataType *xDT, int setMsg)
 
int xData_isElement_1d_x (statusMessageReporting *smr, xData_element *element, int setMsg)
 
int xData_1d_x_copyData (statusMessageReporting *smr, xData_element *element, xData_Int nAllocatedBytes, double *d)
 
double * xData_1d_x_allocateCopyData (statusMessageReporting *smr, xData_element *element)
 
int xData_1d_x_free_copyData (statusMessageReporting *smr, void *data)
 

Function Documentation

double* xData_1d_x_allocateCopyData ( statusMessageReporting smr,
xData_element element 
)

Definition at line 105 of file xData_1d_x.cc.

References xDataType_s::data, xDataType_s::end, n, xDataType_s::start, xData_isElement_1d_x(), xData_malloc2, and xData_element_s::xDataTypeInfo.

105  {
106 
107  xData_Int i, n;
108  xDataType *xDT = &(element->xDataTypeInfo);
109  double *p, *data;
110 
111  if( !xData_isElement_1d_x( smr, element, 1 ) ) return( NULL );
112  n = xDT->end - xDT->start;
113  p = (double *) xDT->data;
114  //if( ( data = xData_malloc2( smr, n * sizeof( double ), 0, "data" ) ) == NULL ) return( NULL );
115  if( ( data = (double*) xData_malloc2( smr, n * sizeof( double ), 0, "data" ) ) == NULL ) return( NULL );
116  for( i = 0; i < n; i++, p++ ) data[i] = *p;
117  return( data );
118 }
xData_Int start
Definition: xData.h:162
const char * p
Definition: xmltok.h:285
#define xData_malloc2(smr, size, zero, forItem)
Definition: xData.h:313
int xData_isElement_1d_x(statusMessageReporting *smr, xData_element *element, int setMsg)
Definition: xData_1d_x.cc:77
xDataType xDataTypeInfo
Definition: xData.h:187
const G4int n
int xData_Int
Definition: xData.h:50
const XML_Char const XML_Char * data
xData_Int end
Definition: xData.h:162
void * data
Definition: xData.h:163
int xData_1d_x_copyData ( statusMessageReporting smr,
xData_element element,
xData_Int  nAllocatedBytes,
double *  d 
)

Definition at line 84 of file xData_1d_x.cc.

References xDataType_s::data, xDataType_s::end, n, smr_setMessageError(), xDataType_s::start, xData_get_smrUserInterfaceFromElement(), xData_isElement_1d_x(), and xData_element_s::xDataTypeInfo.

Referenced by tpia_misc_getEqualProbableBins().

84  {
85 
86  xData_Int i, n;
87  xDataType *xDT = &(element->xDataTypeInfo);
88  double *p;
89 
90  if( !xData_isElement_1d_x( smr, element, 1 ) ) return( 1 );
91  n = xDT->end - xDT->start;
92  //if( n * sizeof( double ) > nAllocatedBytes ) {
93  if( n * sizeof( double ) > (size_t) nAllocatedBytes ) {
94  void *smrUser = xData_get_smrUserInterfaceFromElement( element );
95  smr_setMessageError( smr, smrUser, __FILE__, __LINE__, 1, "allocated memory = %lld to small, need %lld", nAllocatedBytes, n );
96  return( 1 );
97  }
98  p = (double *) xDT->data;
99  for( i = 0; i < n; i++, d++, p++ ) *d = *p;
100  return( 0 );
101 }
void * xData_get_smrUserInterfaceFromElement(xData_element *element)
Definition: xData.cc:952
xData_Int start
Definition: xData.h:162
const char * p
Definition: xmltok.h:285
int smr_setMessageError(statusMessageReporting *smr, void *userInterface, const char *file, int line, int code, const char *fmt,...)
int xData_isElement_1d_x(statusMessageReporting *smr, xData_element *element, int setMsg)
Definition: xData_1d_x.cc:77
xDataType xDataTypeInfo
Definition: xData.h:187
const G4int n
int xData_Int
Definition: xData.h:50
xData_Int end
Definition: xData.h:162
void * data
Definition: xData.h:163
int xData_1d_x_free_copyData ( statusMessageReporting smr,
void data 
)

Definition at line 122 of file xData_1d_x.cc.

References xData_free().

122  {
123 
124  xData_free( smr, data );
125  return( 0 );
126 }
void * xData_free(statusMessageReporting *smr, void *p)
Definition: xDataMisc.cc:89
const XML_Char const XML_Char * data
int xData_init_1d_x ( statusMessageReporting smr,
xData_element element 
)

Definition at line 54 of file xData_1d_x.cc.

References xDataType_s::data, xDataType_s::element, xDataType_s::release, xDataType_s::status, xDataType_s::toData, xDataType_s::toString, xDataType_s::typeString, xData_oned_x_ID, xData_xDataType_Ok, xData_xDataTypeConvertAttributes(), and xData_element_s::xDataTypeInfo.

54  {
55 
56  xDataType *xDT = &(element->xDataTypeInfo);
57 
60  xDT->element = element;
61  xDT->toData = toData;
62  xDT->toString = toString;
63  xDT->release = release;
64  xDT->data = NULL;
65  return( xData_xDataTypeConvertAttributes( smr, element ) );
66 }
int xData_xDataTypeConvertAttributes(statusMessageReporting *smr, xData_element *element)
Definition: xData.cc:668
xDT_toStringFunction toString
Definition: xData.h:159
enum xData_xDataType status
Definition: xData.h:155
xDataType xDataTypeInfo
Definition: xData.h:187
xDT_releaseFunction release
Definition: xData.h:160
xData_element * element
Definition: xData.h:157
const char * typeString
Definition: xData.h:156
const char *const xData_oned_x_ID
Definition: xData.h:71
xDT_toDataFunction toData
Definition: xData.h:158
void * data
Definition: xData.h:163
int xData_is_1d_x ( statusMessageReporting smr,
xDataType xDT,
int  setMsg 
)

Definition at line 70 of file xData_1d_x.cc.

References xData_is_xDataType(), and xData_oned_x_ID.

Referenced by xData_isElement_1d_x().

70  {
71 
72  return( xData_is_xDataType( smr, xDT, xData_oned_x_ID, setMsg ) );
73 }
int xData_is_xDataType(statusMessageReporting *smr, xDataType *xDT, char const *const type, int setMsg)
Definition: xData.cc:900
const char *const xData_oned_x_ID
Definition: xData.h:71
int xData_isElement_1d_x ( statusMessageReporting smr,
xData_element element,
int  setMsg 
)

Definition at line 77 of file xData_1d_x.cc.

References xData_is_1d_x(), and xData_element_s::xDataTypeInfo.

Referenced by xData_1d_x_allocateCopyData(), and xData_1d_x_copyData().

77  {
78 
79  return( xData_is_1d_x( smr, &(element->xDataTypeInfo), setMsg ) );
80 }
xDataType xDataTypeInfo
Definition: xData.h:187
int xData_is_1d_x(statusMessageReporting *smr, xDataType *xDT, int setMsg)
Definition: xData_1d_x.cc:70