16 #error no need to expose this header to Swig
20 #ifndef BORNAGAIN_DEVICE_RESOLUTION_CONVOLUTIONDETECTORRESOLUTION_H
21 #define BORNAGAIN_DEVICE_RESOLUTION_CONVOLUTIONDETECTORRESOLUTION_H
44 std::string
className() const final {
return "ConvolutionDetectorResolution"; }
Defines interface IDetectorResolution.
Defines interface class IResolutionFunction2D.
Convolutes the intensity in 1 or 2 dimensions with a resolution function.
double getIntegratedPDF1d(double x, double step) const
void setResolutionFunction(const IResolutionFunction2D &resFunc)
std::string className() const final
Returns the class name, to be hard-coded in each leaf class that inherits from INode.
double(*)(double) cumulative_DF_1d
std::vector< const INode * > nodeChildren() const override
Returns all children.
const IResolutionFunction2D * getResolutionFunction2D() const
~ConvolutionDetectorResolution() override
cumulative_DF_1d m_res_function_1d
std::unique_ptr< IResolutionFunction2D > m_res_function_2d
ConvolutionDetectorResolution(cumulative_DF_1d res_function_1d)
Constructor taking a 1 dimensional resolution function as argument.
void apply1dConvolution(Datafield *p_intensity_map) const
void applyDetectorResolution(Datafield *p_intensity_map) const override
Convolve given intensities with the encapsulated resolution.
ConvolutionDetectorResolution * clone() const override
void apply2dConvolution(Datafield *p_intensity_map) const
double getIntegratedPDF2d(double x, double step_x, double y, double step_y) const
Stores radiation power per bin.
Interface for detector resolution algorithms.
Interface providing two-dimensional resolution function.