class dielectric_constant


The class that handles the storage of dielectric constants, epsilon1+iepsilon2, and their conversions to optical constants (n and k). Functions that require this information can be prototyped with either optical_constant or dielectric_constant arguments, and the compiler will perform the conversion when necessary. Use of the classes optical_constant and dielectric_constant avoids one accidentally confusing the two when passing values to functions. To store information about the wavelength dependence of the optical constants, use the class dielectric_function.

Include file:

#include "optconst.h"

Source code:

optconst.h

See also:

SCATMECH Home,   Conventions,   optical_constant,   dielectric_function

M. Born and E. Wolf, Principles of Optics, (Pergamon, Oxford, 1980).

Definition of public elements:

class dielectric_constant {
        double e1;
        double e2;
        dielectric_constant();
        dielectric_constant( complex<double> x);
        dielectric_constant( double x, double y=0.);
        dielectric_constant( const optical_constant& n);
        operator complex<double>() const;
        friend istream& operator>>(istream& is,dielectric_constant& e);
        friend ostream& operator<<(ostream& os,const dielectric_constant& ee);
};

double e1
double e2

The real and imaginary part of the dielectric constant.

Top of Page

dielectric_constant()

Default constructor that initializes the dielectric constant to that appropriate for vacuum.

Top of Page

dielectric_constant( complex<double> x)

Constructor that initializes the dielectric constant to the value x.

Example:

complex<double> eps;
dielectric_constant dc(eps);

Top of Page

dielectric_constant( double x, double y=0.0)

Constructor that initializes the dielectric constant to complex<double>(x,y).

Example:

dielectric_constant eps(2.25);

Top of Page

dielectric_constant( const optical_constant& n)

Constructor that performs conversion from an optical_constant to dielectric_constant.

Example:

optical_constant n(1.5);
dielectric_constant e(n);

Top of Page

operator complex<double>() const

Conversion from dielectric_constant to a complex<double>. This conversion should be made whenever actual calculations are made with the dielectric_constant.

Example:

dielectric_constant e;
double theta;
complex<double> q=sqrt(sqr((complex<double>)e)-sqr(sin(theta)));

Top of Page

friend istream& operator>>(istream& is,dielectric_constant& e)

Input of a dielectric_constant from an istream.

Example:

dielectric constant e;
cout << "Enter dielectric constant:";
cin >> e;

Top of Page

friend ostream& operator<<(ostream& os,const dielectric_constant& ee)

Output of a dielectric_constant to an ostream.

Example:

dielectric_constant e;
cout << "Dielectric constant = " << e << endl;

Top of Page


For More Information

SCATMECH Technical Information and Questions
Optical Technology Division (OTD) Home Page
OTD Technical Inquiries
OTD Website Comments

Current SCATMECH version: 6.00 (February 2008)
This page first online: Version 1.00 (March 2000)
This page last modified: Version 6.00 (February 2008)