Geant4  10.02
xDataTOM_KalbachMann.cc
Go to the documentation of this file.
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_KalbachMann_ID = "KalbachMann";
15 
16 /*
17 ************************************************************
18 */
19 int xDataTOM_KalbachMann_initialize( statusMessageReporting *smr, xDataTOM_KalbachMann *KalbachMann, int length, xDataTOM_axes *axes ) {
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 }
31 
32 /*
33 ************************************************************
34 */
35 int xDataTOM_KalbachMann_free( xDataTOM_xDataInfo *xDI ) {
36 
37  if( xDI == NULL ) return( 0 );
38  if( strcmp( xDataTOM_KalbachMann_ID, xDI->ID ) != 0 ) return( 1 );
39  xDataTOM_KalbachMann_release( (xDataTOM_KalbachMann *) xDI->data );
40  smr_freeMemory( (void **) &(xDI->data) );
41  return( 0 );
42 }
43 /*
44 ************************************************************
45 */
46 int xDataTOM_KalbachMann_release( xDataTOM_KalbachMann *KalbachMann ) {
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 }
57 
58 #if defined __cplusplus
59 }
60 #endif
int xDataTOM_subAxes_initialize(statusMessageReporting *smr, xDataTOM_subAxes *subAxes, enum xDataTOM_subAxesType type, int offset, xDataTOM_axes *axes, xDataTOM_interpolation *interpolation)
int xDataTOM_KalbachMann_release(xDataTOM_KalbachMann *KalbachMann)
int xDataTOM_subAxes_release(xDataTOM_subAxes *subAxes)
int xDataTOM_KalbachMann_free(xDataTOM_xDataInfo *xDI)
void * smr_freeMemory(void **p)
int xDataTOM_KalbachMann_initialize(statusMessageReporting *smr, xDataTOM_KalbachMann *KalbachMann, int length, xDataTOM_axes *axes)
char const * xDataTOM_KalbachMann_ID