changing window_kernel
authorAnatoly <Titov_AI@pnpi.nrcki.ru>
Thu, 29 Mar 2018 10:45:52 +0000 (13:45 +0300)
committerAnatoly <Titov_AI@pnpi.nrcki.ru>
Thu, 29 Mar 2018 10:45:52 +0000 (13:45 +0300)
src/spirals.cpp

index 1fd5846a060458709ef0822fab44d63f957ccb88..082cf29eda3c13089f9dea22b9c212475a3843d6 100644 (file)
@@ -390,15 +390,6 @@ Spirals::analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc,
         }
     }
 
-    std::vector< std::vector< RVec > > window_temp;
-    window_temp.resize(window_temp2);
-    for (int i = 0; i < window_temp.size(); i++) {
-        window_temp[i].resize(window);
-        for (int j = 0; j < window; j++) {
-            window_temp[i].push_back(temp[i + j]);
-        }
-    }
-
     monomers.resize(monomers.size() + 1);
     for (int i = 0; i < sel.size(); i++) {
         monomers.back().push_back(temp[i]);
@@ -410,15 +401,25 @@ Spirals::analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc,
     circles.resize(circles.size() + 1);
     make_circles(circles, temp, kernel);
 
-    std::cout << "global parameters\n";
+    std::cout << "global parameters - end\n";
 
-    for (int i = 0; i < window_temp2; i++) {
+    std::vector< std::vector< RVec > > window_temp;
+    window_temp.resize(window_temp2);
+    for (int i = 0; i < window_temp.size(); i++) {
         window_kernel[i].resize(window_kernel[i].size() + 1);
-        //make_kernel(window_temp[i], epsi, window_kernel[i]);
-        //std::cout << "local kernel parameters " << i << "\n";
+        window_kernel[i].back().p = kernel.back().p;
+        window_kernel[i].back().x = kernel.back().x;
+        window_temp[i].resize(window);
+        for (int j = 0; j < window; j++) {
+            window_temp[i].push_back(temp[i + j]);
+            window_kernel[i].back().krnl.push_back(kernel.back().krnl[i + j]);
+        }
+    }
+
+    for (int i = 0; i < window_temp2; i++) {
         window_circles[i].resize(window_circles[i].size() + 1);
-        make_circles(window_circles[i], window_temp[i], kernel);//window_kernel[i]);
-        std::cout << "local circles parameters " << i << "\n";
+        make_circles(window_circles[i], window_temp[i], window_kernel[i]);
+        std::cout << "local circles parameters " << i << " - end\n";
     }
 
     /*groups.resize(groups.size() + 1);
@@ -502,15 +503,15 @@ Spirals::finishAnalysis(int /*nframes*/)
             std::fprintf(file, "Frame # %6.2d | window # %3.2d\n", m, i);
             std::fprintf(file, "Spiral steps:\n");
             for (int j = 0; j < window_circles[i][m].size(); j++) {
-                std::fprintf(file, "%3.2f ", std::sqrt(distance2(kernel[m].krnl[window_circles[i][m][j].front() - 1], kernel[m].krnl[window_circles[i][m][j].back() - 1])));
+                std::fprintf(file, "%3.2f ", std::sqrt(distance2(window_kernel[i][m].krnl[window_circles[i][m][j].front() - 1], window_kernel[i][m].krnl[window_circles[i][m][j].back() - 1])));
             }
             std::fprintf(file, "\n");
             std::fprintf(file, "Spiral radii\n");
             for (int j = 0; j < window_circles[i][m].size(); j++) {
                 float temp = 0;
                 for (int k = 0; k < window_circles[i][m][j].size(); k++) {
-                    temp += std::sqrt(distance2(kernel[m].krnl[window_circles[i][m][j][k] - 1 + i], monomers[i][window_circles[i][m][j][k] - 1 + i]));
-                    std::fprintf(file, "%3.2f ", std::sqrt(distance2(kernel[m].krnl[window_circles[i][m][j][k] - 1 + i], monomers[i][window_circles[i][m][j][k] - 1 + i])));
+                    temp += std::sqrt(distance2(window_kernel[i][m].krnl[window_circles[i][m][j][k] - 1 + i], monomers[i][window_circles[i][m][j][k] - 1 + i]));
+                    std::fprintf(file, "%3.2f ", std::sqrt(distance2(window_kernel[i][m].krnl[window_circles[i][m][j][k] - 1 + i], monomers[i][window_circles[i][m][j][k] - 1 + i])));
                 }
                 std::fprintf(file, "average: %3.2f\n", temp / window_circles[i][m][j].size());
             }