#pragma once #include #include #include "DEC-0.0/population/Population.h" class Settings { public: static bool WRITE_FULL_STATISTICS_TO_FILE; static int Iterations; static long int InitPopSize; static float InitRatioBetweenPops; // Common breeding strategies parameters static double BirthRate; static double NaturalDeathRate; // Verhulst breeding strategy default parameters static long int KMaxParameter; // r*X*(1 - X/KMax) // Inbreeding/Outbreeding model parameters static int OffspringsMean; static float CoadaptiveThreshold; static float CoadaptiveMinimumP; static float CoadaptiveMaximumTrait; static float DiseaseThreshold; static std::string CoadaptiveGenesInteraction; static std::string DiseaseGenesInteraction; static std::string BreedingStrategy; static std::string GenToPhenStrategy; static std::string PhenToFitStrategy; static std::string RecombinationStrategy; static double ProbMtDNARecomb; static int PopulationHomoInitSize; static int PopulationAncientInitSize; static double migrationPartHomoToAncient; static double migrationPartAncientToHomo; static int generationsPerMigration; static int locusLength; static double percentDiffLoci; static int numLoci; static QVector generations; static QVector ancientCommonSize; static QVector homoCommonSize; static QVector ancientMaleSize; static QVector ancientFemaleSize; static QVector homoMaleSize; static QVector homoFemaleSize; static int globalGenerations; static int maxYval; static int minYval; static std::vector initMtDNA; static std::vector initMtDNA_ancient; static std::vector calcScript; static QVector > malesGene; static QVector > femalesGene; static QVector geneName; public: static void initScript(std::string fileName); static void initGUIvect(); static void fillVectors(BisexualPopulation* pop_Sapiens, BisexualPopulation* pop_Ancient); };