#pragma once #include #include #include #include #include #include "GraphView.h" struct GraphDataPoint; struct SolutionPointData { int iteration; double objectiveFunction; int particleNumber; std::vector bitVec; }; class RunData { public: std::string name; std::string information; std::vector solutionVec; RunData(); RunData(std::string filePath); std::vector bestSolutionPerIteration; std::vector averageSolutionPerItertion; std::vector minSolutionPerItertion; std::vector maxSolutionPerItertion; std::vector dotsForDistribution; std::vector testForBitField; std::map> particleMap; private: bool badFileFlag = false; std::fstream fileStream; int actualLine = 0; void getLine(std::string& bufferString); void calculateBestAndAverageIter(); void calculateParticleSolution(); void calculateDotsForDistribution(); void generateRandomBitFieldData(); };