|
@@ -30,9 +30,12 @@
|
|
|
#include <string>
|
|
|
#include "../src/nmie-applied.hpp"
|
|
|
#include "../src/nmie-applied-impl.hpp"
|
|
|
+#include "../src/nmie-precision.hpp"
|
|
|
#include "./read-spectra.h"
|
|
|
-template<class T> inline T pow2(const T value) {return value*value;}
|
|
|
+
|
|
|
+// template<class T> inline T pow2(const T value) {return value*value;}
|
|
|
int main(int argc, char *argv[]) {
|
|
|
+ using namespace nmie ;
|
|
|
try {
|
|
|
read_spectra::ReadSpectra Si_index, Ag_index;
|
|
|
read_spectra::ReadSpectra plot_core_index_, plot_TiN_;
|
|
@@ -80,12 +83,12 @@ int main(int argc, char *argv[]) {
|
|
|
|
|
|
double Qabs = static_cast<double>(multi_layer_mie.GetQabs());
|
|
|
printf("Qabs = %g\n", Qabs);
|
|
|
- std::vector< std::vector<std::complex<nmie::FloatType> > > f_aln, bln, cln, dln;
|
|
|
- multi_layer_mie.GetExpanCoeffs(f_aln, bln, cln, dln);
|
|
|
- std::vector< std::vector<std::complex<double> > > aln =
|
|
|
- nmie::ConvertComplexVectorVector<double>(f_aln);
|
|
|
+ std::vector< std::vector<std::complex<nmie::FloatType> > > aln, bln, cln, dln;
|
|
|
+ multi_layer_mie.GetExpanCoeffs(aln, bln, cln, dln);
|
|
|
+ std::vector< std::vector<std::complex<double> > > d_aln =
|
|
|
+ nmie::ConvertComplexVectorVector<double>(aln);
|
|
|
std::string str = std::string("#WL ");
|
|
|
- for (int l = 0; l<aln.size(); ++l) {
|
|
|
+ for (int l = 0; l<d_aln.size(); ++l) {
|
|
|
for (int n = 0; n<3; ++n) {
|
|
|
str+="|a|^2+|d|^2_ln"+std::to_string(l)+std::to_string(n)+" "
|
|
|
+ "|b|^2+|c|^2_ln"+std::to_string(l)+std::to_string(n)+" ";
|
|
@@ -128,11 +131,11 @@ int main(int argc, char *argv[]) {
|
|
|
multi_layer_mie.GetExpanCoeffs(aln, bln, cln, dln);
|
|
|
for (int l = 0; l<aln.size(); ++l) {
|
|
|
for (int n = 0; n<3; ++n) {
|
|
|
- str+=" "+std::to_string(pow2(std::abs(aln[l][n]))+
|
|
|
- pow2(std::abs(dln[l][n])))
|
|
|
+ str+=" "+std::to_string(static_cast<double>(pow2(std::abs(aln[l][n]))+
|
|
|
+ pow2(std::abs(dln[l][n]))))
|
|
|
+ " "
|
|
|
- + std::to_string(pow2(std::abs(bln[l][n]))
|
|
|
- + pow2(std::abs(cln[l][n])) );
|
|
|
+ + std::to_string(static_cast<double>(pow2(std::abs(bln[l][n]))
|
|
|
+ + pow2(std::abs(cln[l][n])) ));
|
|
|
|
|
|
// str+=" "+std::to_string(aln[l][n].real() - pow2(std::abs(aln[l][n]))
|
|
|
// +dln[l][n].real() - pow2(std::abs(dln[l][n])))
|