|  | @@ -735,7 +735,7 @@ namespace nmie {
 | 
	
		
			
				|  |  |    // Output parameters:                                                               //
 | 
	
		
			
				|  |  |    //   Mo1n, Me1n, No1n, Ne1n: Complex vector spherical harmonics                     //
 | 
	
		
			
				|  |  |    //**********************************************************************************//
 | 
	
		
			
				|  |  | -  void MultiLayerMie::calcSpherHarm(const double Rho, const double Theta, const double Phi,
 | 
	
		
			
				|  |  | +  void MultiLayerMie::calcSpherHarm(const std::complex<double> Rho, const double Theta, const double Phi,
 | 
	
		
			
				|  |  |                                      const std::complex<double>& rn, const std::complex<double>& Dn,
 | 
	
		
			
				|  |  |                                      const double& Pi, const double& Tau, const double& n,
 | 
	
		
			
				|  |  |                                      std::vector<std::complex<double> >& Mo1n, std::vector<std::complex<double> >& Me1n, 
 | 
	
	
		
			
				|  | @@ -1421,9 +1421,9 @@ namespace nmie {
 | 
	
		
			
				|  |  |      //printf("rho = %g; phi = %gº; theta = %gº; m[%i] = %gr%+gi\n", Rho, Phi*180./PI_, Theta*180./PI_, l, std::real(ml), std::imag(ml));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // Calculate logarithmic derivative of the Ricatti-Bessel functions
 | 
	
		
			
				|  |  | -    calcD1D3(Rho, D1n, D3n);
 | 
	
		
			
				|  |  | +    calcD1D3(Rho*ml, D1n, D3n);
 | 
	
		
			
				|  |  |      // Calculate Ricatti-Bessel functions
 | 
	
		
			
				|  |  | -    calcPsiZeta(Rho, Psi, Zeta);
 | 
	
		
			
				|  |  | +    calcPsiZeta(Rho*ml, Psi, Zeta);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // Calculate angular functions Pi and Tau
 | 
	
		
			
				|  |  |      calcPiTau(std::cos(Theta), Pi, Tau);
 | 
	
	
		
			
				|  | @@ -1434,8 +1434,8 @@ namespace nmie {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        //printf("D1n[%i] = %gr%+gi; D3n[%i] = %gr%+gi; Psi[%i] = %gr%+gi; Zeta[%i] = %gr%+gi\n", n1, std::real(D1n[n1]), std::imag(D1n[n1]), n1, std::real(D3n[n1]), std::imag(D3n[n1]), n1, std::real(Psi[n]), std::imag(Psi[n]), n1, std::real(Zeta[n]), std::imag(Zeta[n]));
 | 
	
		
			
				|  |  |        // using BH 4.12 and 4.50
 | 
	
		
			
				|  |  | -      calcSpherHarm(Rho, Theta, Phi, Psi[n1], D1n[n1], Pi[n], Tau[n], rn, M1o1n, M1e1n, N1o1n, N1e1n);
 | 
	
		
			
				|  |  | -      calcSpherHarm(Rho, Theta, Phi, Zeta[n1], D3n[n1], Pi[n], Tau[n], rn, M3o1n, M3e1n, N3o1n, N3e1n);
 | 
	
		
			
				|  |  | +      calcSpherHarm(Rho*ml, Theta, Phi, Psi[n1], D1n[n1], Pi[n], Tau[n], rn, M1o1n, M1e1n, N1o1n, N1e1n);
 | 
	
		
			
				|  |  | +      calcSpherHarm(Rho*ml, Theta, Phi, Zeta[n1], D3n[n1], Pi[n], Tau[n], rn, M3o1n, M3e1n, N3o1n, N3e1n);
 | 
	
		
			
				|  |  |  //      auto deriv1 = -rn*jn[n1]+Rho*jn[n1-1];
 | 
	
		
			
				|  |  |  //      auto deriv2 = Rho*jnp[n1] + jn[n1];
 | 
	
		
			
				|  |  |  //      printf("n=%d   deriv1: %+11.4e   deriv2: %+11.4ei\n",n1, deriv1.real(), deriv2.real());
 |