Geant4 Cross Reference |
1 /* 1 /* 2 # <<BEGIN-copyright>> 2 # <<BEGIN-copyright>> 3 # <<END-copyright>> 3 # <<END-copyright>> 4 */ 4 */ 5 #include <string.h> 5 #include <string.h> 6 6 7 #include "xDataTOM_private.h" 7 #include "xDataTOM_private.h" 8 8 9 #if defined __cplusplus 9 #if defined __cplusplus 10 namespace GIDI { 10 namespace GIDI { 11 using namespace GIDI; 11 using namespace GIDI; 12 #endif 12 #endif 13 13 14 char const *xDataTOM_KalbachMann_ID = "Kalbach 14 char const *xDataTOM_KalbachMann_ID = "KalbachMann"; 15 15 16 /* 16 /* 17 ********************************************** 17 ************************************************************ 18 */ 18 */ 19 int xDataTOM_KalbachMann_initialize( statusMes 19 int xDataTOM_KalbachMann_initialize( statusMessageReporting *smr, xDataTOM_KalbachMann *KalbachMann, int length, xDataTOM_axes *axes ) { 20 20 21 KalbachMann->coefficients = NULL; 21 KalbachMann->coefficients = NULL; 22 KalbachMann->numberOfEnergies = 0; 22 KalbachMann->numberOfEnergies = 0; 23 if( ( KalbachMann->coefficients = (xDataTO 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, &(Ka 24 if( xDataTOM_subAxes_initialize( smr, &(KalbachMann->subAxes), xDataTOM_subAxesType_proxy, 0, axes, NULL ) != 0 ) { 25 smr_freeMemory( (void **) &(KalbachMan 25 smr_freeMemory( (void **) &(KalbachMann->coefficients) ); 26 return( 1 ); 26 return( 1 ); 27 } 27 } 28 28 29 return( 0 ); 29 return( 0 ); 30 } 30 } 31 31 32 /* 32 /* 33 ********************************************** 33 ************************************************************ 34 */ 34 */ 35 int xDataTOM_KalbachMann_free( xDataTOM_xDataI 35 int xDataTOM_KalbachMann_free( xDataTOM_xDataInfo *xDI ) { 36 36 37 if( xDI == NULL ) return( 0 ); 37 if( xDI == NULL ) return( 0 ); 38 if( strcmp( xDataTOM_KalbachMann_ID, xDI-> 38 if( strcmp( xDataTOM_KalbachMann_ID, xDI->ID ) != 0 ) return( 1 ); 39 xDataTOM_KalbachMann_release( (xDataTOM_Ka 39 xDataTOM_KalbachMann_release( (xDataTOM_KalbachMann *) xDI->data ); 40 smr_freeMemory( (void **) &(xDI->data) ); 40 smr_freeMemory( (void **) &(xDI->data) ); 41 return( 0 ); 41 return( 0 ); 42 } 42 } 43 /* 43 /* 44 ********************************************** 44 ************************************************************ 45 */ 45 */ 46 int xDataTOM_KalbachMann_release( xDataTOM_Kal 46 int xDataTOM_KalbachMann_release( xDataTOM_KalbachMann *KalbachMann ) { 47 47 48 int i; 48 int i; 49 49 50 xDataTOM_subAxes_release( &(KalbachMann->s 50 xDataTOM_subAxes_release( &(KalbachMann->subAxes) ); 51 for( i = 0; i < KalbachMann->numberOfEnerg 51 for( i = 0; i < KalbachMann->numberOfEnergies; i++ ) smr_freeMemory( (void **) &(KalbachMann->coefficients[i].coefficients) ); 52 KalbachMann->numberOfEnergies = 0; 52 KalbachMann->numberOfEnergies = 0; 53 smr_freeMemory( (void **) &(KalbachMann->c 53 smr_freeMemory( (void **) &(KalbachMann->coefficients) ); 54 54 55 return( 0 ); 55 return( 0 ); 56 } 56 } 57 57 58 #if defined __cplusplus 58 #if defined __cplusplus 59 } 59 } 60 #endif 60 #endif 61 61