List of all members | Classes | Static Public Member Functions | Private Types | Static Private Member Functions
TelescopeSimulatorLX::ThinFilm Class Reference

#include <ThinFilm.h>

Classes

struct  Etas
 

Static Public Member Functions

static double GetAbsorptance (const double nIndex1, const dcomplex &nIndex2, const double nIndex3, const double sinTheta1, const double thickness, const double wavelength)
 
static double GetReflectance (const double nIndex1, const dcomplex &nIndex2, const double nIndex3, const double sinTheta1, const double thickness, const double wavelength)
 
static std::pair< double, double > GetReflectanceAbsorptance (const double nIndex1, const dcomplex &nIndex2, const double nIndex3, const double sinTheta1, const double thickness, const double wavelength)
 
static double GetTransmittance (const double nIndex1, const dcomplex &nIndex2, const double nIndex3, const double sinTheta1, const double thickness, const double wavelength)
 

Private Types

typedef std::complex< double > dcomplex
 

Static Private Member Functions

static double GetAbsorptance2 (const Etas &etas, const dcomplex &phase)
 
static double GetAbsorptance3 (const Etas &etas, const std::pair< dcomplex, dcomplex > &bc)
 
static Etas GetAllEtasP (const double nIndex1, const dcomplex &nIndex2, const double nIndex3, const double n1sinTheta1)
 
static Etas GetAllEtasS (const double nIndex1, const dcomplex &nIndex2, const double nIndex3, const double n1sinTheta1)
 
template<typename T >
static T GetEtaP (const T &nIndex, const double n1sinTheta1)
 
template<typename T >
static T GetEtaS (const T &nIndex, const double n1sinTheta1)
 
static std::pair< dcomplex,
dcomplex
GetNormalizedFields (const Etas &etas, const dcomplex &phase)
 
static dcomplex GetPhase (const dcomplex &nIndex, const double n1sinTheta1, const double thickness, const double wavelength)
 
static double GetReflectance2 (const Etas &etas, const dcomplex &phase)
 
static double GetReflectance3 (const Etas &etas, const std::pair< dcomplex, dcomplex > &bc)
 
template<typename T >
static T GetSnellNCosTheta (const T &nIndex, const double n1sinTheta1)
 
static double GetTransmittance2 (const Etas &etas, const dcomplex &phase)
 
template<double Xtance>
static double GetXtance (const double nIndex1, const dcomplex &nIndex2, const double nIndex3, const double sinTheta1, const double thickness, const double wavelength)
 

Detailed Description

Definition at line 28 of file ThinFilm.h.

Member Typedef Documentation

typedef std::complex<double> TelescopeSimulatorLX::ThinFilm::dcomplex
private

Definition at line 31 of file ThinFilm.h.

Member Function Documentation

static double TelescopeSimulatorLX::ThinFilm::GetAbsorptance ( const double  nIndex1,
const dcomplex nIndex2,
const double  nIndex3,
const double  sinTheta1,
const double  thickness,
const double  wavelength 
)
inlinestatic

Definition at line 68 of file ThinFilm.h.

static double TelescopeSimulatorLX::ThinFilm::GetAbsorptance2 ( const Etas etas,
const dcomplex phase 
)
inlinestaticprivate

Definition at line 212 of file ThinFilm.h.

References GetAbsorptance3(), and GetNormalizedFields().

Referenced by GetReflectanceAbsorptance().

static double TelescopeSimulatorLX::ThinFilm::GetAbsorptance3 ( const Etas etas,
const std::pair< dcomplex, dcomplex > &  bc 
)
inlinestaticprivate
static Etas TelescopeSimulatorLX::ThinFilm::GetAllEtasP ( const double  nIndex1,
const dcomplex nIndex2,
const double  nIndex3,
const double  n1sinTheta1 
)
inlinestaticprivate

Definition at line 152 of file ThinFilm.h.

Referenced by GetReflectanceAbsorptance(), and GetXtance().

static Etas TelescopeSimulatorLX::ThinFilm::GetAllEtasS ( const double  nIndex1,
const dcomplex nIndex2,
const double  nIndex3,
const double  n1sinTheta1 
)
inlinestaticprivate

Definition at line 137 of file ThinFilm.h.

Referenced by GetReflectanceAbsorptance(), and GetXtance().

template<typename T >
static T TelescopeSimulatorLX::ThinFilm::GetEtaP ( const T &  nIndex,
const double  n1sinTheta1 
)
inlinestaticprivate

Definition at line 132 of file ThinFilm.h.

References GetEtaS().

template<typename T >
static T TelescopeSimulatorLX::ThinFilm::GetEtaS ( const T &  nIndex,
const double  n1sinTheta1 
)
inlinestaticprivate

Definition at line 128 of file ThinFilm.h.

References GetSnellNCosTheta().

Referenced by GetEtaP().

static std::pair<dcomplex, dcomplex> TelescopeSimulatorLX::ThinFilm::GetNormalizedFields ( const Etas etas,
const dcomplex phase 
)
inlinestaticprivate
static dcomplex TelescopeSimulatorLX::ThinFilm::GetPhase ( const dcomplex nIndex,
const double  n1sinTheta1,
const double  thickness,
const double  wavelength 
)
inlinestaticprivate

Definition at line 167 of file ThinFilm.h.

References GetSnellNCosTheta().

Referenced by GetReflectanceAbsorptance(), and GetXtance().

static double TelescopeSimulatorLX::ThinFilm::GetReflectance ( const double  nIndex1,
const dcomplex nIndex2,
const double  nIndex3,
const double  sinTheta1,
const double  thickness,
const double  wavelength 
)
inlinestatic
static double TelescopeSimulatorLX::ThinFilm::GetReflectance2 ( const Etas etas,
const dcomplex phase 
)
inlinestaticprivate

Definition at line 186 of file ThinFilm.h.

References GetNormalizedFields(), and GetReflectance3().

static double TelescopeSimulatorLX::ThinFilm::GetReflectance3 ( const Etas etas,
const std::pair< dcomplex, dcomplex > &  bc 
)
inlinestaticprivate
static std::pair<double, double> TelescopeSimulatorLX::ThinFilm::GetReflectanceAbsorptance ( const double  nIndex1,
const dcomplex nIndex2,
const double  nIndex3,
const double  sinTheta1,
const double  thickness,
const double  wavelength 
)
inlinestatic
template<typename T >
static T TelescopeSimulatorLX::ThinFilm::GetSnellNCosTheta ( const T &  nIndex,
const double  n1sinTheta1 
)
inlinestaticprivate

Definition at line 124 of file ThinFilm.h.

References sqrt().

Referenced by GetEtaS(), and GetPhase().

static double TelescopeSimulatorLX::ThinFilm::GetTransmittance ( const double  nIndex1,
const dcomplex nIndex2,
const double  nIndex3,
const double  sinTheta1,
const double  thickness,
const double  wavelength 
)
inlinestatic

Definition at line 55 of file ThinFilm.h.

static double TelescopeSimulatorLX::ThinFilm::GetTransmittance2 ( const Etas etas,
const dcomplex phase 
)
inlinestaticprivate
template<double Xtance>
static double TelescopeSimulatorLX::ThinFilm::GetXtance ( const double  nIndex1,
const dcomplex nIndex2,
const double  nIndex3,
const double  sinTheta1,
const double  thickness,
const double  wavelength 
)
inlinestaticprivate

Definition at line 108 of file ThinFilm.h.

References GetAllEtasP(), GetAllEtasS(), and GetPhase().


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

, generated on Tue Sep 26 2023.