12#if defined __cplusplus
29 if( MCGIDI_LLNL_angularEnergy_parseFromTOM( smr, angularEnergyElement, distribution ) )
goto err;
43 char const *nativeData;
48 if( strcmp( nativeData,
"pointwise" ) == 0 ) {
50 else if( strcmp( nativeData,
"linear" ) == 0 ) {
56 if( pointwise != NULL )
return( MCGIDI_LLNL_angularEnergy_parsePointwiseFromTOM( smr, pointwise, distribution ) );
70 char const *energyOutProbabilityUnits[2] = {
"MeV",
"1/MeV" };
93 for( iV = 0; iV < V_W_XYs->
length; iV++ ) {
94 W_XYs = &(V_W_XYs->
W_XYs[iV]);
95 pdfOfEpGivenEAndMu2 = &(pdfOfEpGivenEAndMu[iV]);
96 pdfOfEpGivenEAndMu2->Ws = NULL;
97 pdfOfEpGivenEAndMu2->dist = NULL;
99 pdfOfEpGivenEAndMu2->interpolationWY = interpolationWY;
100 pdfOfEpGivenEAndMu2->interpolationXY = interpolationXY;
101 if( ( pdfOfEpGivenEAndMu2->Ws = (
double *)
smr_malloc2( smr, W_XYs->
length *
sizeof(
double ), 1,
"pdfOfEpGivenEAndMu2->Ws" ) ) == NULL )
goto err;
104 for( iW = 0; iW < W_XYs->
length; iW++ ) {
105 XYs = &(W_XYs->
XYs[iW]);
113 pdfOfEpGivenEAndMu2->Ws[iW] = XYs->
value;
115 pdfOfEpGivenEAndMu2->numberOfWs++;
119 pdfOfEpGivenEAndMu2 = NULL;
123 angularEnergy->
frame = frame;
144 if( pdfOfEpGivenEAndMu != NULL ) {
151#if defined __cplusplus
int MCGIDI_LLNLAngular_angularEnergy_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution)
int MCGIDI_sampling_pdfsOfXGivenW_release(statusMessageReporting *smr, MCGIDI_pdfsOfXGivenW *dists)
@ MCGIDI_distributionType_angularEnergy_e
MCGIDI_angular * MCGIDI_angular_free(statusMessageReporting *smr, MCGIDI_angular *angular)
int MCGIDI_angular_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution, ptwXYPoints *norms)
MCGIDI_angularEnergy * MCGIDI_angularEnergy_new(statusMessageReporting *smr)
int MCGIDI_fromTOM_interpolation(statusMessageReporting *smr, xDataTOM_element *element, int index, enum ptwXY_interpolation_e *interpolation)
int MCGIDI_fromTOM_pdfOfX(statusMessageReporting *smr, ptwXYPoints *pdfXY, MCGIDI_pdfOfX *dist, double *norm)
ptwXYPoints * MCGIDI_misc_dataFromXYs2ptwXYPointsInUnitsOf(statusMessageReporting *smr, xDataTOM_XYs *XYs, ptwXY_interpolation interpolation, char const *units[2])
enum xDataTOM_frame MCGIDI_misc_getProductFrame(statusMessageReporting *smr, xDataTOM_element *frameElement)
enum nfu_status_e nfu_status
const char * nfu_statusMessage(nfu_status status)
enum ptwXY_interpolation_e ptwXY_interpolation
nfu_status ptwXY_add_double(ptwXYPoints *ptwXY, double value)
ptwXYPoints * ptwXY_free(ptwXYPoints *ptwXY)
double ptwXY_integrateDomain(ptwXYPoints *ptwXY, nfu_status *status)
#define smr_setReportError2(smr, libraryID, code, fmt,...)
void * smr_freeMemory(void **p)
int smr_isOk(statusMessageReporting *smr)
#define smr_malloc2(smr, size, zero, forItem)
MCGIDI_pdfsOfXGivenW * pdfOfEpGivenEAndMu
enum xDataTOM_frame frame
MCGIDI_pdfsOfXGivenW pdfOfMuGivenE
MCGIDI_pdfsOfXGivenW dists
MCGIDI_angularEnergy * angularEnergy
enum MCGIDI_distributionType type
ptwXY_interpolation interpolationXY
ptwXY_interpolation interpolationWY
xDataTOM_element * xDataTOME_getOneElementByName(statusMessageReporting *smr, xDataTOM_element *element, char const *name, int required)
char const * xDataTOM_getAttributesValueInElement(xDataTOM_element *element, char const *name)
void * xDataTOME_getXDataIfID(statusMessageReporting *smr, xDataTOM_element *TE, char const *ID)