Skip to content
Snippets Groups Projects
Commit dbf4f289 authored by Andre Offringa's avatar Andre Offringa
Browse files

Add storage manager type to start supporting Stokes I StMan in WSClean

parent b442d9a1
No related branches found
No related tags found
1 merge request!164Add storage manager type to start supporting Stokes I StMan in WSClean
---
Checks: 'clang-diagnostic-*,clang-analyzer-*,-*,modernize-use-equals-default,modernize-use-emplace,modernize-loop-convert,modernize-use-nullptr,modernize-use-override,modernize-use-using,modernize-return-braced-init-list,modernize-deprecated-headers,modernize-make-shared,google-explicit-constructor,google-build-using-namespace,google-readability-braces-around-statements,fuchsia-header-anon-namespaces'
Checks: 'clang-diagnostic-*,clang-analyzer-*,-*,modernize-use-equals-default,modernize-use-emplace,modernize-loop-convert,modernize-use-nullptr,modernize-use-override,modernize-use-using,modernize-return-braced-init-list,modernize-deprecated-headers,modernize-make-shared,google-explicit-constructor,google-build-using-namespace,fuchsia-header-anon-namespaces'
WarningsAsErrors: ''
HeaderFilterRegex: 'include/schaapcommon'
AnalyzeTemporaryDtors: false
......@@ -64,8 +64,6 @@ CheckOptions:
value: 'true'
- key: fuchsia-header-anon-namespaces.HeaderFileExtensions
value: ';h;hh;hpp;hxx'
- key: google-readability-braces-around-statements.ShortStatementLines
value: '1'
- key: modernize-use-emplace.IgnoreImplicitConstructors
value: 'false'
- key: modernize-use-nullptr.NullMacros
......
......@@ -5,6 +5,7 @@
#define SCHAAPCOMMON_REORDERING_HANDLE_H_
#include "msselection.h"
#include "storagemanagertype.h"
#include <vector>
#include <string>
......@@ -34,6 +35,7 @@ struct ReorderedHandleData {
ReorderedHandleData(
const std::string& ms_path, const std::string& data_column_name,
const std::string& model_column_name,
StorageManagerType model_storage_manager,
const std::string& temporary_directory,
const std::vector<ChannelRange>& channels, bool initial_model_required,
bool model_update_required,
......@@ -44,6 +46,7 @@ struct ReorderedHandleData {
: ms_path_(ms_path),
data_column_name_(data_column_name),
model_column_name_(model_column_name),
model_storage_manager_(model_storage_manager),
temporary_directory_(temporary_directory),
channels_(channels),
initial_model_required_(initial_model_required),
......@@ -60,6 +63,7 @@ struct ReorderedHandleData {
std::string ms_path_;
std::string data_column_name_;
std::string model_column_name_;
StorageManagerType model_storage_manager_;
std::string temporary_directory_;
std::vector<ChannelRange> channels_;
bool initial_model_required_;
......
#ifndef WSCLEAN_MAIN_STORAGE_MANAGER_TYPE_H_
#define WSCLEAN_MAIN_STORAGE_MANAGER_TYPE_H_
#include <stdexcept>
#include <string>
#include <boost/algorithm/string.hpp>
namespace schaapcommon::reordering {
enum class StorageManagerType { Default, StokesI };
inline StorageManagerType GetStorageManagerType(
const std::string& type_string) {
const std::string lowercase_type = boost::to_lower_copy(type_string);
if (lowercase_type == "default")
return StorageManagerType::Default;
else if (lowercase_type == "stokes_i" || lowercase_type == "stokes-i")
return StorageManagerType::StokesI;
else
throw std::runtime_error("Unknown storage manager type: " + type_string);
}
} // namespace schaapcommon::reordering
#endif
......@@ -23,6 +23,7 @@ using schaapcommon::reordering::MetaRecord;
using schaapcommon::reordering::PartHeader;
using schaapcommon::reordering::ReorderedFileWriter;
using schaapcommon::reordering::ReorderedHandleData;
using schaapcommon::reordering::StorageManagerType;
class FixtureDirectory {
public:
......@@ -70,6 +71,7 @@ const std::string kTemporaryDirectory = "tmp";
const double kStartTime = 1.0;
const ReorderedHandleData kData("test.ms", "DATA", "MODEL_DATA",
StorageManagerType::Default,
kTemporaryDirectory, kChannelRanges, true,
false, kPolsOut, kSelection, kBands, 6, true,
[](ReorderedHandleData) {});
......@@ -198,9 +200,9 @@ BOOST_FIXTURE_TEST_CASE(reordering_writer_assert_zeros_model_creation,
{
boost::filesystem::create_directory(kTemporaryDirectory);
const ReorderedHandleData handle_no_model_column(
"test.ms", "DATA", "MODEL_DATA", kTemporaryDirectory, kChannelRanges,
false, false, kPolsOut, kSelection, kBands, 6, true,
[](ReorderedHandleData) {});
"test.ms", "DATA", "MODEL_DATA", StorageManagerType::Default,
kTemporaryDirectory, kChannelRanges, false, false, kPolsOut, kSelection,
kBands, 6, true, [](ReorderedHandleData) {});
ReorderedFileWriter reordering_writer(
handle_no_model_column, kMsPolarizationsPerDataDescId, kStartTime);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment