15 #ifndef BORNAGAIN_CORE_DETECTOR_CONVOLUTIONDETECTORRESOLUTION_H
16 #define BORNAGAIN_CORE_DETECTOR_CONVOLUTIONDETECTORRESOLUTION_H
29 typedef double (*cumulative_DF_1d)(double);
57 double getIntegratedPDF1d(
double x,
double step)
const;
58 double getIntegratedPDF2d(
double x,
double step_x,
double y,
double step_y)
const;
61 cumulative_DF_1d m_res_function_1d;
62 std::unique_ptr<IResolutionFunction2D> mp_res_function_2d;
67 return mp_res_function_2d.get();
Defines class IDetectorResolution.
Defines interface class IResolutionFunction2D.
Convolutes the intensity in 1 or 2 dimensions with a resolution function.
void accept(INodeVisitor *visitor) const final
Calls the INodeVisitor's visit method.
ConvolutionDetectorResolution(cumulative_DF_1d res_function_1d)
Constructor taking a 1 dimensional resolution function as argument.
virtual void applyDetectorResolution(OutputData< double > *p_intensity_map) const
Convolve given intensities with the encapsulated resolution.
std::vector< const INode * > getChildren() const
Returns a vector of children (const).
Interface for detector resolution algorithms.
Visitor interface to visit ISample objects.
Interface providing two-dimensional resolution function.