class dielectric_stackA dielectric_stack stores information about a stack of films on a substrate. It provides member functions that return the reflection and transmission coefficients of the stack. Include file:#include "filmtran.h" Source code:filmtran.cpp See also:SCATMECH Home, Conventions, optical_constant, dielectric_constant, dielectric_function M. Born and E. Wolf, Principles of Optics,
(Pergamon, Oxford, 1980). Definition of public elements:
class dielectric_stack {
void read_stack_file(const string& filename);
static dielectric_stack AskUser(const string& prompt,const string& deflt="");
void print(ostream& os, double lambda) const;
dielectric_stack();
dielectric_stack(const dielectric_stack& ds);
dielectric_stack& operator=(const dielectric_stack& ds);
~dielectric_stack();
void wash();
void grow(const dielectric_function& epsilon, double thickness);
complex<double> rp12(complex<double> theta,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
complex<double> rs12(complex<double> theta,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
complex<double> tp12(complex<double> theta,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
complex<double> ts12(complex<double> theta,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
complex<double> rp21(complex<double> theta,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
complex<double> rs21(complex<double> theta,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
complex<double> tp21(complex<double> theta,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
complex<double> ts21(complex<double> theta,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
JonesMatrix r12(complex<double> theta,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
JonesMatrix t12(complex<double> theta,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
JonesMatrix r21(complex<double> theta,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
JonesMatrix t21(complex<double> theta,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
complex<double> rp12i(complex<double> angle,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
complex<double> rs12i(complex<double> angle,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
complex<double> tp12i(complex<double> angle,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
complex<double> ts12i(complex<double> angle,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
complex<double> rp21i(complex<double> angle,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
complex<double> rs21i(complex<double> angle,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
complex<double> tp21i(complex<double> angle,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
complex<double> ts21i(complex<double> angle,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
JonesMatrix r12i(complex<double> angle,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
JonesMatrix t12i(complex<double> angle,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
JonesMatrix r21i(complex<double> angle,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
JonesMatrix t21i(complex<double> angle,double lambda,
const dielectric_function& n0,
const dielectric_function& nt) const;
};
void read_stack_file(const string& filename)
static dielectric_stack AskUser(const string& prompt,const string& deflt)
void print(ostream& os, double lambda) const
dielectric_stack()
|
||||||||||||||||