| 
         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) 
 
  |