|  | @@ -47,6 +47,24 @@ cdef extern from "py_nmie.h":
 | 
	
		
			
				|  |  |      cdef int nField(int L, int pl, vector[double] x, vector[complex] m, int nmax, int nCoords, vector[double] Xp, vector[double] Yp, vector[double] Zp, double Erx[], double Ery[], double Erz[], double Eix[], double Eiy[], double Eiz[], double Hrx[], double Hry[], double Hrz[], double Hix[], double Hiy[], double Hiz[])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  def scattcoeffs(np.ndarray[np.float64_t, ndim = 2] x, np.ndarray[np.complex128_t, ndim = 2] m, np.int_t nmax, np.int_t pl = -1):
 | 
	
		
			
				|  |  | +    """
 | 
	
		
			
				|  |  | +    scattcoeffs(x, m, nmax, pl)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    Calculate the scattering coefficients required to calculate both the
 | 
	
		
			
				|  |  | +    near- and far-field parameters.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        x: size parameters (2D ndarray)
 | 
	
		
			
				|  |  | +        m: relative refractive indices (2D ndarray)
 | 
	
		
			
				|  |  | +        nmax: Maximum number of multipolar expansion terms to be used for the
 | 
	
		
			
				|  |  | +              calculations. Only use it if you know what you are doing, otherwise
 | 
	
		
			
				|  |  | +              set this parameter to -1 and the function will calculate it.
 | 
	
		
			
				|  |  | +        pl: Index of PEC layer. If there is none just send -1
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    Returns: (terms, an, bn)
 | 
	
		
			
				|  |  | +    with
 | 
	
		
			
				|  |  | +        terms: Number of multipolar expansion terms used for the calculations
 | 
	
		
			
				|  |  | +        an, bn: complex scattering amplitudes
 | 
	
		
			
				|  |  | +    """
 | 
	
		
			
				|  |  |      cdef Py_ssize_t i
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      cdef np.ndarray[np.int_t, ndim = 1] terms = np.zeros(x.shape[0], dtype = np.int)
 | 
	
	
		
			
				|  | @@ -73,6 +91,31 @@ def scattcoeffs(np.ndarray[np.float64_t, ndim = 2] x, np.ndarray[np.complex128_t
 | 
	
		
			
				|  |  |      return terms, an, bn
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  def scattnlay(np.ndarray[np.float64_t, ndim = 2] x, np.ndarray[np.complex128_t, ndim = 2] m, np.ndarray[np.float64_t, ndim = 1] theta = np.zeros(0, dtype = np.float64), np.int_t nmax = -1, np.int_t pl = -1):
 | 
	
		
			
				|  |  | +    """
 | 
	
		
			
				|  |  | +    scattnlay(x, m, [theta, nmax, pl])
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    Calculate the actual scattering parameters and amplitudes.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        x: size parameters (2D ndarray)
 | 
	
		
			
				|  |  | +        m: relative refractive indices (2D ndarray)
 | 
	
		
			
				|  |  | +        theta: scattering angles where the scattering amplitudes will be
 | 
	
		
			
				|  |  | +               calculated (optional, 1D ndarray)
 | 
	
		
			
				|  |  | +        nmax: Maximum number of multipolar expansion terms to be used for the
 | 
	
		
			
				|  |  | +              calculations. Only use it if you know what you are doing.
 | 
	
		
			
				|  |  | +        pl: Index of PEC layer.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    Returns: (terms, Qext, Qsca, Qabs, Qbk, Qpr, g, Albedo, S1, S2)
 | 
	
		
			
				|  |  | +    with
 | 
	
		
			
				|  |  | +        terms: Number of multipolar expansion terms used for the calculations
 | 
	
		
			
				|  |  | +        Qext: Efficiency factor for extinction
 | 
	
		
			
				|  |  | +        Qsca: Efficiency factor for scattering
 | 
	
		
			
				|  |  | +        Qabs: Efficiency factor for absorption (Qabs = Qext - Qsca)
 | 
	
		
			
				|  |  | +        Qbk: Efficiency factor for backscattering
 | 
	
		
			
				|  |  | +        Qpr: Efficiency factor for the radiation pressure
 | 
	
		
			
				|  |  | +        g: Asymmetry factor (g = (Qext-Qpr)/Qsca)
 | 
	
		
			
				|  |  | +        Albedo: Single scattering albedo (Albedo = Qsca/Qext)
 | 
	
		
			
				|  |  | +        S1, S2: Complex scattering amplitudes
 | 
	
		
			
				|  |  | +    """
 | 
	
		
			
				|  |  |      cdef Py_ssize_t i
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      cdef np.ndarray[np.int_t, ndim = 1] terms = np.zeros(x.shape[0], dtype = np.int)
 |