92 double y, norm, energyInFactor, energyOutFactor;
93 char const *energyUnit, *multiplicityProbabilityUnits[2] = {
"",
"1/MeV" };
118 if( ( pdfOfEpGivenE->
Ws = (
double *)
smr_malloc2( smr, V_W_XYs->
length *
sizeof(
double ), 1,
"pdfOfEpGivenE->Ws" ) ) == NULL )
goto err;
132 for( iV = 0; iV < V_W_XYs->
length; iV++ ) {
133 W_XYs = &(V_W_XYs->
W_XYs[iV]);
134 pdfOfMuGivenEAndEp2 = &(pdfOfMuGivenEAndEp[iV]);
135 pdfOfMuGivenEAndEp2->interpolationWY = interpolationWY;
136 pdfOfMuGivenEAndEp2->interpolationXY = interpolationXY;
137 if( ( pdfXY2 =
ptwXY_new( interpolationWY, NULL, 2., 1e-6, W_XYs->
length, 10, &status, 0 ) ) == NULL )
goto errA;
138 if( ( pdfOfMuGivenEAndEp2->Ws = (
double *)
smr_malloc2( smr, W_XYs->
length *
sizeof(
double ), 1,
"pdfOfMuGivenEAndEp2->Ws" ) ) == NULL )
goto err;
140 for( iW = 0; iW < W_XYs->
length; iW++ ) {
141 XYs = &(W_XYs->
XYs[iW]);
150 pdfOfMuGivenEAndEp2->Ws[iW] = energyOutFactor * XYs->
value;
152 pdfOfMuGivenEAndEp2->numberOfWs++;
156 pdfOfEpGivenE->
Ws[iV] = energyInFactor * W_XYs->
value;
ptwXY_interpolation interpolationXY
MCGIDI_energyAngular * energyAngular
MCGIDI_energyAngular * MCGIDI_energyAngular_new(statusMessageReporting *smr)
enum xDataTOM_frame frame
MCGIDI_pdfsOfXGivenW * pdfOfMuGivenEAndEp
int MCGIDI_fromTOM_interpolation(statusMessageReporting *smr, xDataTOM_element *element, int index, enum ptwXY_interpolation_e *interpolation)
ptwXYPoints * ptwXY_free(ptwXYPoints *ptwXY)
nfu_status ptwXY_setValueAtX(ptwXYPoints *ptwXY, double x, double y)
double ptwXY_integrateDomain(ptwXYPoints *ptwXY, nfu_status *status)
nfu_status ptwXY_add_double(ptwXYPoints *ptwXY, double value)
int MCGIDI_fromTOM_pdfOfX(statusMessageReporting *smr, ptwXYPoints *pdfXY, MCGIDI_pdfOfX *dist, double *norm)
#define smr_setReportError2(smr, libraryID, code, fmt,...)
xDataTOM_element * xDataTOME_getOneElementByName(statusMessageReporting *smr, xDataTOM_element *element, char const *name, int required)
enum nfu_status_e nfu_status
ptwXY_interpolation interpolationWY
void * xDataTOME_getXDataIfID(statusMessageReporting *smr, xDataTOM_element *TE, char const *ID)
#define smr_malloc2(smr, size, zero, forItem)
MCGIDI_energyAngular * MCGIDI_energyAngular_free(statusMessageReporting *smr, MCGIDI_energyAngular *energyAngular)
int smr_isOk(statusMessageReporting *smr)
enum ptwXY_interpolation_e ptwXY_interpolation
ptwXYPoints * ptwXY_new(ptwXY_interpolation interpolation, ptwXY_interpolationOtherInfo const *interpolationOtherInfo, double biSectionMax, double accuracy, int64_t primarySize, int64_t secondarySize, nfu_status *status, int userFlag)
enum MCGIDI_distributionType type
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)
double MCGIDI_misc_getUnitConversionFactor(statusMessageReporting *smr, char const *fromUnit, char const *toUnit)
MCGIDI_pdfsOfXGivenW pdfOfEpGivenE
const char * nfu_statusMessage(nfu_status status)
char const * xDataTOM_subAxes_getUnit(statusMessageReporting *smr, xDataTOM_subAxes *subAxes, int index)