From 98f3f15467a029214cf6f38cccfee00d53956cba Mon Sep 17 00:00:00 2001 From: Robert Butora <robert.butora@inaf.it> Date: Thu, 10 Oct 2024 16:11:15 +0300 Subject: [PATCH] vlkb-obscore: fixes bug where (rest)frequency was taken from transition- instead of (rest)frequency-field of matadata --- .../src/vlkb-obscore/src/database/SqlSchema_INSERT.cpp | 4 +++- .../engine/src/vlkb-obscore/src/parse_surveys_csv.cpp | 5 +++-- .../engine/src/vlkb-obscore/src/parse_surveys_csv.hpp | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_INSERT.cpp b/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_INSERT.cpp index c9d2f68..29cd65d 100644 --- a/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_INSERT.cpp +++ b/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_INSERT.cpp @@ -308,7 +308,9 @@ void SqlSchema_INSERT::appendRow( // surv.survTransition "num unit" <-- for images try { - double val{parse_transition(surv.survTransition)}; + //double val{parse_transition(surv.survTransition)}; + const double SPEED_OF_LIGHT{299792458};// [m/s] + double val{SPEED_OF_LIGHT / surv.restFrequency}; obscoreRow[em_min] = to_string(val); //get_wavelen(EM_PRECISION, hdu.key_values); } catch(const std::exception& ex) diff --git a/data-access/engine/src/vlkb-obscore/src/parse_surveys_csv.cpp b/data-access/engine/src/vlkb-obscore/src/parse_surveys_csv.cpp index 0b37251..76d82ce 100644 --- a/data-access/engine/src/vlkb-obscore/src/parse_surveys_csv.cpp +++ b/data-access/engine/src/vlkb-obscore/src/parse_surveys_csv.cpp @@ -201,7 +201,7 @@ vector<survey> parse_surveys(string filename, bool skip_first_row) case 2: surv.species = field; break; case 3: surv.transition = field; break; // vlkb-internal extra-data - case 4: surv.rest_frequency_Hz = stoul(field); break; + case 4: surv.rest_frequency_Hz = stoull(field); break; case 5: break; // NOT USED surv.restf_fits_unit = to_stringN(field, 20); break; case 6: surv.velocity_fits_unit = to_velocity_unit(field); break; // vlkb-internal did-resolution @@ -218,7 +218,8 @@ vector<survey> parse_surveys(string filename, bool skip_first_row) // security case 15: surv.auth_policy = to_authorization_policy(field); break; default: - my_assert(false, __FILE__,__LINE__, "too many fileds in a row of surveys metadata file: " + filename); + my_assert(false, __FILE__,__LINE__, + "too many fileds in a row of surveys metadata file: " + filename); } } surveys.push_back(surv); diff --git a/data-access/engine/src/vlkb-obscore/src/parse_surveys_csv.hpp b/data-access/engine/src/vlkb-obscore/src/parse_surveys_csv.hpp index c03fec6..82f8ef7 100644 --- a/data-access/engine/src/vlkb-obscore/src/parse_surveys_csv.hpp +++ b/data-access/engine/src/vlkb-obscore/src/parse_surveys_csv.hpp @@ -28,7 +28,7 @@ struct survey std::string name; std::string species; std::string transition; - unsigned long rest_frequency_Hz; + unsigned long long rest_frequency_Hz; // std::string restf_fits_unit; // NOT used velocity_unit velocity_fits_unit; std::string storage_path; -- GitLab