Most important functions | |
GratingLayer1D::GratingLayer (int, int) | |
constructor initialises essential local variables | |
GratingLayer1D::~GratingLayer () | |
destructor deletes all allocated memory | |
void | GratingLayer1D::setParameters (double, double, complex< double >, double, double, Vector< double >, Vector< complex< double > >, string) |
set various parameters needed for the calculations | |
void | GratingLayer1D::solve (string) |
solve layer with S- or T-Matrix approach | |
void | GratingLayer1D::writeIndex (int, string) |
write the refractive index to a file (calculated from the Fourier coefficients) |
GratingLayer1D::GratingLayer | ( | int | truncate, | |
int | segments | |||
) | [inherited] |
constructor initialises essential local variables
truncate | the number of spatial Fourier coefficients to calculate the permitivity and the field | |
segments | the number of pixels per layer |
Definition at line 20 of file GratingLayer1D.cpp.
References GratingLayer1D::alpha, GratingLayer1D::B, GratingLayer1D::eigMat, GratingLayer1D::eigVal, GratingLayer1D::eigVecE, GratingLayer1D::eigVecH, GratingLayer1D::epsMat, GratingLayer1D::epsMat_inv, GratingLayer1D::gamma, GratingLayer1D::I, GratingLayer1D::invEigVecE, GratingLayer1D::invEigVecH, GratingLayer1D::invEpsMat, GratingLayer1D::invEpsMat_inv, GratingLayer1D::maxOrd, GratingLayer1D::maxPermCoeff, GratingLayer1D::minOrd, GratingLayer1D::minPermCoeff, GratingLayer1D::nOrds, GratingLayer1D::nPermCoeffs, GratingLayer1D::nPermSegs, GratingLayer1D::permCoeff, GratingLayer1D::permCoeffInv, GratingLayer1D::polMode, GratingLayer1D::refInd, and GratingLayer1D::transPt.
void GratingLayer1D::setParameters | ( | double | wavelength, | |
double | angle, | |||
complex< double > | ind0, | |||
double | period, | |||
double | height, | |||
Vector< double > | points, | |||
Vector< complex< double > > | indices, | |||
string | pol | |||
) | [inherited] |
set various parameters needed for the calculations
Set the necessary parameters in bulk (no other parameters need to be set before solving the layer)
wavelength | the incident wavelength [LU] | |
angle | the angle of incidence [degree] | |
ind0 | the refractive index of region 1 (incident side) | |
period | the size of the grating [LU] | |
height | the thickness of the layer [LU] | |
points | the transition points [frac] | |
indices | the refractive indices of the pixels | |
pol | the polarisation mode (TE or TM) |
Definition at line 127 of file GratingLayer1D.cpp.
References GratingLayer1D::setAngle(), GratingLayer1D::setLambda(), GratingLayer1D::setN0(), GratingLayer1D::setPeriod(), GratingLayer1D::setPolMode(), GratingLayer1D::setRefInd(), GratingLayer1D::setThickness(), and GratingLayer1D::setTransPt().
void GratingLayer1D::solve | ( | string | method = "T" |
) | [inherited] |
solve layer with S- or T-Matrix approach
Calls the necessary functions to solve the layer after setting all parameters:
additional, if the system is solved with the S-Matrix approach:
method | solving method ("S" or "T") |
Definition at line 148 of file GratingLayer1D.cpp.
References GratingLayer1D::calcSMatrix(), GratingLayer1D::CalculatePermitivity(), GratingLayer1D::createEigMat(), and GratingLayer1D::solveEigMat().
void GratingLayer1D::writeIndex | ( | int | orders = -1 , |
|
string | filename = "index.dat" | |||
) | [inherited] |
write the refractive index to a file (calculated from the Fourier coefficients)
Definition at line 300 of file GratingLayer1D.cpp.
References GratingLayer1D::getPermCoeff(), GratingLayer1D::I, and GratingLayer1D::nOrds.
GratingLayer1D::~GratingLayer | ( | ) | [inherited] |