XMI_EXPORT void xmi_detector_convolute_all_custom(xmi_inputFPtr inputFPtr, double **channels_noconv, double **channels_conv, double *brute_history, double *var_red_history, xmi_main_options *options, xmi_escape_ratios *escape_ratios, int n_interactions_all, int zero_interaction) { int i; xmi_input *input; xmi_input_F2C(inputFPtr, &input); //fprintf(stdout, "outputfile: %s\n", input->general->outputfile); #ifdef _OPENMP #pragma omp parallel for default(shared), private(i) #endif for (i = (zero_interaction == 1 ? 0 : 1) ; i <= n_interactions_all ; i++) { xmi_detector_convolute_spectrum(inputFPtr, channels_noconv[i], &channels_conv[i], options, escape_ratios, i); } if (options->use_variance_reduction == 1 && var_red_history != NULL) { if (options->verbose == 1) fprintf(stdout, "Calculating variance reduction history detector absorption correction\n"); xmi_detector_convolute_history( inputFPtr, var_red_history, options); } if (brute_history != NULL) { if (options->verbose == 1) fprintf(stdout, "Calculating brute force history detector absorption correction\n"); xmi_detector_convolute_history( inputFPtr, brute_history, options); } }
XMI_EXPORT void xmi_detector_convolute_all_custom(xmi_inputFPtr inputFPtr, double **channels_noconv, double **channels_conv, struct xmi_main_options options, struct xmi_escape_ratios *escape_ratios, int n_interactions_all, int zero_interaction) { int i; struct xmi_input *input; xmi_input_F2C(inputFPtr, &input); //fprintf(stdout, "outputfile: %s\n", input->general->outputfile); for (i = (zero_interaction == 1 ? 0 : 1) ; i <= n_interactions_all ; i++) { xmi_detector_convolute(inputFPtr, channels_noconv[i], &channels_conv[i], options, escape_ratios, i); } }