ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
xDataTOM_polynomial.cc
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file xDataTOM_polynomial.cc
1 /*
2 # <<BEGIN-copyright>>
3 # <<END-copyright>>
4 */
5 #include <string.h>
6 
7 #include "xDataTOM_private.h"
8 
9 #if defined __cplusplus
10 namespace GIDI {
11 using namespace GIDI;
12 #endif
13 
14 char const *xDataTOM_polynomial_ID = "polynomial";
15 
16 /*
17 ************************************************************
18 */
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 }
30 /*
31 ************************************************************
32 */
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 }
41 /*
42 ************************************************************
43 */
45 
46  xDataTOM_subAxes_release( &(polynomial->subAxes) );
47  polynomial->length = 0;
48  smr_freeMemory( (void **) &(polynomial->coefficients) );
49 
50  return( 0 );
51 }
52 /*
53 ************************************************************
54 */
56 
57  *data = polynomial->coefficients;
58  return( polynomial->length );
59 }
60 /*
61 ************************************************************
62 */
64 
65  return( xDataTOM_polynomial_getData( (xDataTOM_polynomial *) xDI->data, data ) );
66 }
67 
68 #if defined __cplusplus
69 }
70 #endif