tpia_angular.cc File Reference

#include <string.h>
#include "tpia_target.h"
#include "tpia_misc.h"

Go to the source code of this file.

Functions

int tpia_angular_initialize (statusMessageReporting *smr, tpia_angular *angular)
int tpia_angular_release (statusMessageReporting *smr, tpia_angular *angular)
int tpia_angular_getFromElement (statusMessageReporting *smr, xData_element *angularElement, tpia_angular *angular)
int tpia_angular_SampleMu (statusMessageReporting *smr, tpia_angular *angular, tpia_decaySamplingInfo *decaySamplingInfo)


Function Documentation

int tpia_angular_getFromElement ( statusMessageReporting *  smr,
xData_element *  angularElement,
tpia_angular *  angular 
)

Definition at line 70 of file tpia_angular.cc.

References CLHEP::detail::n, tpia_frame_setFromElement(), and tpia_misc_getEqualProbableBin().

00070                                                                                                                      {
00071 
00072     xData_Int n, nBins;
00073 
00074     if( ( tpia_frame_setFromElement( smr, angularElement, 3, &(angular->frame) ) ) != 0 ) return( 1 );
00075     if( ( angular->binned.energies = tpia_misc_getEqualProbableBin( smr, angularElement, &n, &nBins ) ) != NULL ) {
00076         angular->binned.iValue = 0;
00077         angular->binned.dValue = 0;
00078         angular->binned.nBins = (int) nBins;
00079         angular->binned.numberOfEs = (int) n;
00080         return( 0 );
00081     }
00082     return( 1 );
00083 }

int tpia_angular_initialize ( statusMessageReporting *  smr,
tpia_angular *  angular 
)

Definition at line 49 of file tpia_angular.cc.

References tpia_frame_setFromString().

Referenced by tpia_product_initialize().

00049                                                                                   {
00050 
00051     memset( angular, 0, sizeof( tpia_angular ) );
00052     if( tpia_frame_setFromString( smr, "", "", 0, &(angular->frame) ) ) return( 1 );
00053     angular->binned.numberOfEs = 0;
00054     angular->binned.energies = NULL;
00055     return( 0 );
00056 }

int tpia_angular_release ( statusMessageReporting *  smr,
tpia_angular *  angular 
)

Definition at line 60 of file tpia_angular.cc.

References xData_free().

Referenced by tpia_product_release().

00060                                                                                {
00061 
00062     //angular->binned.energies = xData_free( smr, angular->binned.energies );
00063     angular->binned.energies = (tpia_EqualProbableBinSpectrum*) xData_free( smr, angular->binned.energies );
00064     angular->binned.numberOfEs = 0;
00065     return( 0 );
00066 }

int tpia_angular_SampleMu ( statusMessageReporting *  smr,
tpia_angular *  angular,
tpia_decaySamplingInfo *  decaySamplingInfo 
)

Definition at line 87 of file tpia_angular.cc.

References tpia_misc_sampleEqualProbableBin().

Referenced by G4GIDI_target::getElasticFinalState(), and tpia_decayChannel_sampleProductsAtE().

00087                                                                                                                            {
00088 
00089     tpia_EqualProbableBinSpectra *binned = &(angular->binned);
00090     int nBins = binned->nBins, status = 1;
00091     double mu;
00092 /*
00093 Currently, only equal probable binning is supported.
00094 Need to return frame info for mu also.
00095 */
00096     if( binned->numberOfEs > 0 ) {
00097         tpia_misc_sampleEqualProbableBin( smr, decaySamplingInfo, decaySamplingInfo->e_in, nBins, binned, &mu );
00098         if( mu < -1. ) mu = -1.;
00099         if( mu >  1. ) mu =  1.;
00100         decaySamplingInfo->mu = mu;
00101         status = 0;
00102     }
00103 
00104     return( status );
00105 }


Generated on Mon May 27 17:51:16 2013 for Geant4 by  doxygen 1.4.7