Public Member Functions | Private Attributes

Polarizer Class Reference

#include <ocsPolarizer.hh>

List of all members.

Public Member Functions

 Polarizer (OptSignal *oOptSignalTmp)
void SetPolarization (double S1PolarizerTmp, double S2PolarizerTmp, double S3PolarizerTmp)
 Sets a new polarization splitting vector in Stokes space.
void PolarizeOptSignal ()
 Polarizes optical signal.

Private Attributes

OptSignaloOptSignal
double * SPolarizer
ReduPolarizeroReduPolarizer

Detailed Description

Adapted by John Zweck (Jan 2006) from code written by Ivan Lima See doumentation for Polarizer::PolarizeOptSignal() for details.


Constructor & Destructor Documentation

Polarizer::Polarizer ( OptSignal oOptSignalTmp  ) 

Constructor. Sets default polarization splitting vector in Stokes space to be the horizontal state (1,0,0).

References oOptSignal, OptSignal::oReduOptSignal, oReduPolarizer, SetPolarization(), and SPolarizer.


Member Function Documentation

void Polarizer::PolarizeOptSignal (  ) 

Polarizes optical signal.

Suppose that the input Jones signal to the polarizer is

U_{in}(t) = u_{parallel}(t)V_{parallel} + u_{perp}(t)V_{perp},

where V_{parallel} is a Jones vector corresponding to the Stokes vector SPolarizer, and {V_{parallel}, V_{perp}} for an orthonormal basis for Jones space. Then we define the output signal after the polarizer to be

U_{out}(t) = u_{parallel}(t)V_{parallel}.

Use the theory of projection operators from linear algebra we have that

If Jones vectors are column vectors then

U_{out}(t) = [conjugatetranspose(V_{parallel})U_in(t)]V_{parallel}.

You can check that U_{out} is independent of the choice of phase for V_{parallel} that arises when V_{parallel} is computed from SPolarizer.

References OptSignal::GetQtPoints(), InnerProduct(), oOptSignal, oReduPolarizer, ReduPolarizer::PolarizeOptSignal(), OptSignal::sfftM, SPolarizer, Stokes2Jones(), OptSignal::Time2Freq(), fftMatrices::tOptSignalX, and fftMatrices::tOptSignalY.

void Polarizer::SetPolarization ( double  S1PolarizerTmp,
double  S2PolarizerTmp,
double  S3PolarizerTmp 
)

Sets a new polarization splitting vector in Stokes space.

References oReduPolarizer, ReduPolarizer::SetPolarization(), SPolarizer, sq(), and sqrt().

Referenced by Polarizer().


Member Data Documentation

Referenced by PolarizeOptSignal(), and Polarizer().

double* Polarizer::SPolarizer [private]

The documentation for this class was generated from the following files: