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()
         | 
||||||||||||||||