| 
         SCATMECH > Classes and Functions >
        Polarization > Common
        polarization elements and states 
        Common polarization elements and states
         
        A set of functions that return Jones matrices and Mueller
        matrices for common polarization elements and Jones vectors
        and Stokes vectors for some common polarization
        states.
	 Include files:
          
#include "mueller.h"
 
        Source code:
          
jmatrix.cpp
mueller.cpp
 
        See also:
        SCATMECH Home,  
        Conventions,   JonesMatrix,   MuellerMatrix,   JonesVector,   StokesVector 
Definition of functions:
          
JonesMatrix JonesZero();
JonesMatrix JonesLinearRetarder(double phase, double angle=0);
JonesMatrix JonesCircularRetarder(double phase);
JonesMatrix JonesRotator(double angle);
JonesMatrix JonesLinearPolarizer(double angle=0,double diattenuation=1);
JonesMatrix JonesCircularPolarizer(double diattenuation=1);
JonesMatrix JonesGeneralized(const JonesVector& a,const JonesVector& b,
                             const complex<double>& ma, const complex<double>& mb);
MuellerMatrix MuellerZero();
MuellerMatrix MuellerDepolarizer(double transmittance=1.,double depolarization=1.); 
MuellerMatrix MuellerUnit(double transmittance=1.);
MuellerMatrix MuellerPartialLinearPolarizer(double tmax,double tmin,double angle);
JonesVector JonesVectorUnitS();
JonesVector JonesVectorUnitP();
JonesVector JonesVectorUnitLinear(double eta);
JonesVector JonesVectorUnitRCP();
JonesVector JonesVectorUnitLCP();
JonesVector JonesVectorUnitGeneral(double eta,double DOCP);
StokesVector StokesVectorUnitUnpol();
StokesVector StokesVectorUnitS();
StokesVector StokesVectorUnitP();
StokesVector StokesVectorUnitLinear(double eta);
StokesVector StokesVectorUnitRCP();
StokesVector StokesVectorUnitLCP();
StokesVector StokesVectorUnitGeneral(double eta,double DOCP=0.,double DOP=1.);
         
        
        
          The
          function JonesZero() returns a zero Jones
          vector.
         Example:
          
JonesMatrix j = JonesZero();
 
         
        Top of Page 
	
        
          The
          function JonesLinearRetarder returns the
          JonesMatrix of a retarder having a retardation
          phase (where PI is a half-wave retarder)
          and fast axis rotated by angle in a clockwise
          fashion when looking into the beam. For angle=0,
          the fast axis corresponds to p-polarization.
         Example:
          
double time;
JonesMatrix halfwave=JonesLinearRetarder(PI);
JonesMatrix quarterwave=JonesLinearRetarder(PI/2,PI/4);
JonesMatrix modulator=JonesLinearRetarder(time,PI/4);
 
         
        Top of Page 
	
        
          The function JonesCircularRetarder returns the
          JonesMatrix of a circular retarder having a
          retardation phase (where PI is a half-wave
          retarder).
         Example:
          
JonesMatrix cr = JonesCircularRetarder(PI/2.);
 
         
        Top of Page 
	
        
          The function JonesRotator returns a
          JonesMatrix that rotates the polarization state by
          angle in a clockwise fashion viewing into the
          beam.
         Example:
          
JonesMatrix rotator=JonesRotator(PI/2);
 
         
        Top of Page 
	
        
          The function JonesLinearPolarizer returns the
          JonesMatrix for a linear polarizer rotated by
          angle in a clockwise fashion viewing into the
          beam. For imperfect polarizers, the diattenuation is less
          than unity.
         Example:
          
JonesMatrix polarizer=JonesLinearPolarizer(0);
 
         
        Top of Page 
	
        
          The function JonesCircularPolarizer returns the
          JonesMatrix for a circular polarizer. For
          imperfect polarizers, the diattenuation is less than
          unity.
         Example:
          
JonesMatrix polarizer=JonesCircularPolarizer();
 
         
        Top of Page 
	
	
        
          The function JonesGeneralized returns a
          JonesMatrix whose eigenvalues are ma and
          mb, with respective eigenJonesVectors
          a and b.
         Example:
          
JonesMatrix quarterwave = JonesGeneralized(JonesVector(1,0),
                                           JonesVector(0,1),
                                           complex<double>(1,0),
                                           complex<double>(0,1));
         
        Top of Page 
	
        
          This function returns a MuellerMatrix whose
          elements are all zero.
         Example:
          
MuellerMatrix zero=MuellerZero();
 
         
        Top of Page 
	
        
          This function returns a MuellerMatrix whose
          elements are all zero except the upper-left element,
          which is set to transmittance. If depolarization
          is set to less than unity, the other diagonal elements
          are nonzero, too.
         Example:
          
MuellerMatrix depolarizer=MuellerDepolarizer(1.);
 
         
        Top of Page 
	
        
          This function returns a MuellerMatrix whose
          off-diagonal elements are all zero, and whose diagonal
          elements are all transmittance.
         Example:
          
MuellerMatrix unit=MuellerUnit(1.);
 
         
        Top of Page 
	
        
          This function returns a MuellerMatrix
          corresponding to a partial polarizer whose transmittance
          is tmax along an axis oriented an angle
          angle from s-polarized and tmin along an
          axis perpendicular to that axis.
         Example:
          
MuellerMatrix polarizer=MuellerPartialLinearPolarizer(1.,0.,0.);
 
         
        Top of Page 
	
        
          A set of functions which return unit Jones vectors for
          specific polarization states:
	   
	  - 
          JonesVectorUnitS() returns a Jones vector for
          s-polarized light.
          
 - JonesVectorUnitP() returns a Jones vector for
          p-polarized light.
          
 - JonesVectorUnitRCP() returns a Jones vector for
          right-circularly-polarized light.
          
 - JonesVectorUnitLCP() returns a Jones vector for
          left-circularly-polarized light.
          
 - JonesVectorUnitLinear(double eta) returns a Jones
          vector for linearly polarized light whose electric field
          is an angle eta from s-polarized.
          
 - JonesVectorUnitGeneral(double eta,double DOCP)
          returns a Jones vector for light whose principal axis is
          an angle eta from s-polarized, and whose degree of
          circular polarization is DOCP.
	  
  
         
        Top of Page 
	
        
          A set of functions which return unit Stokes vectors for
          specific polarization states:
	   
          - StokesVectorUnitUnpol() returns the Stokes vector
          for unpolarized polarized light.
          
 - StokesVectorUnitS() returns the Stokes vector for
          s-polarized light.
          
 - StokesVectorUnitP() returns the Stokes vector for
          p-polarized light.
          
 - StokesVectorUnitRCP() returns the Stokes vector
          for right-circularly-polarized light.
          
 - StokesVectorUnitLCP() returns the Stokes vector
          for left-circularly-polarized light.
          
 - StokesVectorUnitLinear(double eta) returns the
          Stokes vector for linearly polarized light for which the
          electric field is an angle eta from
          s-polarized.
          
 - StokesVectorUnitGeneral(double eta,double DOCP,double
          DOP) returns the Stokes vector for light whose
          principal axis is an angle eta from s-polarized,
          whose degree of circular polarization is DOCP, and
          whose degree of polarization is DOP.
	  
  	  
         
        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) 
 
  |