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