Public Member Functions | Private Attributes

ReduPolarizer Class Reference

#include <ocsReduPolarizer.hh>

List of all members.

Public Member Functions

 ReduPolarizer (ReduOptSignal *oReduOptSignalTmp)
void SetPolarization (double S1PolarizerTmp, double S2PolarizerTmp, double S3PolarizerTmp)
 Sets a new polarization splitting vector in Stokes space.
void PolarizeOptSignal ()
 Polarizes the reduced optical signal.

Private Attributes

ReduOptSignaloReduOptSignal
double * SPolarizer

Detailed Description

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


Constructor & Destructor Documentation

ReduPolarizer::ReduPolarizer ( ReduOptSignal oReduOptSignalTmp  ) 

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

References oReduOptSignal, SetPolarization(), and SPolarizer.


Member Function Documentation

void ReduPolarizer::PolarizeOptSignal (  ) 

Polarizes the reduced optical signal.

We derive an approximate formula in Stokes space for the action of a polarizer on a reduced signal, based on the theory documented in Polarizer::PolarizeOptSignal(). The approximation relies on the assumption that the time integral of product of u(t) and v(t) is zero, whenever u,v are a pair of OptSignals that respresent the signal in two different channels, noise in two different channels, or signal and noise in a channel (or two different channels). This assumption underlies the entire Wang_Menyuk reduced model (see for example eqs (6) and (15) of the paper JLT19p487.

The formula is derived from Polarizer::PolarizeOptSignal() using Gordon and Kogelnick Eq 3.11.

For the signal and noise in each channel, we separately set

S_out = 0.5InnerProduct(SPolarizer,S_in)SPolarizer

where all Stokes parameters in the above formula are 4x1 vectors and SPolarizer = (1,UnitThreeVector).

References ReduOptSignal::GetNumChannels(), InnerProduct(), oReduOptSignal, SPolarizer, ReduOptSignal::StokesNoise, and ReduOptSignal::StokesSignal.

Referenced by Polarizer::PolarizeOptSignal().

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

Sets a new polarization splitting vector in Stokes space.

References SPolarizer, sq(), and sqrt().

Referenced by ReduPolarizer(), and Polarizer::SetPolarization().


Member Data Documentation

Referenced by PolarizeOptSignal(), and ReduPolarizer().

double* ReduPolarizer::SPolarizer [private]

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