Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/lend/src/xDataTOM_W_XYs.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  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_W_XYs_ID = "W_XYs";
 15 
 16 /*
 17 ************************************************************
 18 */
 19 xDataTOM_W_XYs *xDataTOM_W_XYs_new( statusMessageReporting *smr, int index, int length, double value, xDataTOM_axes *axes, int axesOffset ) {
 20 
 21     xDataTOM_W_XYs *W_XYs;
 22 
 23     if( ( W_XYs = (xDataTOM_W_XYs *) smr_malloc2( smr, sizeof( xDataTOM_W_XYs ), 0, "W_XYs" ) ) == NULL ) return( NULL );
 24     if( xDataTOM_W_XYs_initialize( smr, W_XYs, index, length, value, axes, axesOffset ) != 0 ) smr_freeMemory( (void **) &W_XYs );
 25     return( W_XYs );
 26 }
 27 /*
 28 ************************************************************
 29 */
 30 int xDataTOM_W_XYs_initialize( statusMessageReporting *smr, xDataTOM_W_XYs *W_XYs, int index, int length, double value, xDataTOM_axes *axes,
 31     int axesOffset ) {
 32 
 33     W_XYs->XYs = NULL;
 34     W_XYs->index = index;
 35     W_XYs->length = length;
 36     W_XYs->value = value;
 37     if( ( W_XYs->XYs = (xDataTOM_XYs *) smr_malloc2( smr, length * sizeof( xDataTOM_XYs ), 1, "W_XYs->XYs" ) ) == NULL ) return( 1 );
 38     if( xDataTOM_subAxes_initialize( smr, &(W_XYs->subAxes), xDataTOM_subAxesType_proxy, axesOffset, axes, NULL ) != 0 ) {
 39         smr_freeMemory( (void **) &(W_XYs->XYs) );
 40         return( 1 );
 41     }
 42 
 43     return( 0 );
 44 }
 45 /*
 46 ************************************************************
 47 */
 48 xDataTOM_W_XYs *xDataTOM_W_XYs_free( xDataTOM_W_XYs *W_XYs ) {
 49 
 50     if( W_XYs == NULL ) return( NULL );
 51     xDataTOM_W_XYs_release( W_XYs );
 52     smr_freeMemory( (void **) &W_XYs );
 53     return( (xDataTOM_W_XYs *) NULL );
 54 }
 55 /*
 56 ************************************************************
 57 */
 58 int xDataTOM_W_XYs_freeFrom_xDataInfo( xDataTOM_xDataInfo *xDI ) {
 59 
 60     if( xDI == NULL ) return( 0 );
 61     if( strcmp( xDataTOM_W_XYs_ID, xDI->ID ) != 0 ) return( 1 );
 62     xDataTOM_W_XYs_free( (xDataTOM_W_XYs *) xDI->data );
 63     return( 0 );
 64 }
 65 /*
 66 ************************************************************
 67 */
 68 int xDataTOM_W_XYs_release( xDataTOM_W_XYs *W_XYs ) {
 69 
 70     int i;
 71 
 72     xDataTOM_subAxes_release( &(W_XYs->subAxes) );
 73     for( i = 0; i < W_XYs->length; i++ ) xDataTOM_XYs_release( &(W_XYs->XYs[i]) );
 74     W_XYs->length = 0;
 75     smr_freeMemory( (void **) &(W_XYs->XYs) );
 76 
 77     return( 0 );
 78 }
 79 
 80 #if defined __cplusplus
 81 }
 82 #endif
 83