|
Electromagnetic Template Library (EMTL)
|
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. | |
Class for calculate scattering matrix of plane wave on multilayered particle using T-matrix method.
| void LayeredSphereScat::calcScat | ( | valtype | costheta | ) |
Calculate Scaterring matrix coefficients S1 and S2.
| [in] | costheta | \(cos(\theta)\) value. |
| 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.
| [in] | wl | wavelength |
| [in] | eps | array of particles' \(\varepsilon\) (last is inner, first is space) |
| [in] | mu | array of particles' \(\mu\) (last is inner, first is space) |
| [in] | r | array of particles' radii (first is the largest) |
| [in] | Nhrm | Number of harmonics, 20 if default (very large number results unstable) |
| std::vector<std::complex<valtype> > LayeredSphereScat::a |
expansion coefficients \(a_n\) and \(b_n\) arrays to be calculated.
Vector size is LayeredSphereScat::Nharm-1
| 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
| std::vector<valtype> LayeredSphereScat::radius |
particle sizes.
Vector size is LayeredSphereScat::Nlayers-1