BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
ComplexIntegrator Class Reference

Description

To integrate a complex function of a real variable.

Definition at line 44 of file IntegratorGK.h.

Collaboration diagram for ComplexIntegrator:
[legend]

Public Member Functions

complex_t integrate (const std::function< complex_t(double)> &f, double lmin, double lmax)
 

Private Attributes

RealIntegrator imagPart
 
RealIntegrator realPart
 

Member Function Documentation

◆ integrate()

complex_t ComplexIntegrator::integrate ( const std::function< complex_t(double)> &  f,
double  lmin,
double  lmax 
)

Definition at line 37 of file IntegratorGK.cpp.

39 {
40  return {realPart.integrate([f](double x) { return f(x).real(); }, lmin, lmax),
41  imagPart.integrate([f](double x) { return f(x).imag(); }, lmin, lmax)};
42 }
RealIntegrator realPart
Definition: IntegratorGK.h:49
RealIntegrator imagPart
Definition: IntegratorGK.h:50
double integrate(const std::function< double(double)> &f, double lmin, double lmax)

References imagPart, RealIntegrator::integrate(), and realPart.

Referenced by Cone::formfactor_at_bottom(), HemiEllipsoid::formfactor_at_bottom(), HorizontalCylinder::formfactor_at_bottom(), TruncatedSphere::formfactor_at_bottom(), TruncatedSpheroid::formfactor_at_bottom(), and ripples::profile_yz_cosine().

Here is the call graph for this function:

Member Data Documentation

◆ imagPart

RealIntegrator ComplexIntegrator::imagPart
private

Definition at line 50 of file IntegratorGK.h.

Referenced by integrate().

◆ realPart

RealIntegrator ComplexIntegrator::realPart
private

Definition at line 49 of file IntegratorGK.h.

Referenced by integrate().


The documentation for this class was generated from the following files: