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, as can happen if they are left as complex numbers. 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
Sensor Science Division Home Page
Sensor Science Division Inquiries
Website Comments

Current SCATMECH version: 7.22 (April 2021)