Implements the spectral density of an ideal fabry-perot etalon. More...

#include <source.h>

Inheritance diagram for IdealEtalon:
Source

Public Member Functions

 IdealEtalon (double d, double n, double theta, double R)
 
double FSR ()
 
double F ()
 
double get_spectral_density (double wavelength)
 
- Public Member Functions inherited from Source
 Source ()
 
virtual ~Source ()
 
virtual std::vector< double > get_spectral_density (std::vector< double > wavelength)
 
virtual std::vector< double > get_spectrum (std::vector< double > wavelength)
 
void set_doppler_shift (double shift)
 
void set_integration_steps (int n)
 

Static Public Member Functions

static double coefficient_of_finesse (double R)
 
static double T (double wl, double theta, double d, double n, double cF)
 

Private Attributes

double d
 
double n
 
double theta
 
double R
 
double cF
 

Detailed Description

Implements the spectral density of an ideal fabry-perot etalon.

An ideal Fabry-Perot etalon has a transmission function that only depends on the distance of the mirrors, the angle of incidence, the reflectivity of the mirrors and the refractive index of the medium between the mirrors.

\[ s(\lambda) = \frac{1}{cF sin(\frac{\delta} {2})^2} \]

(

See also
IdealEtalon::T())

It produces a comb-like spectrum that is has equidistant peaks in frequency.

Todo:
implement FSR(), F() and other static functions.

Constructor & Destructor Documentation

IdealEtalon::IdealEtalon ( double  d,
double  n,
double  theta,
double  R 
)

Constructor.

Parameters
dmirror distance in mm
nrefractive index of the medium between mirrors
thetaangle of incidence
Rreflectivity of the mirrors

Member Function Documentation

double IdealEtalon::coefficient_of_finesse ( double  R)
static

Calculates the coefficient of Finesse.

\[ cF = \frac{4 R}{(1-R)^2} \]

Warning
This is not what is typically called the finesse of an etalon, but the coefficient of finesse.
Parameters
Rmirror reflectivity
Returns
coefficienct of finesse
double IdealEtalon::F ( )
double IdealEtalon::FSR ( )
double IdealEtalon::get_spectral_density ( double  wavelength)
virtual

Spectral density at given wavelegnth.

Parameters
wavelengthwavelength [micron]
Returns
Spectral density at given wavelength

Reimplemented from Source.

double IdealEtalon::T ( double  wl,
double  theta,
double  d,
double  n,
double  cF 
)
static

Transmission function of an ideal etalon.

\[ T(\lambda) = \frac{1}{cF sin(\frac{\delta} {2})^2} \]

, where

\[ \delta \left( \frac{2\pi}{\lambda} \right) 2nlcos(\Theta) \]

, is the phase difference and $ F $ is the coefficient of finesse:

\[ cF = \frac{4R}{(1-R)^2} \]

Parameters
wlwavelength [micron]
thetaangle of incidence [rad]
dmirror distance [mm]
nrefractive index
cFcoefficient of finesse
See also
IdealEtalon::coefficient_of_finesse
Returns
transmission at given wavelength

Member Data Documentation

double IdealEtalon::cF
private
double IdealEtalon::d
private
double IdealEtalon::n
private
double IdealEtalon::R
private
double IdealEtalon::theta
private

The documentation for this class was generated from the following files:
  • /home/stuermer/Repos/cpp/EchelleSimulator/include/source.h
  • /home/stuermer/Repos/cpp/EchelleSimulator/src/source.cpp