bool is_RECORD_CORRECT (const vector<string>& SETrecord, const vector<vector<vector<string> > >& DEF, size_t j, size_t k) { string actual_key = SETrecord.at(0); string list_key = DEF.at(j).at(0).at(0); if (actual_key != list_key) return false; string actual_value = capslock (SETrecord.at(1)); string list_value = capslock (DEF.at(j).at(k).at(0)); if (actual_key == "LINEWIDTH:" || actual_key == "STRESSANGLE:" || actual_key == "WELLINTERVAL_LENGTH:") { bool conv_has_failed = true; double min_value = string_to_double (DEF.at(j).at(k).at(1), conv_has_failed); double max_value = string_to_double (DEF.at(j).at(k).at(2), conv_has_failed); string_to_int (actual_value, conv_has_failed); if (actual_key == "LINEWIDTH:" && conv_has_failed) return false; if (actual_key == "STRESSANGLE:" && conv_has_failed) return false; if (actual_key == "WELLINTERVAL_LENGTH:" && conv_has_failed) return false; double value = string_to_double (actual_value, conv_has_failed); if (is_in_range(min_value, max_value, value) && !conv_has_failed) return true; else return false; } else if (actual_key == "CLUSTERNUMBER:") { if (actual_value == "A" || actual_value == "N") { if (actual_value == list_value) return true; else return false; } else { bool conv_has_failed = true; double min_value = string_to_double (DEF.at(j).at(k).at(1), conv_has_failed); double max_value = string_to_double (DEF.at(j).at(k).at(2), conv_has_failed); double value = string_to_double (actual_value, conv_has_failed); if (is_in_range(min_value, max_value, value) && !conv_has_failed) return true; else return false; } } else { if (actual_value == list_value) return true; else return false; } }
void CHECK_SETTINGS (const string projectname) { ASSERT_EXACTLY_ONE_TRUE (is_mode_STD(), is_mode_DEBUG()); const string SFN = capslock (projectname + ".set"); const string sfn = projectname + ".set"; writeln (""); writeln ("============================"); writeln ("1) CHECKING OF SETTINGS FILE"); writeln ("============================"); writeln (""); writeln (" - CHECKING " + SFN + " SETTINGS FILE"); const bool CORR_SET = is_SETTINGS_FILE_CORRECT (sfn); if (CORR_SET) { writeln (" - " + SFN + " SETTINGS FILE IS CORRECT."); vector <vector <string> > SET = READ_SETTINGS_FILE (sfn); SET = COMPLETE_SET_WITH_DEFAULT (SET); INIT_SETTINGS (SET); } else { writeln (""); writeln (" WARNING, SET_ERROR: the input " + SFN + " file structure is incorrect, the file will not be processed."); throw set_error(); } }
string generate_ACTUAL_AVERAGE_RGF_NAME () { string FN = AVERAGE_FOLDER + BS + capslock (PROJECTNAME); if (is_PROCESS_AS_TILTED()) FN = FN + "_TILTED"; if (is_PROCESS_AS_TRAJECTORY()) FN = FN + "_TRAJECTORY_CORRECTED"; return FN + "_AVERAGE.rgf"; }
void generate_PROJECT_FOLDER () { const string DT = return_DATE_TIME(); const string PN = capslock (PROJECTNAME); string PF = ""; if (!is_mode_DEBUG()) PF = DT + US + PN; else PF = PN; PROJECT_FOLDER = PF; return; }