SCATMECH > Classes and Functions >
Free-Space Scattering Models
> SphericalScatterer
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;
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
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
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.
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
Functions that return the scattering, extinction, radar
backscattering, and absorption efficiencies,
respectively.
Top of Page
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)
|