Electromagnetic Template Library (EMTL)
Loading...
Searching...
No Matches
LayeredSphereScat Class Reference

Class for calculate scattering matrix of plane wave on multilayered particle using T-matrix method. More...

#include <lspherescat.h>

Public Member Functions

int set (const valtype wl, const std::vector< std::complex< valtype > > &eps, const std::vector< std::complex< valtype > > &mu, const std::vector< valtype > &r, const int Nhrm=20)
 Set params before calculating.
 
void calcTMatrix ()
 Calculate expansion coefficients \(a_n\) and \(b_n\) T-matrix method through all shells.
 
void calcScat (valtype costheta)
 Calculate Scaterring matrix coefficients S1 and S2.
 

Public Attributes

valtype wavelength
 Wavelength.
 
std::vector< std::complex< valtype > > epsilon
 array of \(\varepsilon_i\) and \(\mu_i\) for each region (first is space, last is inner).
 
std::vector< valtype > radius
 particle sizes.
 
std::vector< std::complex< valtype > > a
 expansion coefficients \(a_n\) and \(b_n\) arrays to be calculated.
 
std::complex< valtype > S1
 S1 and S2 scattaring matrix coefficients to be calculated.
 

Detailed Description

Class for calculate scattering matrix of plane wave on multilayered particle using T-matrix method.

Member Function Documentation

◆ calcScat()

void LayeredSphereScat::calcScat ( valtype  costheta)

Calculate Scaterring matrix coefficients S1 and S2.

Parameters
[in]costheta\(cos(\theta)\) value.

◆ set()

int LayeredSphereScat::set ( const valtype  wl,
const std::vector< std::complex< valtype > > &  eps,
const std::vector< std::complex< valtype > > &  mu,
const std::vector< valtype > &  r,
const int  Nhrm = 20 
)

Set params before calculating.

Parameters
[in]wlwavelength
[in]epsarray of particles' \(\varepsilon\) (last is inner, first is space)
[in]muarray of particles' \(\mu\) (last is inner, first is space)
[in]rarray of particles' radii (first is the largest)
[in]NhrmNumber of harmonics, 20 if default (very large number results unstable)
Returns
-1 when sizes of eps,mu,r+1 are differ
1 success

Member Data Documentation

◆ a

std::vector<std::complex<valtype> > LayeredSphereScat::a

expansion coefficients \(a_n\) and \(b_n\) arrays to be calculated.

Vector size is LayeredSphereScat::Nharm-1

◆ epsilon

std::vector<std::complex<valtype> > LayeredSphereScat::epsilon

array of \(\varepsilon_i\) and \(\mu_i\) for each region (first is space, last is inner).

Vector size is LayeredSphereScat::Nlayers

◆ radius

std::vector<valtype> LayeredSphereScat::radius

particle sizes.

Vector size is LayeredSphereScat::Nlayers-1


The documentation for this class was generated from the following file: