15 #ifndef BORNAGAIN_CORE_DETECTOR_CONVOLUTIONDETECTORRESOLUTION_H
16 #define BORNAGAIN_CORE_DETECTOR_CONVOLUTIONDETECTORRESOLUTION_H
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.
double(* cumulative_DF_1d)(double)
double getIntegratedPDF1d(double x, double step) const
void setResolutionFunction(const IResolutionFunction2D &resFunc)
virtual ~ConvolutionDetectorResolution()
const IResolutionFunction2D * getResolutionFunction2D() const
cumulative_DF_1d m_res_function_1d
void apply1dConvolution(OutputData< double > *p_intensity_map) const
std::unique_ptr< IResolutionFunction2D > mp_res_function_2d
void apply2dConvolution(OutputData< double > *p_intensity_map) const
ConvolutionDetectorResolution(cumulative_DF_1d res_function_1d)
Constructor taking a 1 dimensional resolution function as argument.
virtual ConvolutionDetectorResolution * clone() const
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).
double getIntegratedPDF2d(double x, double step_x, double y, double step_y) const
Interface for detector resolution algorithms.
Visitor interface to visit ISample objects.
Interface providing two-dimensional resolution function.