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 CLHEP::detail::n, and xData_isElement_1d_x().

00105                                                                                            {
00106 
00107     xData_Int i, n;
00108     xDataType *xDT = &(element->xDataTypeInfo);
00109     double *p, *data;
00110 
00111     if( !xData_isElement_1d_x( smr, element, 1 ) ) return( NULL );
00112     n = xDT->end - xDT->start;
00113     p = (double *) xDT->data;
00114     //if( ( data = xData_malloc2( smr, n * sizeof( double ), 0, "data" ) ) == NULL ) return( NULL );
00115     if( ( data = (double*) xData_malloc2( smr, n * sizeof( double ), 0, "data" ) ) == NULL ) return( NULL );
00116     for( i = 0; i < n; i++, p++ ) data[i] = *p;
00117     return( data );
00118 }

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 CLHEP::detail::n, smr_setMessageError(), xData_get_smrUserInterfaceFromElement(), and xData_isElement_1d_x().

Referenced by tpia_misc_getEqualProbableBins().

00084                                                                                                                      {
00085 
00086     xData_Int i, n;
00087     xDataType *xDT = &(element->xDataTypeInfo);
00088     double *p;
00089 
00090     if( !xData_isElement_1d_x( smr, element, 1 ) ) return( 1 );
00091     n = xDT->end - xDT->start;
00092     //if( n * sizeof( double ) > nAllocatedBytes ) {
00093     if( n * sizeof( double ) > (size_t) nAllocatedBytes ) {
00094         void *smrUser = xData_get_smrUserInterfaceFromElement( element );
00095         smr_setMessageError( smr, smrUser, __FILE__, __LINE__, 1, "allocated memory = %lld to small, need %lld", nAllocatedBytes, n );
00096         return( 1 );
00097     }
00098     p = (double *) xDT->data;
00099     for( i = 0; i < n; i++, d++, p++ ) *d = *p;
00100     return( 0 );
00101 }

int xData_1d_x_free_copyData ( statusMessageReporting *  smr,
void *  data 
)

Definition at line 122 of file xData_1d_x.cc.

References xData_free().

00122                                                                         {
00123 
00124     xData_free( smr, data );
00125     return( 0 );
00126 }

int xData_init_1d_x ( statusMessageReporting *  smr,
xData_element *  element 
)

Definition at line 54 of file xData_1d_x.cc.

References xData_xDataTypeConvertAttributes().

00054                                                                            {
00055 
00056     xDataType *xDT = &(element->xDataTypeInfo);
00057 
00058     xDT->status = xData_xDataType_Ok;
00059     xDT->typeString = xData_oned_x_ID;
00060     xDT->element = element;
00061     xDT->toData = toData;
00062     xDT->toString = toString;
00063     xDT->release = release;
00064     xDT->data = NULL;
00065     return( xData_xDataTypeConvertAttributes( smr, element ) );
00066 }

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().

Referenced by xData_isElement_1d_x().

00070                                                                              {
00071 
00072     return( xData_is_xDataType( smr, xDT, xData_oned_x_ID, setMsg ) );
00073 }

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().

Referenced by xData_1d_x_allocateCopyData(), and xData_1d_x_copyData().

00077                                                                                             {
00078 
00079     return( xData_is_1d_x( smr, &(element->xDataTypeInfo), setMsg ) );
00080 }


Generated on Mon May 27 17:51:17 2013 for Geant4 by  doxygen 1.4.7