@@ -48,8 +48,7 @@ void calculate::DoSimulation(QLabel *progress, parameters *para)
4848 {
4949 wavel = para->wavelArray [w]/1000 ; // in microns
5050 progress->setText (" <font color=\" red\" >WL: <font>" +QString::number (1000 *wavel)+" nm</font>" );
51- util.Delay ();
52- k = 2 * M_PI * para->medRef /wavel;
51+ util.Delay ();
5352 sumMus = 0.0 ;
5453 sumMusG = 0.0 ;
5554 sumForward = 0.0 ;
@@ -67,11 +66,12 @@ void calculate::DoSimulation(QLabel *progress, parameters *para)
6766 }
6867 for (unsigned int r = 0 ; r < para->nRadius ; r++)
6968 {
69+ k = 2 * M_PI * para->medRefArray [r] /wavel;
7070 xPara = k * para->radArray [r];
7171 piRadiusSquared = M_PI * para->radArray [r] * para->radArray [r];
7272
73- refRelRe = para->scatRefRealArray [r] / para->medRef ;
74- refRelIm = para->scatRefImagArray [r] / para->medRef ;
73+ refRelRe = para->scatRefRealArray [r] / para->medRefArray [r] ;
74+ refRelIm = para->scatRefImagArray [r] / para->medRefArray [r] ;
7575
7676 if (refRelIm == 0.0 ) // FarFieldSolutionForRealRefIndex is ~2x faster than FarFieldSolutionForComplexRefIndex
7777 {
@@ -174,18 +174,20 @@ void calculate::ComputeMuspAtRefWavel(parameters *para)
174174 for (unsigned int i = 0 ; i< 6 ; i++)
175175 {
176176 double lambda = 0.5 + 0.1 *i; // in um
177- // Calculate mus and g at reference wavelength for musp fitting plot
178- k = 2 * M_PI * para->medRef /lambda; // k at reference wavelength
177+
179178
180179 sumMus = 0.0 ;
181180 sumMusG = 0.0 ;
182181 for (unsigned int r = 0 ; r < para->nRadius ; r++)
183182 {
183+ // Calculate mus and g at reference wavelength for musp fitting plot
184+ k = 2 * M_PI * para->medRefArray [r] /lambda; // k at reference wavelength
185+
184186 xPara = k * para->radArray [r];
185187 piRadiusSquared = M_PI * para->radArray [r] * para->radArray [r];
186188
187- refRelRe = para->scatRefRealArray [r] / para->medRef ;
188- refRelIm = para->scatRefImagArray [r] / para->medRef ;
189+ refRelRe = para->scatRefRealArray [r] / para->medRefArray [r] ;
190+ refRelIm = para->scatRefImagArray [r] / para->medRefArray [r] ;
189191
190192 if (refRelIm == 0.0 ) // FarFieldSolutionForRealRefIndex is ~2x faster than FarFieldSolutionForComplexRefIndex
191193 {
@@ -364,6 +366,7 @@ void calculate::SetSphereRadiusAndRefIndex(parameters *para, unsigned int index,
364366 para->numDensityArray [0 ] = para->sphNumDensity ;
365367 para->scatRefRealArray [0 ] = para->scatRefReal ;
366368 para->scatRefImagArray [0 ] = para->scatRefImag ;
369+ para->medRefArray [0 ] = para->medRef ;
367370 }
368371 else // Poly Disperse
369372 {
@@ -410,6 +413,7 @@ void calculate::SetSphereRadiusAndRefIndex(parameters *para, unsigned int index,
410413 para->numDensityArray [i] = std::round (funcArray[i]*factor);
411414 para->scatRefRealArray [i] = para->scatRefReal ;
412415 para->scatRefImagArray [i] = para->scatRefImag ;
416+ para->medRefArray [i] = para->medRef ;
413417 }
414418 delete [] funcArray;
415419 }
0 commit comments