Ejemplo n.º 1
0
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);
        }
}
Ejemplo n.º 2
0
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);
	}

}