Abstract class SphericalScatterer


The abstract class SphericalScatterer represents a free space spherical scatterer. It provides additional functions, which are specific to spherical scatterers. It also provides functions for accessing the scattering, extinction, absorption, and backscattering cross sections and efficiencies.

Parameters:

Parameter Data Type Description Default
lambda double Wavelength of the light [µm].
(Inherited from Free_Space_Scatterer.)
0.532
medium dielectric_function The optical constants of the medium surrounding the sphere, expressed as a complex number (n,k) or, optionally, as a function of wavelength.
(Inherited from Free_Space_Scatterer.)
(1,0)
sphere dielectric_function The optical constants of the sphere, expressed as a complex number (n,k) or, optionally, as a function of wavelength. (1.59,0)
radius double Radius of the sphere [µm]. 0.05

See also:

SCATMECH Home,   Conventions,   RayleighScatterer,   RayleighGansSphereScatterer,   MieScatterer

C.F. Bohren and D.R. Huffman, Absorption and Scattering of Light by Small Particles, (Wiley, New York, 1983).
H.C. van de Hulst, Light Scattering by Small Particles, (Dover, New York, 1981).

Include file:

#include "sphrscat.h"

Source code:

sphrscat.cpp
reg_sphrscat.cpp

Definition of public elements:

class SphericalScatterer : public Free_Space_Scatterer {
    SphericalScatterer();

    virtual complex<double> s1(double angle,double lambda)=0;
    virtual complex<double> s2(double angle,double lambda)=0;

    JonesMatrix s(double angle,double lambda);

    virtual double Csca(double lambda)=0;
    virtual double Cext(double lambda)=0;
    virtual double Cback(double lambda)=0;
    double Cabs(double lambda);

    double Qsca(double lambda);
    double Qext(double lambda);
    double Qback(double lambda);
    double Qabs(double lambda);
};

typedef Model_Ptr<SphericalScatterer> SphericalScatterer_Ptr;

virtual complex<double> s1(double angle,double lambda)=0

The scattering coefficient for electric fields out of the scattering plane. The parameter angle is the angle measured from the incident direction, and the parameter lambda is the wavelength. Since this is a virtual pure function, any class that inherits SphericalScatterer must define this function.

Top of Page

virtual complex<double> s2(double angle,double lambda)=0

The scattering coefficient for electric fields within the scattering plane. The parameter angle is the angle measured from the incident direction, and the parameter lambda is the wavelength. Since this is a virtual pure function, any class that inherits SphericalScatterer must define this function.

Top of Page

JonesMatrix s(double angle,double lambda)

A Jones matrix representation of the scattering matrix. The parameter angle is the angle measured from the incident direction, and the parameter lambda is the wavelength.

Top of Page.

virtual double Csca(double lambda)=0
virtual double Cext(double lambda)=0
virtual double Cback(double lambda)=0
double Cabs(double lambda)

Functions that return the scattering, extinction, radar backscattering, and absorption cross sections, respectively. The first three are virtual pure functions that must be defined by any inherited model. The latter is defined as Cext()-Csca().

Top of Page

double Qsca(double lambda)
double Qext(double lambda)
double Qback(double lambda)
double Qabs(double lambda)

Functions that return the scattering, extinction, radar backscattering, and absorption efficiencies, respectively.

Top of Page

typedef Model_Ptr<SphericalScatterer> SphericalScatterer_Ptr

The typedef SphericalScatterer_Ptr behaves like a pointer to an instance of class SphericalScatterer. The following statement will query the user for an instance of class SphericalScatterer:

SphericalScatterer_Ptr model = Get_Model_Ptr();

The next statement will also create an instance of class SphericalScatterer:

SphericalScatterer_Ptr model = "MieScatterer";

See Model_Ptr<model>.

Top of Page


For More Information

SCATMECH Technical Information and Questions
Sensor Science Division Home Page
Sensor Science Division Inquiries
Website Comments

Current SCATMECH version: 7.22 (April 2021)