Geant4 Cross Reference |
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 61