diff --git a/qt/scientific_interfaces/Indirect/ConvFitModel.cpp b/qt/scientific_interfaces/Indirect/ConvFitModel.cpp index 5a4cf5973cfd9babae90849a93b4a1a446044c20..040fe7043d69736985eb7325cf7207c7038d2341 100644 --- a/qt/scientific_interfaces/Indirect/ConvFitModel.cpp +++ b/qt/scientific_interfaces/Indirect/ConvFitModel.cpp @@ -547,7 +547,7 @@ void ConvFitModel::setTemperature(const boost::optional<double> &temperature) { } void ConvFitModel::addWorkspace(MatrixWorkspace_sptr workspace, - const Spectra &spectra) { + const SpectraLegacy &spectra) { IndirectFittingModelLegacy::addWorkspace(workspace, spectra); const auto dataSize = numberOfWorkspaces(); diff --git a/qt/scientific_interfaces/Indirect/ConvFitModel.h b/qt/scientific_interfaces/Indirect/ConvFitModel.h index 7ab51e5752ed1a31fa6823e431a5f5c7f34972a4..9ff5004e94246a5f683d5a78ac0175100bf62890 100644 --- a/qt/scientific_interfaces/Indirect/ConvFitModel.h +++ b/qt/scientific_interfaces/Indirect/ConvFitModel.h @@ -31,7 +31,7 @@ public: void setTemperature(const boost::optional<double> &temperature); void addWorkspace(Mantid::API::MatrixWorkspace_sptr workspace, - const Spectra &spectra) override; + const SpectraLegacy &spectra) override; void removeWorkspace(std::size_t index) override; void setResolution(const std::string &name, std::size_t index); void setResolution(Mantid::API::MatrixWorkspace_sptr resolution, diff --git a/qt/scientific_interfaces/Indirect/FunctionTemplateBrowser.h b/qt/scientific_interfaces/Indirect/FunctionTemplateBrowser.h index 5dcdd771b60f7f99628bef45200043752a5b0d11..4d047c85866f9a612b429aabc37ae762244a7107 100644 --- a/qt/scientific_interfaces/Indirect/FunctionTemplateBrowser.h +++ b/qt/scientific_interfaces/Indirect/FunctionTemplateBrowser.h @@ -65,7 +65,7 @@ public: DataForParameterEstimationCollection &&data) = 0; virtual void setBackgroundA0(double value) = 0; virtual void setResolution(std::string const &name, - DatasetIndex const &index) = 0; + TableDatasetIndex const &index) = 0; signals: void functionStructureChanged(); diff --git a/qt/scientific_interfaces/Indirect/IIndirectFitPlotView.h b/qt/scientific_interfaces/Indirect/IIndirectFitPlotView.h index cc23aff0effa6e092adbebad1523fcd9303a8671..0528d23a2adedc73ed6c46aac62af320c630e5b6 100644 --- a/qt/scientific_interfaces/Indirect/IIndirectFitPlotView.h +++ b/qt/scientific_interfaces/Indirect/IIndirectFitPlotView.h @@ -26,9 +26,9 @@ public: virtual ~IIndirectFitPlotView(){}; virtual WorkspaceIndex getSelectedSpectrum() const = 0; - virtual SpectrumRowIndex getSelectedSpectrumIndex() const = 0; - virtual DatasetIndex getSelectedDataIndex() const = 0; - virtual DatasetIndex dataSelectionSize() const = 0; + virtual TableRowIndex getSelectedSpectrumIndex() const = 0; + virtual TableDatasetIndex getSelectedDataIndex() const = 0; + virtual TableDatasetIndex dataSelectionSize() const = 0; virtual bool isPlotGuessChecked() const = 0; virtual void hideMultipleDataSelection() = 0; @@ -45,7 +45,7 @@ public: virtual void setPlotSpectrum(WorkspaceIndex spectrum) = 0; virtual void appendToDataSelection(const std::string &dataName) = 0; virtual void setNameInDataSelection(const std::string &dataName, - DatasetIndex index) = 0; + TableDatasetIndex index) = 0; virtual void clearDataSelection() = 0; virtual void plotInTopPreview(const QString &name, @@ -87,7 +87,7 @@ public slots: virtual void setHWHMMinimum(double maximum) = 0; signals: - void selectedFitDataChanged(DatasetIndex /*_t1*/); + void selectedFitDataChanged(TableDatasetIndex /*_t1*/); void plotCurrentPreview(); void plotSpectrumChanged(WorkspaceIndex /*_t1*/); void plotGuessChanged(bool /*_t1*/); diff --git a/qt/scientific_interfaces/Indirect/IndexTypes.cpp b/qt/scientific_interfaces/Indirect/IndexTypes.cpp index 8440c6032669cee1a47c9b9de89aeb35c6664e05..4884699833e1f631a029ab65dfc04b40fe923153 100644 --- a/qt/scientific_interfaces/Indirect/IndexTypes.cpp +++ b/qt/scientific_interfaces/Indirect/IndexTypes.cpp @@ -12,10 +12,10 @@ namespace MantidQt { namespace CustomInterfaces { namespace IDA { -int SpectrumRoqIndexId = qRegisterMetaType<SpectrumRowIndex>(); +int SpectrumRoqIndexId = qRegisterMetaType<TableRowIndex>(); int WorkspaceIndexId = qRegisterMetaType<WorkspaceIndex>(); -int GrouppIndexId = qRegisterMetaType<GroupIndex>(); +int GrouppIndexId = qRegisterMetaType<WorkspaceGroupIndex>(); } // namespace IDA } // namespace CustomInterfaces -} // namespace MantidQt +} // namespace MantidQt \ No newline at end of file diff --git a/qt/scientific_interfaces/Indirect/IndexTypes.h b/qt/scientific_interfaces/Indirect/IndexTypes.h index 1801cdef32fc8e11d279f382219f65c15afea1b7..48ac3c5ab21273c63ac1b16b7d2712d7151c1dcc 100644 --- a/qt/scientific_interfaces/Indirect/IndexTypes.h +++ b/qt/scientific_interfaces/Indirect/IndexTypes.h @@ -4,6 +4,10 @@ // NScD Oak Ridge National Laboratory, European Spallation Source // & Institut Laue - Langevin // SPDX - License - Identifier: GPL - 3.0 + +// +// This file contains the implimentation of type safe indices for use +// in the indirect interface code. +// TODO merge this to use the generic index framework from IndexType.h #ifndef MANTIDQTCUSTOMINTERFACESIDA_INDEXTYPE_H_ #define MANTIDQTCUSTOMINTERFACESIDA_INDEXTYPE_H_ @@ -15,6 +19,10 @@ namespace MantidQt { namespace CustomInterfaces { namespace IDA { +/** A struct to impliment strongly typed integers, without implicit conversion. + * Currently operations and comparitors are only defined between instances of the + * same type. +*/ template <int Class> struct IndexType { using IntImplementationType = int; IntImplementationType value = 0; @@ -47,11 +55,18 @@ template <int Class> struct IndexType { } }; // namespace IDA -using SpectrumRowIndex = IndexType<0>; +// Used to index table rows in the GUI +using TableRowIndex = IndexType<0>; +// Used to index spectra in workspaces using WorkspaceIndex = IndexType<1>; -using GroupIndex = IndexType<2>; -using DatasetIndex = IndexType<3>; +// Used to index worspaces in workspace groups +using WorkspaceGroupIndex = IndexType<2>; +// Used to index +using TableDatasetIndex = IndexType<3>; +/** A class which wraps a vector so that you supply not only the value + * type but also the expected index type. +*/ template <class CollectionIndexType, class CollectionValueType> class IndexCollectionType { public: @@ -115,8 +130,8 @@ operator<<(std::ostream &out, return out; } -Q_DECLARE_METATYPE(MantidQt::CustomInterfaces::IDA::SpectrumRowIndex) +Q_DECLARE_METATYPE(MantidQt::CustomInterfaces::IDA::TableRowIndex) Q_DECLARE_METATYPE(MantidQt::CustomInterfaces::IDA::WorkspaceIndex) -Q_DECLARE_METATYPE(MantidQt::CustomInterfaces::IDA::GroupIndex) +Q_DECLARE_METATYPE(MantidQt::CustomInterfaces::IDA::WorkspaceGroupIndex) #endif /* MANTIDQTCUSTOMINTERFACESIDA_INDEXTYPE_H_ */ diff --git a/qt/scientific_interfaces/Indirect/IndirectDataTablePresenter.cpp b/qt/scientific_interfaces/Indirect/IndirectDataTablePresenter.cpp index e1b8f2f64f72c3952f6ee3d329e0c3aa5d25c5c7..57ccf96eb3e256e78135ba4276944b3c0bf7da38 100644 --- a/qt/scientific_interfaces/Indirect/IndirectDataTablePresenter.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectDataTablePresenter.cpp @@ -16,7 +16,7 @@ #include <QRegExpValidator> namespace { -using MantidQt::CustomInterfaces::IDA::SpectraNew; +using MantidQt::CustomInterfaces::IDA::Spectra; using MantidQt::CustomInterfaces::IDA::WorkspaceIndex; namespace Regexes { @@ -84,13 +84,13 @@ std::string pairsToString( return boost::algorithm::join(pairStrings, ","); } -boost::optional<SpectraNew> pairsToSpectra( +boost::optional<Spectra> pairsToSpectra( const std::vector<std::pair<WorkspaceIndex, WorkspaceIndex>> &pairs) { if (pairs.empty()) return boost::none; else if (pairs.size() == 1) - return SpectraNew(pairs[0].first, pairs[0].second); - return SpectraNew(pairsToString(pairs)); + return Spectra(pairs[0].first, pairs[0].second); + return Spectra(pairsToString(pairs)); } QVariant getVariant(std::size_t i) { @@ -143,90 +143,92 @@ int IndirectDataTablePresenter::endXColumn() const { return 3; } int IndirectDataTablePresenter::excludeColumn() const { return 4; } -double IndirectDataTablePresenter::startX(SpectrumRowIndex row) const { +double IndirectDataTablePresenter::startX(TableRowIndex row) const { return getDouble(row, startXColumn()); } -double IndirectDataTablePresenter::endX(SpectrumRowIndex row) const { +double IndirectDataTablePresenter::endX(TableRowIndex row) const { return getDouble(row, endXColumn()); } std::string -IndirectDataTablePresenter::getExcludeString(SpectrumRowIndex row) const { +IndirectDataTablePresenter::getExcludeString(TableRowIndex row) const { return getString(row, excludeColumn()); } std::string -IndirectDataTablePresenter::getWorkspaceName(SpectrumRowIndex row) const { +IndirectDataTablePresenter::getWorkspaceName(TableRowIndex row) const { return getString(row, 0); } WorkspaceIndex -IndirectDataTablePresenter::getWorkspaceIndex(SpectrumRowIndex row) const { +IndirectDataTablePresenter::getWorkspaceIndex(TableRowIndex row) const { const auto item = m_dataTable->item(row.value, workspaceIndexColumn()); return WorkspaceIndex{static_cast<int>(item->text().toULongLong())}; } -double IndirectDataTablePresenter::getDouble(SpectrumRowIndex row, +double IndirectDataTablePresenter::getDouble(TableRowIndex row, int column) const { return getText(row, column).toDouble(); } -std::string IndirectDataTablePresenter::getString(SpectrumRowIndex row, +std::string IndirectDataTablePresenter::getString(TableRowIndex row, int column) const { return getText(row, column).toStdString(); } -QString IndirectDataTablePresenter::getText(SpectrumRowIndex row, +QString IndirectDataTablePresenter::getText(TableRowIndex row, int column) const { return m_dataTable->item(row.value, column)->text(); } -SpectrumRowIndex -IndirectDataTablePresenter::getNextPosition(DatasetIndex index) const { - if (m_dataPositions.size() > index + DatasetIndex{1}) - return m_dataPositions[index + DatasetIndex{1}]; - return SpectrumRowIndex{m_dataTable->rowCount()}; +TableRowIndex +IndirectDataTablePresenter::getNextPosition(TableDatasetIndex index) const { + if (m_dataPositions.size() > index + TableDatasetIndex{1}) + return m_dataPositions[index + TableDatasetIndex{1}]; + return TableRowIndex{m_dataTable->rowCount()}; } -SpectrumRowIndex -IndirectDataTablePresenter::getFirstRow(DatasetIndex dataIndex) const { +TableRowIndex +IndirectDataTablePresenter::getFirstRow(TableDatasetIndex dataIndex) const { if (m_dataPositions.size() > dataIndex) return m_dataPositions[dataIndex]; - return SpectrumRowIndex{-1}; + return TableRowIndex{-1}; } -DatasetIndex -IndirectDataTablePresenter::getDataIndex(SpectrumRowIndex row) const { - return DatasetIndex{ +TableDatasetIndex +IndirectDataTablePresenter::getDataIndex(TableRowIndex row) const { + return TableDatasetIndex{ m_dataTable->item(row.value, 0)->data(Qt::UserRole).toInt()}; } -boost::optional<SpectraNew> -IndirectDataTablePresenter::getSpectra(DatasetIndex dataIndex) const { +boost::optional<Spectra> +IndirectDataTablePresenter::getSpectra(TableDatasetIndex dataIndex) const { if (m_dataPositions.size() > dataIndex) return getSpectra(m_dataPositions[dataIndex], getNextPosition(dataIndex)); return boost::none; } -boost::optional<SpectraNew> -IndirectDataTablePresenter::getSpectra(SpectrumRowIndex start, - SpectrumRowIndex end) const { +boost::optional<Spectra> +IndirectDataTablePresenter::getSpectra(TableRowIndex start, + TableRowIndex end) const { std::vector<std::pair<WorkspaceIndex, WorkspaceIndex>> spectraPairs; while (start < end) { WorkspaceIndex minimum = getWorkspaceIndex(start); WorkspaceIndex maximum = minimum; - - while (++start < end && - getWorkspaceIndex(start) == maximum + WorkspaceIndex{1}) + start++; + while (start < end && + getWorkspaceIndex(start) == maximum + WorkspaceIndex{1}){ ++maximum; + start++; + } spectraPairs.emplace_back(minimum, maximum); } return pairsToSpectra(spectraPairs); } -boost::optional<SpectrumRowIndex> -IndirectDataTablePresenter::getRowIndex(DatasetIndex dataIndex, +boost::optional<TableRowIndex> +IndirectDataTablePresenter::getRowIndex(TableDatasetIndex dataIndex, WorkspaceIndex spectrumIndex) const { if (!m_dataPositions.empty()) { const auto position = m_model->getDomainIndex(dataIndex, spectrumIndex); @@ -237,14 +239,14 @@ IndirectDataTablePresenter::getRowIndex(DatasetIndex dataIndex, } void IndirectDataTablePresenter::setStartX(double startX, - DatasetIndex dataIndex, + TableDatasetIndex dataIndex, WorkspaceIndex spectrumIndex) { if (auto const row = getRowIndex(dataIndex, spectrumIndex)) setStartX(startX, *row); } void IndirectDataTablePresenter::setStartX(double startX, - DatasetIndex dataIndex) { + TableDatasetIndex dataIndex) { if (auto const spectra = getSpectra(dataIndex)) { for (auto const spectrumIndex : *spectra) { if (auto const row = getRowIndex(dataIndex, spectrumIndex)) @@ -254,7 +256,7 @@ void IndirectDataTablePresenter::setStartX(double startX, } void IndirectDataTablePresenter::setStartX(double startX, - SpectrumRowIndex index) { + TableRowIndex index) { MantidQt::API::SignalBlocker blocker(m_dataTable); m_dataTable->item(index.value, startXColumn())->setText(makeNumber(startX)); } @@ -263,13 +265,13 @@ void IndirectDataTablePresenter::setStartX(double startX) { setColumnValues(startXColumn(), makeNumber(startX)); } -void IndirectDataTablePresenter::setEndX(double endX, DatasetIndex dataIndex, +void IndirectDataTablePresenter::setEndX(double endX, TableDatasetIndex dataIndex, WorkspaceIndex spectrumIndex) { if (auto const row = getRowIndex(dataIndex, spectrumIndex)) setEndX(endX, *row); } -void IndirectDataTablePresenter::setEndX(double endX, DatasetIndex dataIndex) { +void IndirectDataTablePresenter::setEndX(double endX, TableDatasetIndex dataIndex) { if (auto const spectra = getSpectra(dataIndex)) { for (auto const spectrumIndex : *spectra) { if (auto const row = getRowIndex(dataIndex, spectrumIndex)) @@ -278,7 +280,7 @@ void IndirectDataTablePresenter::setEndX(double endX, DatasetIndex dataIndex) { } } -void IndirectDataTablePresenter::setEndX(double endX, SpectrumRowIndex index) { +void IndirectDataTablePresenter::setEndX(double endX, TableRowIndex index) { MantidQt::API::SignalBlocker blocker(m_dataTable); m_dataTable->item(index.value, endXColumn())->setText(makeNumber(endX)); } @@ -288,7 +290,7 @@ void IndirectDataTablePresenter::setEndX(double endX) { } void IndirectDataTablePresenter::setExclude(const std::string &exclude, - DatasetIndex dataIndex, + TableDatasetIndex dataIndex, WorkspaceIndex spectrumIndex) { auto const row = getRowIndex(dataIndex, spectrumIndex); if (FittingMode::SEQUENTIAL == m_model->getFittingMode() || !row) @@ -298,7 +300,7 @@ void IndirectDataTablePresenter::setExclude(const std::string &exclude, } void IndirectDataTablePresenter::setExcludeRegion(const std::string &exclude, - SpectrumRowIndex index) { + TableRowIndex index) { MantidQt::API::SignalBlocker blocker(m_dataTable); if (FittingMode::SEQUENTIAL == m_model->getFittingMode()) setExcludeRegion(exclude); @@ -315,16 +317,16 @@ void IndirectDataTablePresenter::setExcludeRegion(const QString &exclude) { setColumnValues(excludeColumn(), exclude); } -void IndirectDataTablePresenter::addData(DatasetIndex index) { +void IndirectDataTablePresenter::addData(TableDatasetIndex index) { if (m_dataPositions.size() > index) updateData(index); else addNewData(index); } -void IndirectDataTablePresenter::addNewData(DatasetIndex index) { +void IndirectDataTablePresenter::addNewData(TableDatasetIndex index) { MantidQt::API::SignalBlocker blocker(m_dataTable); - const auto start = SpectrumRowIndex{m_dataTable->rowCount()}; + const auto start = TableRowIndex{m_dataTable->rowCount()}; const auto addRow = [&](WorkspaceIndex spectrum) { addTableEntry(index, spectrum); @@ -335,14 +337,14 @@ void IndirectDataTablePresenter::addNewData(DatasetIndex index) { m_dataPositions.emplace_back(start); } -void IndirectDataTablePresenter::updateData(DatasetIndex index) { +void IndirectDataTablePresenter::updateData(TableDatasetIndex index) { if (m_dataPositions.size() > index) updateExistingData(index); else addNewData(index); } -void IndirectDataTablePresenter::updateExistingData(DatasetIndex index) { +void IndirectDataTablePresenter::updateExistingData(TableDatasetIndex index) { MantidQt::API::SignalBlocker blocker(m_dataTable); auto position = m_dataPositions[index]; const auto nextPosition = getNextPosition(index); @@ -359,22 +361,22 @@ void IndirectDataTablePresenter::updateExistingData(DatasetIndex index) { collapseData(position, nextPosition, initialSize, index); } -void IndirectDataTablePresenter::collapseData(SpectrumRowIndex from, - SpectrumRowIndex to, - SpectrumRowIndex initialSize, - DatasetIndex dataIndex) { +void IndirectDataTablePresenter::collapseData(TableRowIndex from, + TableRowIndex to, + TableRowIndex initialSize, + TableDatasetIndex dataIndex) { const auto shift = from - to; - if (shift != SpectrumRowIndex{0}) { + if (shift != TableRowIndex{0}) { for (auto i = from; i < to; ++i) removeTableEntry(from); - if (initialSize + shift == SpectrumRowIndex{0} && + if (initialSize + shift == TableRowIndex{0} && m_dataPositions.size() > dataIndex) { m_dataPositions.remove(dataIndex); shiftDataPositions(shift, dataIndex, m_dataPositions.size()); updateDataPositionsInCells(dataIndex, m_dataPositions.size()); } else - shiftDataPositions(shift, dataIndex + DatasetIndex{1}, + shiftDataPositions(shift, dataIndex + TableDatasetIndex{1}, m_dataPositions.size()); } } @@ -387,20 +389,20 @@ void IndirectDataTablePresenter::removeSelectedData() { auto &modifiedIndices = modifiedIndicesAndCount.first; for (auto i = 0u; i < modifiedIndices.size(); ++i) - shiftDataPositions(-modifiedCount[i], modifiedIndices[i] + DatasetIndex{1}, + shiftDataPositions(-modifiedCount[i], modifiedIndices[i] + TableDatasetIndex{1}, m_dataPositions.size()); if (!modifiedIndices.empty()) { updateFromRemovedIndices(modifiedIndices); - updateDataPositionsInCells(modifiedIndices.back() > DatasetIndex{0} - ? modifiedIndices.back() - DatasetIndex{1} - : DatasetIndex{0}, + updateDataPositionsInCells(modifiedIndices.back() > TableDatasetIndex{0} + ? modifiedIndices.back() - TableDatasetIndex{1} + : TableDatasetIndex{0}, m_dataPositions.size()); } } void IndirectDataTablePresenter::updateFromRemovedIndices( - const std::vector<DatasetIndex> &indices) { + const std::vector<TableDatasetIndex> &indices) { for (const auto &index : indices) { const auto existingSpectra = getSpectra(index); if (existingSpectra) @@ -411,21 +413,21 @@ void IndirectDataTablePresenter::updateFromRemovedIndices( m_dataPositions.remove(index); if (m_model->numberOfWorkspaces() == - originalNumberOfWorkspaces - DatasetIndex{2}) + originalNumberOfWorkspaces - TableDatasetIndex{2}) m_dataPositions.remove(index); } } } -std::pair<std::vector<DatasetIndex>, std::vector<SpectrumRowIndex>> +std::pair<std::vector<TableDatasetIndex>, std::vector<TableRowIndex>> IndirectDataTablePresenter::removeTableRows(QModelIndexList &selectedRows) { - std::vector<DatasetIndex> modifiedIndices; - std::vector<SpectrumRowIndex> modifiedCount; - SpectrumRowIndex previous{-1}; + std::vector<TableDatasetIndex> modifiedIndices; + std::vector<TableRowIndex> modifiedCount; + TableRowIndex previous{-1}; qSort(selectedRows); for (auto i = selectedRows.count() - 1; i >= 0; --i) { - const auto current = SpectrumRowIndex{selectedRows[i].row()}; + const auto current = TableRowIndex{selectedRows[i].row()}; if (current != previous) { auto modifiedIndex = removeTableEntry(current); @@ -433,7 +435,7 @@ IndirectDataTablePresenter::removeTableRows(QModelIndexList &selectedRows) { ++modifiedCount.back(); else { modifiedIndices.emplace_back(modifiedIndex); - modifiedCount.emplace_back(SpectrumRowIndex{1}); + modifiedCount.emplace_back(TableRowIndex{1}); } previous = current; } @@ -442,7 +444,7 @@ IndirectDataTablePresenter::removeTableRows(QModelIndexList &selectedRows) { } void IndirectDataTablePresenter::setModelFittingRange(int irow, int column) { - SpectrumRowIndex row{irow}; + TableRowIndex row{irow}; const auto workspaceIndex = getWorkspaceIndex(row); const auto dataIndex = getDataIndex(row); @@ -456,19 +458,19 @@ void IndirectDataTablePresenter::setModelFittingRange(int irow, int column) { } void IndirectDataTablePresenter::setModelStartXAndEmit( - double startX, DatasetIndex dataIndex, WorkspaceIndex workspaceIndex) { + double startX, TableDatasetIndex dataIndex, WorkspaceIndex workspaceIndex) { m_model->setStartX(startX, dataIndex, workspaceIndex); emit startXChanged(startX, dataIndex, workspaceIndex); } void IndirectDataTablePresenter::setModelEndXAndEmit( - double endX, DatasetIndex dataIndex, WorkspaceIndex workspaceIndex) { + double endX, TableDatasetIndex dataIndex, WorkspaceIndex workspaceIndex) { m_model->setEndX(endX, dataIndex, workspaceIndex); emit endXChanged(endX, dataIndex, workspaceIndex); } void IndirectDataTablePresenter::setModelExcludeAndEmit( - const std::string &exclude, DatasetIndex dataIndex, + const std::string &exclude, TableDatasetIndex dataIndex, WorkspaceIndex workspaceIndex) { m_model->setExcludeRegion(exclude, dataIndex, workspaceIndex); emit excludeRegionChanged(exclude, dataIndex, workspaceIndex); @@ -483,7 +485,7 @@ void IndirectDataTablePresenter::setGlobalFittingRange(bool global) { void IndirectDataTablePresenter::updateAllFittingRangeFrom(int irow, int column) { - SpectrumRowIndex row{irow}; + TableRowIndex row{irow}; MantidQt::API::SignalBlocker blocker(m_dataTable); if (startXColumn() == column) setStartX(getDouble(row, column)); @@ -496,11 +498,11 @@ void IndirectDataTablePresenter::updateAllFittingRangeFrom(int irow, void IndirectDataTablePresenter::enableGlobalFittingRange() { MantidQt::API::SignalBlocker blocker(m_dataTable); const auto range = - m_model->getFittingRange(DatasetIndex{0}, WorkspaceIndex{0}); + m_model->getFittingRange(TableDatasetIndex{0}, WorkspaceIndex{0}); setStartX(range.first); setEndX(range.second); setExcludeRegion( - m_model->getExcludeRegion(DatasetIndex{0}, WorkspaceIndex{0})); + m_model->getExcludeRegion(TableDatasetIndex{0}, WorkspaceIndex{0})); connect(m_dataTable, SIGNAL(cellChanged(int, int)), this, SLOT(updateAllFittingRangeFrom(int, int))); } @@ -539,17 +541,17 @@ void IndirectDataTablePresenter::setHorizontalHeaders( header->setResizeMode(0, QHeaderView::Stretch); } -void IndirectDataTablePresenter::addTableEntry(DatasetIndex dataIndex, +void IndirectDataTablePresenter::addTableEntry(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) { - const auto row = SpectrumRowIndex{m_dataTable->rowCount()}; + const auto row = TableRowIndex{m_dataTable->rowCount()}; addTableEntry(dataIndex, spectrum, row); m_dataTable->item(row.value, 0) ->setData(Qt::UserRole, getVariant(dataIndex.value)); } -void IndirectDataTablePresenter::addTableEntry(DatasetIndex dataIndex, +void IndirectDataTablePresenter::addTableEntry(TableDatasetIndex dataIndex, WorkspaceIndex spectrum, - SpectrumRowIndex row) { + TableRowIndex row) { m_dataTable->insertRow(row.value); const auto &name = m_model->getWorkspace(dataIndex)->getName(); @@ -576,13 +578,13 @@ void IndirectDataTablePresenter::addTableEntry(DatasetIndex dataIndex, } void IndirectDataTablePresenter::setCell(std::unique_ptr<QTableWidgetItem> cell, - SpectrumRowIndex row, int column) { + TableRowIndex row, int column) { m_dataTable->setItem(row.value, column, cell.release()); } -void IndirectDataTablePresenter::updateTableEntry(DatasetIndex dataIndex, +void IndirectDataTablePresenter::updateTableEntry(TableDatasetIndex dataIndex, WorkspaceIndex spectrum, - SpectrumRowIndex row) { + TableRowIndex row) { const auto &name = m_model->getWorkspace(dataIndex)->getName(); setCellText(QString::fromStdString(name), row, 0); setCellText(QString::number(spectrum.value), row, workspaceIndexColumn()); @@ -596,26 +598,26 @@ void IndirectDataTablePresenter::updateTableEntry(DatasetIndex dataIndex, } void IndirectDataTablePresenter::setCellText(const QString &text, - SpectrumRowIndex row, int column) { + TableRowIndex row, int column) { m_dataTable->item(row.value, column)->setText(text); } -DatasetIndex -IndirectDataTablePresenter::removeTableEntry(SpectrumRowIndex row) { +TableDatasetIndex +IndirectDataTablePresenter::removeTableEntry(TableRowIndex row) { const auto dataIndex = m_dataTable->item(row.value, 0)->data(Qt::UserRole); m_dataTable->removeRow(row.value); - return DatasetIndex{dataIndex.toInt()}; + return TableDatasetIndex{dataIndex.toInt()}; } -void IndirectDataTablePresenter::shiftDataPositions(SpectrumRowIndex shift, - DatasetIndex from, - DatasetIndex to) { +void IndirectDataTablePresenter::shiftDataPositions(TableRowIndex shift, + TableDatasetIndex from, + TableDatasetIndex to) { for (auto i = from; i < to; ++i) m_dataPositions[i] += shift; } -void IndirectDataTablePresenter::updateDataPositionsInCells(DatasetIndex from, - DatasetIndex to) { +void IndirectDataTablePresenter::updateDataPositionsInCells(TableDatasetIndex from, + TableDatasetIndex to) { for (auto i = from; i < to; ++i) { const auto nextPosition = getNextPosition(i); for (auto row = m_dataPositions[i]; row < nextPosition; ++row) diff --git a/qt/scientific_interfaces/Indirect/IndirectDataTablePresenter.h b/qt/scientific_interfaces/Indirect/IndirectDataTablePresenter.h index 6919730ae7575cbc7bab4f24614823376c01a07a..fee70335b89679171fb371d253edcc7c3fa4ca0c 100644 --- a/qt/scientific_interfaces/Indirect/IndirectDataTablePresenter.h +++ b/qt/scientific_interfaces/Indirect/IndirectDataTablePresenter.h @@ -19,7 +19,7 @@ namespace MantidQt { namespace CustomInterfaces { namespace IDA { -using DataPositionType = IndexCollectionType<DatasetIndex, SpectrumRowIndex>; +using DataPositionType = IndexCollectionType<TableDatasetIndex, TableRowIndex>; /** Presenter for a table of indirect fitting data. @@ -37,30 +37,30 @@ public: bool tableDatasetsMatchModel() const; bool isTableEmpty() const; - void setStartX(double startX, DatasetIndex dataIndex, + void setStartX(double startX, TableDatasetIndex dataIndex, WorkspaceIndex spectrumIndex); - void setStartX(double startX, DatasetIndex dataIndex); - void setEndX(double endX, DatasetIndex dataIndex, + void setStartX(double startX, TableDatasetIndex dataIndex); + void setEndX(double endX, TableDatasetIndex dataIndex, WorkspaceIndex spectrumIndex); - void setEndX(double endX, DatasetIndex dataIndex); - void setExclude(const std::string &exclude, DatasetIndex dataIndex, + void setEndX(double endX, TableDatasetIndex dataIndex); + void setExclude(const std::string &exclude, TableDatasetIndex dataIndex, WorkspaceIndex spectrumIndex); signals: - void startXChanged(double /*_t1*/, DatasetIndex /*_t2*/, + void startXChanged(double /*_t1*/, TableDatasetIndex /*_t2*/, WorkspaceIndex /*_t3*/); - void endXChanged(double /*_t1*/, DatasetIndex /*_t2*/, + void endXChanged(double /*_t1*/, TableDatasetIndex /*_t2*/, WorkspaceIndex /*_t3*/); - void excludeRegionChanged(const std::string & /*_t1*/, DatasetIndex /*_t2*/, + void excludeRegionChanged(const std::string & /*_t1*/, TableDatasetIndex /*_t2*/, WorkspaceIndex /*_t3*/); public slots: - void addData(DatasetIndex index); - void updateData(DatasetIndex index); + void addData(TableDatasetIndex index); + void updateData(TableDatasetIndex index); void removeSelectedData(); - void setStartX(double startX, SpectrumRowIndex index); - void setEndX(double endX, SpectrumRowIndex index); - void setExcludeRegion(const std::string &exclude, SpectrumRowIndex index); + void setStartX(double startX, TableRowIndex index); + void setEndX(double endX, TableRowIndex index); + void setExcludeRegion(const std::string &exclude, TableRowIndex index); void setGlobalFittingRange(bool global); void enableTable(); void disableTable(); @@ -71,53 +71,53 @@ private slots: void updateAllFittingRangeFrom(int row, int column); protected: - SpectrumRowIndex getFirstRow(DatasetIndex dataIndex) const; - std::string getString(SpectrumRowIndex row, int column) const; + TableRowIndex getFirstRow(TableDatasetIndex dataIndex) const; + std::string getString(TableRowIndex row, int column) const; - virtual void addTableEntry(DatasetIndex dataIndex, WorkspaceIndex spectrum, - SpectrumRowIndex row); - void setCell(std::unique_ptr<QTableWidgetItem> cell, SpectrumRowIndex row, + virtual void addTableEntry(TableDatasetIndex dataIndex, WorkspaceIndex spectrum, + TableRowIndex row); + void setCell(std::unique_ptr<QTableWidgetItem> cell, TableRowIndex row, int column); - virtual void updateTableEntry(DatasetIndex dataIndex, WorkspaceIndex spectrum, - SpectrumRowIndex row); - void setCellText(const QString &text, SpectrumRowIndex row, int column); + virtual void updateTableEntry(TableDatasetIndex dataIndex, WorkspaceIndex spectrum, + TableRowIndex row); + void setCellText(const QString &text, TableRowIndex row, int column); private: virtual int workspaceIndexColumn() const; virtual int startXColumn() const; virtual int endXColumn() const; virtual int excludeColumn() const; - double startX(SpectrumRowIndex row) const; - double endX(SpectrumRowIndex row) const; - std::string getExcludeString(SpectrumRowIndex row) const; - std::string getWorkspaceName(SpectrumRowIndex row) const; - WorkspaceIndex getWorkspaceIndex(SpectrumRowIndex row) const; - double getDouble(SpectrumRowIndex row, int column) const; - QString getText(SpectrumRowIndex row, int column) const; - SpectrumRowIndex getNextPosition(DatasetIndex index) const; - DatasetIndex getDataIndex(SpectrumRowIndex row) const; - boost::optional<SpectraNew> getSpectra(DatasetIndex dataIndex) const; - boost::optional<SpectraNew> getSpectra(SpectrumRowIndex start, - SpectrumRowIndex end) const; - boost::optional<SpectrumRowIndex> - getRowIndex(DatasetIndex dataIndex, WorkspaceIndex spectrumIndex) const; - - void setModelStartXAndEmit(double startX, DatasetIndex dataIndex, + double startX(TableRowIndex row) const; + double endX(TableRowIndex row) const; + std::string getExcludeString(TableRowIndex row) const; + std::string getWorkspaceName(TableRowIndex row) const; + WorkspaceIndex getWorkspaceIndex(TableRowIndex row) const; + double getDouble(TableRowIndex row, int column) const; + QString getText(TableRowIndex row, int column) const; + TableRowIndex getNextPosition(TableDatasetIndex index) const; + TableDatasetIndex getDataIndex(TableRowIndex row) const; + boost::optional<Spectra> getSpectra(TableDatasetIndex dataIndex) const; + boost::optional<Spectra> getSpectra(TableRowIndex start, + TableRowIndex end) const; + boost::optional<TableRowIndex> + getRowIndex(TableDatasetIndex dataIndex, WorkspaceIndex spectrumIndex) const; + + void setModelStartXAndEmit(double startX, TableDatasetIndex dataIndex, WorkspaceIndex workspaceIndex); - void setModelEndXAndEmit(double endX, DatasetIndex dataIndex, + void setModelEndXAndEmit(double endX, TableDatasetIndex dataIndex, WorkspaceIndex workspaceIndex); void setModelExcludeAndEmit(const std::string &exclude, - DatasetIndex dataIndex, + TableDatasetIndex dataIndex, WorkspaceIndex workspaceIndex); void enableGlobalFittingRange(); void disableGlobalFittingRange(); - void updateExistingData(DatasetIndex index); - void addNewData(DatasetIndex index); - void addTableEntry(DatasetIndex dataIndex, WorkspaceIndex spectrum); - DatasetIndex removeTableEntry(SpectrumRowIndex row); - std::pair<std::vector<DatasetIndex>, std::vector<SpectrumRowIndex>> + void updateExistingData(TableDatasetIndex index); + void addNewData(TableDatasetIndex index); + void addTableEntry(TableDatasetIndex dataIndex, WorkspaceIndex spectrum); + TableDatasetIndex removeTableEntry(TableRowIndex row); + std::pair<std::vector<TableDatasetIndex>, std::vector<TableRowIndex>> removeTableRows(QModelIndexList &selectedRows); void setStartX(double startX); void setEndX(double endX); @@ -126,12 +126,12 @@ private: void setColumnValues(int column, const QString &value); void setHorizontalHeaders(const QStringList &headers); - void collapseData(SpectrumRowIndex from, SpectrumRowIndex to, - SpectrumRowIndex initialSize, DatasetIndex dataIndex); - void updateFromRemovedIndices(const std::vector<DatasetIndex> &indices); - void shiftDataPositions(SpectrumRowIndex value, DatasetIndex from, - DatasetIndex to); - void updateDataPositionsInCells(DatasetIndex from, DatasetIndex to); + void collapseData(TableRowIndex from, TableRowIndex to, + TableRowIndex initialSize, TableDatasetIndex dataIndex); + void updateFromRemovedIndices(const std::vector<TableDatasetIndex> &indices); + void shiftDataPositions(TableRowIndex value, TableDatasetIndex from, + TableDatasetIndex to); + void updateDataPositionsInCells(TableDatasetIndex from, TableDatasetIndex to); DataPositionType m_dataPositions; IndirectFittingModel *m_model; diff --git a/qt/scientific_interfaces/Indirect/IndirectDataTablePresenterLegacy.cpp b/qt/scientific_interfaces/Indirect/IndirectDataTablePresenterLegacy.cpp index 3d3a78472564e64ae31c39bef27303afc57398c4..7dd9c45c66ecbbf20f86631984ed2736dad450d6 100644 --- a/qt/scientific_interfaces/Indirect/IndirectDataTablePresenterLegacy.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectDataTablePresenterLegacy.cpp @@ -17,7 +17,7 @@ namespace { using MantidQt::CustomInterfaces::IDA::DiscontinuousSpectra; -using MantidQt::CustomInterfaces::IDA::Spectra; +using MantidQt::CustomInterfaces::IDA::SpectraLegacy; namespace Regexes { const QString EMPTY = "^$"; @@ -84,13 +84,13 @@ pairsToString(const std::vector<std::pair<std::size_t, std::size_t>> &pairs) { return boost::algorithm::join(pairStrings, ","); } -boost::optional<Spectra> +boost::optional<SpectraLegacy> pairsToSpectra(const std::vector<std::pair<std::size_t, std::size_t>> &pairs) { if (pairs.empty()) return boost::none; else if (pairs.size() == 1) - return boost::optional<Spectra>(pairs[0]); - return boost::optional<Spectra>( + return boost::optional<SpectraLegacy>(pairs[0]); + return boost::optional<SpectraLegacy>( DiscontinuousSpectra<std::size_t>(pairsToString(pairs))); } @@ -196,14 +196,14 @@ std::size_t IndirectDataTablePresenterLegacy::getDataIndex(int row) const { return m_dataTable->item(row, 0)->data(Qt::UserRole).toULongLong(); } -boost::optional<Spectra> +boost::optional<SpectraLegacy> IndirectDataTablePresenterLegacy::getSpectra(std::size_t dataIndex) const { if (m_dataPositions.size() > dataIndex) return getSpectra(m_dataPositions[dataIndex], getNextPosition(dataIndex)); return boost::none; } -boost::optional<Spectra> +boost::optional<SpectraLegacy> IndirectDataTablePresenterLegacy::getSpectra(int start, int end) const { std::vector<std::pair<std::size_t, std::size_t>> spectraPairs; while (start < end) { diff --git a/qt/scientific_interfaces/Indirect/IndirectDataTablePresenterLegacy.h b/qt/scientific_interfaces/Indirect/IndirectDataTablePresenterLegacy.h index 1363f1a34d67557059c17cea9928757501bdb34e..18566cad6ab0e7b5e8f540dd6f1dcf870057ffeb 100644 --- a/qt/scientific_interfaces/Indirect/IndirectDataTablePresenterLegacy.h +++ b/qt/scientific_interfaces/Indirect/IndirectDataTablePresenterLegacy.h @@ -86,8 +86,8 @@ private: QString getText(int row, int column) const; int getNextPosition(std::size_t index) const; std::size_t getDataIndex(int row) const; - boost::optional<Spectra> getSpectra(std::size_t dataIndex) const; - boost::optional<Spectra> getSpectra(int start, int end) const; + boost::optional<SpectraLegacy> getSpectra(std::size_t dataIndex) const; + boost::optional<SpectraLegacy> getSpectra(int start, int end) const; boost::optional<int> getRowIndex(std::size_t dataIndex, int spectrumIndex) const; diff --git a/qt/scientific_interfaces/Indirect/IndirectFitAnalysisTab.cpp b/qt/scientific_interfaces/Indirect/IndirectFitAnalysisTab.cpp index 334fd85c474273717d813525f4c119fda815fe66..1d92ee6f859e5b55364193673d6f685a81258a9a 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitAnalysisTab.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectFitAnalysisTab.cpp @@ -5,10 +5,7 @@ // & Institut Laue - Langevin // SPDX - License - Identifier: GPL - 3.0 + #include "IndirectFitAnalysisTab.h" -// #include "ui_ConvFit.h" #include "ui_IqtFit.h" -// #include "ui_JumpFit.h" -// #include "ui_MSDFit.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/MultiDomainFunction.h" @@ -23,6 +20,9 @@ #include <algorithm> +/// Logger +Mantid::Kernel::Logger g_log("IndirectFitAnalysisTab"); + using namespace Mantid::API; namespace { @@ -62,16 +62,16 @@ void IndirectFitAnalysisTab::setup() { void IndirectFitAnalysisTab::connectDataPresenter() { connect(m_dataPresenter.get(), - SIGNAL(startXChanged(double, DatasetIndex, WorkspaceIndex)), this, - SLOT(tableStartXChanged(double, DatasetIndex, WorkspaceIndex))); + SIGNAL(startXChanged(double, TableDatasetIndex, WorkspaceIndex)), this, + SLOT(tableStartXChanged(double, TableDatasetIndex, WorkspaceIndex))); connect(m_dataPresenter.get(), - SIGNAL(endXChanged(double, DatasetIndex, WorkspaceIndex)), this, - SLOT(tableEndXChanged(double, DatasetIndex, WorkspaceIndex))); + SIGNAL(endXChanged(double, TableDatasetIndex, WorkspaceIndex)), this, + SLOT(tableEndXChanged(double, TableDatasetIndex, WorkspaceIndex))); connect(m_dataPresenter.get(), - SIGNAL(excludeRegionChanged(const std::string &, DatasetIndex, + SIGNAL(excludeRegionChanged(const std::string &, TableDatasetIndex, WorkspaceIndex)), this, - SLOT(tableExcludeChanged(const std::string &, DatasetIndex, + SLOT(tableExcludeChanged(const std::string &, TableDatasetIndex, WorkspaceIndex))); connect(m_dataPresenter.get(), SIGNAL(startXChanged(double)), this, SLOT(startXChanged(double))); @@ -94,8 +94,8 @@ void IndirectFitAnalysisTab::connectDataPresenter() { void IndirectFitAnalysisTab::connectPlotPresenter() { connect(m_plotPresenter.get(), - SIGNAL(fitSingleSpectrum(DatasetIndex, WorkspaceIndex)), this, - SLOT(singleFit(DatasetIndex, WorkspaceIndex))); + SIGNAL(fitSingleSpectrum(TableDatasetIndex, WorkspaceIndex)), this, + SLOT(singleFit(TableDatasetIndex, WorkspaceIndex))); connect(m_plotPresenter.get(), SIGNAL(runAsPythonScript(const QString &, bool)), this, SIGNAL(runAsPythonScript(const QString &, bool))); @@ -103,8 +103,8 @@ void IndirectFitAnalysisTab::connectPlotPresenter() { SLOT(setDataTableStartX(double))); connect(m_plotPresenter.get(), SIGNAL(endXChanged(double)), this, SLOT(setDataTableEndX(double))); - connect(m_plotPresenter.get(), SIGNAL(selectedFitDataChanged(DatasetIndex)), - this, SLOT(respondToSelectedFitDataChanged(DatasetIndex))); + connect(m_plotPresenter.get(), SIGNAL(selectedFitDataChanged(TableDatasetIndex)), + this, SLOT(respondToSelectedFitDataChanged(TableDatasetIndex))); connect(m_plotPresenter.get(), SIGNAL(noFitDataSelected()), this, SLOT(respondToNoFitDataSelected())); connect(m_plotPresenter.get(), SIGNAL(plotSpectrumChanged(WorkspaceIndex)), @@ -116,8 +116,8 @@ void IndirectFitAnalysisTab::connectPlotPresenter() { } void IndirectFitAnalysisTab::connectSpectrumPresenter() { - connect(m_spectrumPresenter.get(), SIGNAL(spectraChanged(DatasetIndex)), this, - SLOT(respondToChangeOfSpectraRange(DatasetIndex))); + connect(m_spectrumPresenter.get(), SIGNAL(spectraChanged(TableDatasetIndex)), this, + SLOT(respondToChangeOfSpectraRange(TableDatasetIndex))); connect(m_spectrumPresenter.get(), SIGNAL(maskChanged(const std::string &)), this, SLOT(setDataTableExclude(const std::string &))); } @@ -203,7 +203,7 @@ void IndirectFitAnalysisTab::setResolutionFBSuffixes( m_dataPresenter->setResolutionFBSuffices(suffices); } -DatasetIndex IndirectFitAnalysisTab::getSelectedDataIndex() const { +TableDatasetIndex IndirectFitAnalysisTab::getSelectedDataIndex() const { return m_plotPresenter->getSelectedDataIndex(); } @@ -212,7 +212,7 @@ WorkspaceIndex IndirectFitAnalysisTab::getSelectedSpectrum() const { } bool IndirectFitAnalysisTab::isRangeCurrentlySelected( - DatasetIndex dataIndex, WorkspaceIndex spectrum) const { + TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const { return m_plotPresenter->isCurrentlySelected(dataIndex, spectrum); } @@ -270,7 +270,7 @@ void IndirectFitAnalysisTab::setDataTableExclude(const std::string &exclude) { } void IndirectFitAnalysisTab::tableStartXChanged(double startX, - DatasetIndex dataIndex, + TableDatasetIndex dataIndex, WorkspaceIndex spectrum) { if (isRangeCurrentlySelected(dataIndex, spectrum)) { m_plotPresenter->setStartX(startX); @@ -281,7 +281,7 @@ void IndirectFitAnalysisTab::tableStartXChanged(double startX, } void IndirectFitAnalysisTab::tableEndXChanged(double endX, - DatasetIndex dataIndex, + TableDatasetIndex dataIndex, WorkspaceIndex spectrum) { if (isRangeCurrentlySelected(dataIndex, spectrum)) { m_plotPresenter->setEndX(endX); @@ -292,7 +292,7 @@ void IndirectFitAnalysisTab::tableEndXChanged(double endX, } void IndirectFitAnalysisTab::tableExcludeChanged(const std::string & /*unused*/, - DatasetIndex dataIndex, + TableDatasetIndex dataIndex, WorkspaceIndex spectrum) { if (isRangeCurrentlySelected(dataIndex, spectrum)) m_spectrumPresenter->displayBinMask(); @@ -335,10 +335,10 @@ void IndirectFitAnalysisTab::updateSingleFitOutput(bool error) { SLOT(updateSingleFitOutput(bool))); if (error) { - m_fittingModel->cleanFailedSingleRun(m_fittingAlgorithm, DatasetIndex{0}); + m_fittingModel->cleanFailedSingleRun(m_fittingAlgorithm, TableDatasetIndex{0}); m_fittingAlgorithm.reset(); } else - m_fittingModel->addSingleFitOutput(m_fittingAlgorithm, DatasetIndex{0}); + m_fittingModel->addSingleFitOutput(m_fittingAlgorithm, TableDatasetIndex{0}); } /** @@ -379,7 +379,9 @@ void IndirectFitAnalysisTab::updateParameterValues( try { updateFitBrowserParameterValues(); } catch (const std::out_of_range &) { + g_log.warning("Warning issue updating parameter values in fit property browser"); } catch (const std::invalid_argument &) { + g_log.warning("Warning issue updating parameter values in fit property browser"); } } @@ -463,7 +465,7 @@ void IndirectFitAnalysisTab::singleFit() { singleFit(getSelectedDataIndex(), getSelectedSpectrum()); } -void IndirectFitAnalysisTab::singleFit(DatasetIndex dataIndex, +void IndirectFitAnalysisTab::singleFit(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) { if (validate()) { m_plotPresenter->setFitSingleSpectrumIsFitting(true); @@ -494,7 +496,7 @@ bool IndirectFitAnalysisTab::validate() { const auto invalidFunction = m_fittingModel->isInvalidFunction(); if (invalidFunction) validator.addErrorMessage(QString::fromStdString(*invalidFunction)); - if (m_fittingModel->numberOfWorkspaces() == DatasetIndex{0}) + if (m_fittingModel->numberOfWorkspaces() == TableDatasetIndex{0}) validator.addErrorMessage( QString::fromStdString("No data has been selected for a fit.")); @@ -630,12 +632,13 @@ void IndirectFitAnalysisTab::setupFit(IAlgorithm_sptr fitAlgorithm) { QStringList IndirectFitAnalysisTab::getDatasetNames() const { QStringList datasetNames; auto const numberWorkspaces = m_fittingModel->numberOfWorkspaces(); - for (DatasetIndex i{0}; i < numberWorkspaces; ++i) { + for (int i{0}; i < numberWorkspaces.value; ++i) { + TableDatasetIndex index{i}; auto const name = - QString::fromStdString(m_fittingModel->getWorkspace(i)->getName()); - auto const numberSpectra = m_fittingModel->getNumberOfSpectra(i); - for (SpectrumRowIndex j{0}; j < numberSpectra; ++j) { - datasetNames << name + " (" + QString::number(j.value) + ")"; + QString::fromStdString(m_fittingModel->getWorkspace(index)->getName()); + auto const numberSpectra = m_fittingModel->getNumberOfSpectra(index); + for (int j{0}; j < numberSpectra.value; ++j) { + datasetNames << name + " (" + QString::number(j) + ")"; } } return datasetNames; @@ -661,7 +664,7 @@ void IndirectFitAnalysisTab::updateResultOptions() { m_outOptionsPresenter->setSaveEnabled(isFit); } -void IndirectFitAnalysisTab::respondToChangeOfSpectraRange(DatasetIndex i) { +void IndirectFitAnalysisTab::respondToChangeOfSpectraRange(TableDatasetIndex i) { m_plotPresenter->updateSelectedDataName(); m_plotPresenter->updateAvailableSpectra(); m_dataPresenter->updateSpectraInTable(i); @@ -708,7 +711,7 @@ void IndirectFitAnalysisTab::respondToDataRemoved() { updateParameterEstimationData(); } -void IndirectFitAnalysisTab::respondToSelectedFitDataChanged(DatasetIndex i) { +void IndirectFitAnalysisTab::respondToSelectedFitDataChanged(TableDatasetIndex i) { m_spectrumPresenter->setActiveModelIndex(i); updateParameterValues(); } diff --git a/qt/scientific_interfaces/Indirect/IndirectFitAnalysisTab.h b/qt/scientific_interfaces/Indirect/IndirectFitAnalysisTab.h index 52b8e2305432c8c5577fde135d3129bee419f67f..1d517bf0a5343bda0db8fd53d192ea58978763e7 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitAnalysisTab.h +++ b/qt/scientific_interfaces/Indirect/IndirectFitAnalysisTab.h @@ -40,9 +40,9 @@ public: void setSpectrumSelectionView(IndirectSpectrumSelectionView *view); void setOutputOptionsView(IIndirectFitOutputOptionsView *view); void setFitPropertyBrowser(IndirectFitPropertyBrowser *browser); - DatasetIndex getSelectedDataIndex() const; + TableDatasetIndex getSelectedDataIndex() const; WorkspaceIndex getSelectedSpectrum() const; - bool isRangeCurrentlySelected(DatasetIndex dataIndex, + bool isRangeCurrentlySelected(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const; virtual std::string tabName() const = 0; @@ -85,11 +85,11 @@ protected slots: void setDataTableStartX(double startX); void setDataTableEndX(double endX); void setDataTableExclude(const std::string &exclude); - void tableStartXChanged(double startX, DatasetIndex dataIndex, + void tableStartXChanged(double startX, TableDatasetIndex dataIndex, WorkspaceIndex spectrum); - void tableEndXChanged(double endX, DatasetIndex dataIndex, + void tableEndXChanged(double endX, TableDatasetIndex dataIndex, WorkspaceIndex spectrum); - void tableExcludeChanged(const std::string &exclude, DatasetIndex dataIndex, + void tableExcludeChanged(const std::string &exclude, TableDatasetIndex dataIndex, WorkspaceIndex spectrum); void startXChanged(double startX); void endXChanged(double endX); @@ -97,7 +97,7 @@ protected slots: void updateSingleFitOutput(bool error); void fitAlgorithmComplete(bool error); void singleFit(); - void singleFit(DatasetIndex dataIndex, WorkspaceIndex spectrum); + void singleFit(TableDatasetIndex dataIndex, WorkspaceIndex spectrum); void executeFit(); void updateParameterValues(); void updateParameterValues( @@ -108,14 +108,14 @@ protected slots: private slots: void plotSelectedSpectra(); - void respondToChangeOfSpectraRange(DatasetIndex); + void respondToChangeOfSpectraRange(TableDatasetIndex); void respondToSingleResolutionLoaded(); void respondToDataChanged(); void respondToSingleDataViewSelected(); void respondToMultipleDataViewSelected(); void respondToDataAdded(); void respondToDataRemoved(); - void respondToSelectedFitDataChanged(DatasetIndex); + void respondToSelectedFitDataChanged(TableDatasetIndex); void respondToNoFitDataSelected(); void respondToPlotSpectrumChanged(WorkspaceIndex); void respondToFwhmChanged(double); @@ -123,7 +123,6 @@ private slots: void respondToFunctionChanged(); private: - /// Overidden by child class. void setup() override; void loadSettings(const QSettings &settings) override; bool validate() override; diff --git a/qt/scientific_interfaces/Indirect/IndirectFitData.cpp b/qt/scientific_interfaces/Indirect/IndirectFitData.cpp index 667762c3ffb6a18b930431d262a470939778d5a3..d343bd6bb778be4dd7acafd242ad297310ecf270 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitData.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectFitData.cpp @@ -18,7 +18,6 @@ using namespace Mantid::API; namespace { using namespace MantidQt::CustomInterfaces::IDA; using namespace Mantid::Kernel::Strings; -using WorkspaceIndexType = MantidQt::CustomInterfaces::IDA::WorkspaceIndex; std::string constructSpectraString(std::vector<int> const &spectras) { return joinCompress(spectras.begin(), spectras.end()); @@ -81,12 +80,6 @@ std::string join(const std::vector<T> &values, const char *delimiter) { return stream.str(); } -template <typename T, typename... Ts> -std::vector<T, Ts...> subvector(const std::vector<T, Ts...> vec, size_t start, - size_t end) { - return std::vector<T, Ts...>(vec.begin() + start, vec.begin() + end); -} - std::string cutLastOf(const std::string &str, const std::string &delimiter) { const auto cutIndex = str.rfind(delimiter); if (cutIndex != std::string::npos) @@ -162,12 +155,12 @@ namespace MantidQt { namespace CustomInterfaces { namespace IDA { -SpectraNew::SpectraNew(const std::string &str) +Spectra::Spectra(const std::string &str) : m_vec(workspaceIndexVectorFromString(str)), m_isContinuous(true) { checkContinuous(); } -SpectraNew::SpectraNew(WorkspaceIndex minimum, WorkspaceIndex maximum) { +Spectra::Spectra(WorkspaceIndex minimum, WorkspaceIndex maximum) { if (maximum < minimum) { std::swap(minimum, maximum); } @@ -175,32 +168,32 @@ SpectraNew::SpectraNew(WorkspaceIndex minimum, WorkspaceIndex maximum) { std::iota(m_vec.begin(), m_vec.end(), minimum); } -SpectraNew::SpectraNew(const SpectraNew &vec) +Spectra::Spectra(const Spectra &vec) : m_vec(vec.m_vec), m_isContinuous(vec.m_isContinuous) {} -SpectraNew::SpectraNew(SpectraNew &&vec) +Spectra::Spectra(Spectra &&vec) : m_vec(std::move(vec.m_vec)), m_isContinuous(std::move(vec.m_isContinuous)) {} -SpectraNew &SpectraNew::operator=(const SpectraNew &vec) { +Spectra &Spectra::operator=(const Spectra &vec) { m_vec = vec.m_vec; m_isContinuous = vec.m_isContinuous; return *this; } -SpectraNew &SpectraNew::operator=(SpectraNew &&vec) { +Spectra &Spectra::operator=(Spectra &&vec) { m_vec = std::move(vec.m_vec); m_isContinuous = std::move(vec.m_isContinuous); return *this; } -bool SpectraNew::empty() const { return m_vec.empty(); } +bool Spectra::empty() const { return m_vec.empty(); } -SpectrumRowIndex SpectraNew::size() const { - return SpectrumRowIndex{static_cast<int>(m_vec.size())}; +TableRowIndex Spectra::size() const { + return TableRowIndex{static_cast<int>(m_vec.size())}; } -std::string SpectraNew::getString() const { +std::string Spectra::getString() const { if (empty()) return ""; if (m_isContinuous) @@ -213,39 +206,39 @@ std::string SpectraNew::getString() const { return Mantid::Kernel::Strings::toString(out); } -std::pair<WorkspaceIndex, WorkspaceIndex> SpectraNew::getMinMax() const { +std::pair<WorkspaceIndex, WorkspaceIndex> Spectra::getMinMax() const { if (empty()) return std::make_pair(WorkspaceIndex{0}, WorkspaceIndex{0}); return std::make_pair(m_vec.front(), m_vec.back()); } -bool SpectraNew::operator==(SpectraNew const &spec) const { +bool Spectra::operator==(Spectra const &spec) const { return this->getString() == spec.getString(); } -bool SpectraNew::isContinuous() const { return m_isContinuous; } +bool Spectra::isContinuous() const { return m_isContinuous; } -SpectrumRowIndex SpectraNew::indexOf(WorkspaceIndex i) const { +TableRowIndex Spectra::indexOf(WorkspaceIndex i) const { auto const it = std::find(begin(), end(), i); if (it == end()) { throw std::runtime_error("Spectrum index " + std::to_string(i.value) + " not found."); } - return SpectrumRowIndex{static_cast<int>(std::distance(begin(), it))}; + return TableRowIndex{static_cast<int>(std::distance(begin(), it))}; } -SpectraNew SpectraNew::combine(const SpectraNew &other) const { +Spectra Spectra::combine(const Spectra &other) const { std::set<WorkspaceIndex> indices(begin(), end()); indices.insert(other.begin(), other.end()); - return SpectraNew(indices); + return Spectra(indices); } -SpectraNew::SpectraNew(const std::set<WorkspaceIndex> &indices) +Spectra::Spectra(const std::set<WorkspaceIndex> &indices) : m_vec(indices.begin(), indices.end()) { checkContinuous(); } -void SpectraNew::checkContinuous() { +void Spectra::checkContinuous() { m_isContinuous = true; if (m_vec.size() > 1) { for (size_t i = 1; i < m_vec.size(); ++i) { @@ -258,8 +251,8 @@ void SpectraNew::checkContinuous() { } IndirectFitData::IndirectFitData(MatrixWorkspace_sptr workspace, - const SpectraNew &spectra) - : m_workspace(workspace), m_spectra(SpectraNew("")) { + const Spectra &spectra) + : m_workspace(workspace), m_spectra(Spectra("")) { setSpectra(spectra); auto const range = !spectra.empty() ? getBinRange(workspace) : std::make_pair(0.0, 0.0); @@ -300,13 +293,13 @@ Mantid::API::MatrixWorkspace_sptr IndirectFitData::workspace() const { return m_workspace; } -const SpectraNew &IndirectFitData::spectra() const { return m_spectra; } +const Spectra &IndirectFitData::spectra() const { return m_spectra; } -WorkspaceIndex IndirectFitData::getSpectrum(SpectrumRowIndex index) const { +WorkspaceIndex IndirectFitData::getSpectrum(TableRowIndex index) const { return m_spectra[index]; } -SpectrumRowIndex IndirectFitData::numberOfSpectra() const { +TableRowIndex IndirectFitData::numberOfSpectra() const { return m_spectra.size(); } @@ -322,7 +315,7 @@ IndirectFitData::getRange(WorkspaceIndex spectrum) const { if (range != m_ranges.end()) { return range->second; } - range = m_ranges.find(getSpectrum(SpectrumRowIndex{0})); + range = m_ranges.find(getSpectrum(TableRowIndex{0})); if (range != m_ranges.end()) { return range->second; } @@ -343,25 +336,25 @@ IndirectFitData::excludeRegionsVector(WorkspaceIndex spectrum) const { void IndirectFitData::setSpectra(std::string const &spectra) { try { - const SpectraNew spec = SpectraNew(createSpectraString(spectra)); + const Spectra spec = Spectra(createSpectraString(spectra)); setSpectra(spec); } catch (std::exception &ex) { - throw std::runtime_error("SpectraNew too large for cast: " + + throw std::runtime_error("Spectra too large for cast: " + std::string(ex.what())); } } -void IndirectFitData::setSpectra(SpectraNew &&spectra) { +void IndirectFitData::setSpectra(Spectra &&spectra) { validateSpectra(spectra); m_spectra = std::move(spectra); } -void IndirectFitData::setSpectra(SpectraNew const &spectra) { +void IndirectFitData::setSpectra(Spectra const &spectra) { validateSpectra(spectra); m_spectra = spectra; } -void IndirectFitData::validateSpectra(SpectraNew const &spectra) { +void IndirectFitData::validateSpectra(Spectra const &spectra) { int maxValue = static_cast<int>(workspace()->getNumberHistograms()) - 1; std::vector<int> notInRange; for (auto const i : spectra) { @@ -370,9 +363,9 @@ void IndirectFitData::validateSpectra(SpectraNew const &spectra) { } if (!notInRange.empty()) { if (notInRange.size() > 5) - throw std::runtime_error("SpectraNew out of range: " + - join(subvector(notInRange, 0, 5), ",") + "..."); - throw std::runtime_error("SpectraNew out of range: " + + throw std::runtime_error("Spectra out of range: " + + join(std::vector<int>(notInRange.begin(), notInRange.begin()+ 5), ",") + "..."); + throw std::runtime_error("Spectra out of range: " + join(notInRange, ",")); } } diff --git a/qt/scientific_interfaces/Indirect/IndirectFitData.h b/qt/scientific_interfaces/Indirect/IndirectFitData.h index 96ba28a94c8df05f92d04efa86b7a13d5d4ce0ee..e6495a5a4f3ef12528a1f8f862a70cc021026e66 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitData.h +++ b/qt/scientific_interfaces/Indirect/IndirectFitData.h @@ -30,38 +30,36 @@ namespace IDA { * * Holds a string and vector representation. */ -class MANTIDQT_INDIRECT_DLL SpectraNew { +class MANTIDQT_INDIRECT_DLL Spectra { public: - explicit SpectraNew(const std::string &str); - SpectraNew(WorkspaceIndex minimum, WorkspaceIndex maximum); - SpectraNew(const SpectraNew &vec); - SpectraNew(SpectraNew &&vec); - SpectraNew &operator=(const SpectraNew &vec); - SpectraNew &operator=(SpectraNew &&vec); + explicit Spectra(const std::string &str); + Spectra(WorkspaceIndex minimum, WorkspaceIndex maximum); + Spectra(const Spectra &vec); + Spectra(Spectra &&vec); + Spectra &operator=(const Spectra &vec); + Spectra &operator=(Spectra &&vec); bool empty() const; - SpectrumRowIndex size() const; + TableRowIndex size() const; std::string getString() const; std::pair<WorkspaceIndex, WorkspaceIndex> getMinMax() const; WorkspaceIndex front() const { return m_vec.front(); } WorkspaceIndex back() const { return m_vec.back(); } - std::vector<WorkspaceIndex>::iterator begin() { return m_vec.begin(); } - std::vector<WorkspaceIndex>::iterator end() { return m_vec.end(); } std::vector<WorkspaceIndex>::const_iterator begin() const { - return m_vec.begin(); + return m_vec.cbegin(); } std::vector<WorkspaceIndex>::const_iterator end() const { - return m_vec.end(); + return m_vec.cend(); } - const WorkspaceIndex &operator[](SpectrumRowIndex index) const { + const WorkspaceIndex &operator[](TableRowIndex index) const { return m_vec[index.value]; } - bool operator==(SpectraNew const &spec) const; + bool operator==(Spectra const &spec) const; bool isContinuous() const; - SpectrumRowIndex indexOf(WorkspaceIndex i) const; - SpectraNew combine(const SpectraNew &other) const; + TableRowIndex indexOf(WorkspaceIndex i) const; + Spectra combine(const Spectra &other) const; private: - explicit SpectraNew(const std::set<WorkspaceIndex> &indices); + explicit Spectra(const std::set<WorkspaceIndex> &indices); void checkContinuous(); std::vector<WorkspaceIndex> m_vec; bool m_isContinuous; @@ -70,7 +68,7 @@ private: template <typename F> struct ApplySpectraNew { explicit ApplySpectraNew(F &&functor) : m_functor(std::forward<F>(functor)) {} - void operator()(const SpectraNew &spectra) const { + void operator()(const Spectra &spectra) const { for (const auto &spectrum : spectra) m_functor(spectrum); } @@ -84,7 +82,7 @@ template <typename F> struct ApplyEnumeratedSpectraNew { WorkspaceIndex start = WorkspaceIndex{0}) : m_start(start), m_functor(std::forward<F>(functor)) {} - WorkspaceIndex operator()(const SpectraNew &spectra) const { + WorkspaceIndex operator()(const Spectra &spectra) const { auto i = m_start; for (const auto &spectrum : spectra) m_functor(i++, spectrum); @@ -113,7 +111,7 @@ std::vector<T> vectorFromStringNew(const std::string &listString) { class MANTIDQT_INDIRECT_DLL IndirectFitData { public: IndirectFitData(Mantid::API::MatrixWorkspace_sptr workspace, - const SpectraNew &spectra); + const Spectra &spectra); std::string displayName(const std::string &formatString, const std::string &rangeDelimiter) const; @@ -122,9 +120,9 @@ public: std::string getBasename() const; Mantid::API::MatrixWorkspace_sptr workspace() const; - const SpectraNew &spectra() const; - WorkspaceIndex getSpectrum(SpectrumRowIndex index) const; - SpectrumRowIndex numberOfSpectra() const; + const Spectra &spectra() const; + WorkspaceIndex getSpectrum(TableRowIndex index) const; + TableRowIndex numberOfSpectra() const; bool zeroSpectra() const; std::pair<double, double> getRange(WorkspaceIndex spectrum) const; std::string getExcludeRegion(WorkspaceIndex spectrum) const; @@ -145,8 +143,8 @@ public: } void setSpectra(std::string const &spectra); - void setSpectra(SpectraNew &&spectra); - void setSpectra(SpectraNew const &spectra); + void setSpectra(Spectra &&spectra); + void setSpectra(Spectra const &spectra); void setStartX(double const &startX, WorkspaceIndex const &index); void setStartX(double const &startX); void setEndX(double const &endX, WorkspaceIndex const &spectrum); @@ -155,10 +153,10 @@ public: WorkspaceIndex const &spectrum); private: - void validateSpectra(SpectraNew const &spectra); + void validateSpectra(Spectra const &spectra); Mantid::API::MatrixWorkspace_sptr m_workspace; - SpectraNew m_spectra; + Spectra m_spectra; std::map<WorkspaceIndex, std::string> m_excludeRegions; std::map<WorkspaceIndex, std::pair<double, double>> m_ranges; }; diff --git a/qt/scientific_interfaces/Indirect/IndirectFitDataLegacy.cpp b/qt/scientific_interfaces/Indirect/IndirectFitDataLegacy.cpp index 5135fdd54d6f1769b55512d996392184d11a969e..045f3b221c222ce3481ef77782f3babfc32f2d51 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitDataLegacy.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectFitDataLegacy.cpp @@ -153,8 +153,8 @@ std::string createSpectraString(std::string string) { return constructSpectraString(spectras); } -struct CombineSpectra : boost::static_visitor<Spectra> { - Spectra +struct CombineSpectra : boost::static_visitor<SpectraLegacy> { + SpectraLegacy operator()(const std::pair<std::size_t, std::size_t> &spectra1, const std::pair<std::size_t, std::size_t> &spectra2) const { if (spectra1.second + 1 == spectra2.first) @@ -167,7 +167,7 @@ struct CombineSpectra : boost::static_visitor<Spectra> { } } - Spectra operator()(const Spectra &spectra1, const Spectra &spectra2) const { + SpectraLegacy operator()(const SpectraLegacy &spectra1, const SpectraLegacy &spectra2) const { return DiscontinuousSpectra<std::size_t>(createSpectraString( boost::apply_visitor(SpectraToString(), spectra1) + "," + boost::apply_visitor(SpectraToString(), spectra2))); @@ -273,7 +273,7 @@ namespace CustomInterfaces { namespace IDA { IndirectFitDataLegacy::IndirectFitDataLegacy(MatrixWorkspace_sptr workspace, - const Spectra &spectra) + const SpectraLegacy &spectra) : m_workspace(workspace), m_spectra(DiscontinuousSpectra<std::size_t>("")) { setSpectra(spectra); } @@ -312,7 +312,7 @@ Mantid::API::MatrixWorkspace_sptr IndirectFitDataLegacy::workspace() const { return m_workspace; } -const Spectra &IndirectFitDataLegacy::spectra() const { return m_spectra; } +const SpectraLegacy &IndirectFitDataLegacy::spectra() const { return m_spectra; } std::size_t IndirectFitDataLegacy::getSpectrum(std::size_t index) const { return boost::apply_visitor(GetSpectrum(index), m_spectra); @@ -351,7 +351,7 @@ IndirectFitDataLegacy::excludeRegionsVector(std::size_t spectrum) const { void IndirectFitDataLegacy::setSpectra(std::string const &spectra) { try { - const Spectra spec = + const SpectraLegacy spec = DiscontinuousSpectra<std::size_t>(createSpectraString(spectra)); setSpectra(spec); } catch (std::exception &ex) { @@ -360,25 +360,25 @@ void IndirectFitDataLegacy::setSpectra(std::string const &spectra) { } } -void IndirectFitDataLegacy::setSpectra(Spectra &&spectra) { +void IndirectFitDataLegacy::setSpectra(SpectraLegacy &&spectra) { validateSpectra(spectra); m_spectra = std::move(spectra); } -void IndirectFitDataLegacy::setSpectra(Spectra const &spectra) { +void IndirectFitDataLegacy::setSpectra(SpectraLegacy const &spectra) { validateSpectra(spectra); m_spectra = spectra; } -void IndirectFitDataLegacy::validateSpectra(Spectra const &spectra) { +void IndirectFitDataLegacy::validateSpectra(SpectraLegacy const &spectra) { const auto visitor = SpectraOutOfRange<std::size_t>(0, workspace()->getNumberHistograms() - 1); auto notInRange = boost::apply_visitor(visitor, spectra); if (!notInRange.empty()) { if (notInRange.size() > 5) - throw std::runtime_error("Spectra out of range: " + + throw std::runtime_error("SpectraLegacy out of range: " + join(subvector(notInRange, 0, 5), ",") + "..."); - throw std::runtime_error("Spectra out of range: " + join(notInRange, ",")); + throw std::runtime_error("SpectraLegacy out of range: " + join(notInRange, ",")); } } diff --git a/qt/scientific_interfaces/Indirect/IndirectFitDataLegacy.h b/qt/scientific_interfaces/Indirect/IndirectFitDataLegacy.h index c09ed1add3f5e612967a1e64cad46ddee9f5f93d..5f6640554150edfb30496d212e1f0ddd3ef809cd 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitDataLegacy.h +++ b/qt/scientific_interfaces/Indirect/IndirectFitDataLegacy.h @@ -90,7 +90,7 @@ private: * A variant is used, such that faster operations can be employed when using * a continuous range. */ -using Spectra = boost::variant<DiscontinuousSpectra<std::size_t>, +using SpectraLegacy = boost::variant<DiscontinuousSpectra<std::size_t>, std::pair<std::size_t, std::size_t>>; template <typename F> struct ApplySpectra : boost::static_visitor<> { @@ -144,7 +144,7 @@ private: class MANTIDQT_INDIRECT_DLL IndirectFitDataLegacy { public: IndirectFitDataLegacy(Mantid::API::MatrixWorkspace_sptr workspace, - const Spectra &spectra); + const SpectraLegacy &spectra); std::string displayName(const std::string &formatString, const std::string &rangeDelimiter) const; @@ -153,7 +153,7 @@ public: std::string getBasename() const; Mantid::API::MatrixWorkspace_sptr workspace() const; - const Spectra &spectra() const; + const SpectraLegacy &spectra() const; std::size_t getSpectrum(std::size_t index) const; std::size_t numberOfSpectra() const; bool zeroSpectra() const; @@ -174,18 +174,18 @@ public: } void setSpectra(std::string const &spectra); - void setSpectra(Spectra &&spectra); - void setSpectra(Spectra const &spectra); + void setSpectra(SpectraLegacy &&spectra); + void setSpectra(SpectraLegacy const &spectra); void setStartX(double const &startX, std::size_t const &index); void setEndX(double const &endX, std::size_t const &spectrum); void setExcludeRegionString(std::string const &excludeRegion, std::size_t const &spectrum); private: - void validateSpectra(Spectra const &spectra); + void validateSpectra(SpectraLegacy const &spectra); Mantid::API::MatrixWorkspace_sptr m_workspace; - Spectra m_spectra; + SpectraLegacy m_spectra; std::unordered_map<std::size_t, std::string> m_excludeRegions; std::unordered_map<std::size_t, std::pair<double, double>> m_ranges; }; diff --git a/qt/scientific_interfaces/Indirect/IndirectFitDataPresenter.cpp b/qt/scientific_interfaces/Indirect/IndirectFitDataPresenter.cpp index a0d5c80f7a96d5a48edaa56c8efdb50edec94f1d..6351b74304c2d4a94878d91c4b7b708d51fcb683 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitDataPresenter.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectFitDataPresenter.cpp @@ -53,16 +53,16 @@ IndirectFitDataPresenter::IndirectFitDataPresenter( SIGNAL(endXChanged(double))); connect(m_tablePresenter.get(), - SIGNAL(startXChanged(double, DatasetIndex, WorkspaceIndex)), this, - SIGNAL(startXChanged(double, DatasetIndex, WorkspaceIndex))); + SIGNAL(startXChanged(double, TableDatasetIndex, WorkspaceIndex)), this, + SIGNAL(startXChanged(double, TableDatasetIndex, WorkspaceIndex))); connect(m_tablePresenter.get(), - SIGNAL(endXChanged(double, DatasetIndex, WorkspaceIndex)), this, - SIGNAL(endXChanged(double, DatasetIndex, WorkspaceIndex))); + SIGNAL(endXChanged(double, TableDatasetIndex, WorkspaceIndex)), this, + SIGNAL(endXChanged(double, TableDatasetIndex, WorkspaceIndex))); connect(m_tablePresenter.get(), - SIGNAL(excludeRegionChanged(const std::string &, DatasetIndex, + SIGNAL(excludeRegionChanged(const std::string &, TableDatasetIndex, WorkspaceIndex)), this, - SIGNAL(excludeRegionChanged(const std::string &, DatasetIndex, + SIGNAL(excludeRegionChanged(const std::string &, TableDatasetIndex, WorkspaceIndex))); } @@ -121,31 +121,31 @@ void IndirectFitDataPresenter::setMultiInputResolutionWSSuffixes( IAddWorkspaceDialog *dialog) { UNUSED_ARG(dialog); } -void IndirectFitDataPresenter::setStartX(double startX, DatasetIndex dataIndex, +void IndirectFitDataPresenter::setStartX(double startX, TableDatasetIndex dataIndex, WorkspaceIndex spectrumIndex) { m_tablePresenter->setStartX(startX, dataIndex, spectrumIndex); m_view->setStartX(startX); } void IndirectFitDataPresenter::setStartX(double startX, - DatasetIndex dataIndex) { + TableDatasetIndex dataIndex) { m_tablePresenter->setStartX(startX, dataIndex); m_view->setStartX(startX); } -void IndirectFitDataPresenter::setEndX(double endX, DatasetIndex dataIndex, +void IndirectFitDataPresenter::setEndX(double endX, TableDatasetIndex dataIndex, WorkspaceIndex spectrumIndex) { m_tablePresenter->setEndX(endX, dataIndex, spectrumIndex); m_view->setEndX(endX); } -void IndirectFitDataPresenter::setEndX(double endX, DatasetIndex dataIndex) { +void IndirectFitDataPresenter::setEndX(double endX, TableDatasetIndex dataIndex) { m_tablePresenter->setEndX(endX, dataIndex); m_view->setEndX(endX); } void IndirectFitDataPresenter::setExclude(const std::string &exclude, - DatasetIndex dataIndex, + TableDatasetIndex dataIndex, WorkspaceIndex spectrumIndex) { m_tablePresenter->setExclude(exclude, dataIndex, spectrumIndex); } @@ -162,12 +162,12 @@ void IndirectFitDataPresenter::setModelFromMultipleData() { emit dataChanged(); } -void IndirectFitDataPresenter::updateSpectraInTable(DatasetIndex dataIndex) { +void IndirectFitDataPresenter::updateSpectraInTable(TableDatasetIndex dataIndex) { if (m_view->isMultipleDataTabSelected()) m_tablePresenter->updateData(dataIndex); } -void IndirectFitDataPresenter::updateDataInTable(DatasetIndex dataIndex) { +void IndirectFitDataPresenter::updateDataInTable(TableDatasetIndex dataIndex) { if (m_tablePresenter->isTableEmpty()) m_tablePresenter->addData(dataIndex); else @@ -222,8 +222,6 @@ void IndirectFitDataPresenter::showAddWorkspaceDialog() { m_addWorkspaceDialog->setWSSuffices(m_view->getSampleWSSuffices()); m_addWorkspaceDialog->setFBSuffices(m_view->getSampleFBSuffices()); m_addWorkspaceDialog->updateSelectedSpectra(); - // setMultiInputSampleWSSuffixes(); - // setMultiInputSampleFBSuffixes(); m_addWorkspaceDialog->show(); connect(m_addWorkspaceDialog.get(), SIGNAL(addData()), this, SLOT(addData())); connect(m_addWorkspaceDialog.get(), SIGNAL(closeDialog()), this, @@ -250,7 +248,7 @@ void IndirectFitDataPresenter::closeDialog() { void IndirectFitDataPresenter::addData(IAddWorkspaceDialog const *dialog) { try { addDataToModel(dialog); - m_tablePresenter->addData(m_model->numberOfWorkspaces() - DatasetIndex{1}); + m_tablePresenter->addData(m_model->numberOfWorkspaces() - TableDatasetIndex{1}); emit dataAdded(); emit dataChanged(); } catch (const std::runtime_error &ex) { @@ -269,7 +267,7 @@ void IndirectFitDataPresenter::addDataToModel( void IndirectFitDataPresenter::setSingleModelData(const std::string &name) { m_model->clearWorkspaces(); addModelData(name); - auto const dataIndex = DatasetIndex{0}; + auto const dataIndex = TableDatasetIndex{0}; auto const spectra = m_model->getSpectra(dataIndex); if (!spectra.empty()) { auto const range = m_model->getFittingRange(dataIndex, spectra.front()); diff --git a/qt/scientific_interfaces/Indirect/IndirectFitDataPresenter.h b/qt/scientific_interfaces/Indirect/IndirectFitDataPresenter.h index 8b74c4d1fc4d2999c72b463613a7c93d2de43299..69d000216a0fa433a3cb135b6edef14fa428f05a 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitDataPresenter.h +++ b/qt/scientific_interfaces/Indirect/IndirectFitDataPresenter.h @@ -44,13 +44,13 @@ public: void setMultiInputResolutionWSSuffixes(); void setMultiInputResolutionFBSuffixes(); - void setStartX(double startX, DatasetIndex dataIndex, + void setStartX(double startX, TableDatasetIndex dataIndex, WorkspaceIndex spectrumIndex); - void setStartX(double startX, DatasetIndex dataIndex); - void setEndX(double endX, DatasetIndex dataIndex, + void setStartX(double startX, TableDatasetIndex dataIndex); + void setEndX(double endX, TableDatasetIndex dataIndex, WorkspaceIndex spectrumIndex); - void setEndX(double endX, DatasetIndex dataIndex); - void setExclude(const std::string &exclude, DatasetIndex dataIndex, + void setEndX(double endX, TableDatasetIndex dataIndex); + void setExclude(const std::string &exclude, TableDatasetIndex dataIndex, WorkspaceIndex spectrumIndex); void loadSettings(const QSettings &settings); @@ -62,7 +62,7 @@ public: getDataForParameterEstimation(EstimationDataSelector selector) const; public slots: - void updateSpectraInTable(DatasetIndex dataIndex); + void updateSpectraInTable(TableDatasetIndex dataIndex); protected slots: void setModelWorkspace(const QString &name); @@ -77,11 +77,11 @@ signals: void dataAdded(); void dataRemoved(); void dataChanged(); - void startXChanged(double, DatasetIndex, WorkspaceIndex); + void startXChanged(double, TableDatasetIndex, WorkspaceIndex); void startXChanged(double); - void endXChanged(double, DatasetIndex, WorkspaceIndex); + void endXChanged(double, TableDatasetIndex, WorkspaceIndex); void endXChanged(double); - void excludeRegionChanged(const std::string &, DatasetIndex, WorkspaceIndex); + void excludeRegionChanged(const std::string &, TableDatasetIndex, WorkspaceIndex); void multipleDataViewSelected(); void singleDataViewSelected(); void requestedAddWorkspaceDialog(); @@ -102,7 +102,7 @@ private slots: private: virtual std::unique_ptr<IAddWorkspaceDialog> getAddWorkspaceDialog(QWidget *parent) const; - void updateDataInTable(DatasetIndex dataIndex); + void updateDataInTable(TableDatasetIndex dataIndex); void selectReplacedWorkspace(const QString &workspaceName); virtual void setMultiInputResolutionFBSuffixes(IAddWorkspaceDialog *dialog); diff --git a/qt/scientific_interfaces/Indirect/IndirectFitOutput.cpp b/qt/scientific_interfaces/Indirect/IndirectFitOutput.cpp index c13f7d999b2870bf46a26db9c389322d7d33daa0..2f84aac7f2106d4535ea8ab9ae6583515dfcd810 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitOutput.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectFitOutput.cpp @@ -226,9 +226,9 @@ typename Map::mapped_type &findOrCreateDefaultInMap(Map &map, const Key &key) { return map[key] = typename Map::mapped_type(); } -SpectrumRowIndex numberOfSpectraIn(const FitDataIteratorNew &fitDataBegin, +TableRowIndex numberOfSpectraIn(const FitDataIteratorNew &fitDataBegin, const FitDataIteratorNew &fitDataEnd) { - SpectrumRowIndex spectra{0}; + TableRowIndex spectra{0}; for (auto it = fitDataBegin; it < fitDataEnd; ++it) spectra += (*it)->numberOfSpectra(); return spectra; @@ -344,7 +344,7 @@ void IndirectFitOutput::addOutput(WorkspaceGroup_sptr resultGroup, TableRowExtractor extractRowFromTable(parameterTable); m_parameters[fitData][spectrum] = extractRowFromTable(WorkspaceIndex{0}); m_outputResultLocations[fitData][spectrum] = - ResultLocationNew(resultGroup, GroupIndex{0}); + ResultLocationNew(resultGroup, WorkspaceGroupIndex{0}); renameResult(resultWorkspace, fitData); m_resultWorkspace = resultWorkspace; m_resultGroup = resultGroup; @@ -375,9 +375,9 @@ void IndirectFitOutput::updateParameters(ITableWorkspace_sptr parameterTable, void IndirectFitOutput::updateFitResultsFromUnstructured( WorkspaceGroup_sptr resultGroup, const FitDataIteratorNew &fitDataBegin, const FitDataIteratorNew &fitDataEnd) { - std::unordered_map<MatrixWorkspace *, std::map<WorkspaceIndex, GroupIndex>> + std::unordered_map<MatrixWorkspace *, std::map<WorkspaceIndex, WorkspaceGroupIndex>> resultIndices; - GroupIndex index{0}; + WorkspaceGroupIndex index{0}; for (auto fitData = fitDataBegin; fitData < fitDataEnd; ++fitData) { auto &fitResults = m_outputResultLocations[fitData->get()]; auto ws = (*fitData)->workspace().get(); @@ -399,7 +399,7 @@ void IndirectFitOutput::updateFitResultsFromUnstructured( void IndirectFitOutput::updateFitResultsFromStructured( WorkspaceGroup_sptr resultGroup, const FitDataIteratorNew &fitDataBegin, const FitDataIteratorNew &fitDataEnd) { - GroupIndex index; + WorkspaceGroupIndex index; for (auto fitData = fitDataBegin; fitData < fitDataEnd; ++fitData) { auto &fitResults = m_outputResultLocations[fitData->get()]; for (const auto &spectrum : (**fitData).spectra()) { diff --git a/qt/scientific_interfaces/Indirect/IndirectFitOutput.h b/qt/scientific_interfaces/Indirect/IndirectFitOutput.h index 1668deae746649bfe4dad09e5c9ce1f375a11452..cd8a2c87c61dcfd2a7a1e5ca177dd939522b0594 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitOutput.h +++ b/qt/scientific_interfaces/Indirect/IndirectFitOutput.h @@ -31,10 +31,10 @@ struct ParameterValueNew { struct ResultLocationNew { ResultLocationNew() = default; - ResultLocationNew(Mantid::API::WorkspaceGroup_sptr group, GroupIndex i) + ResultLocationNew(Mantid::API::WorkspaceGroup_sptr group, WorkspaceGroupIndex i) : result(group), index(i) {} boost::weak_ptr<Mantid::API::WorkspaceGroup> result; - GroupIndex index = GroupIndex{0}; + WorkspaceGroupIndex index = WorkspaceGroupIndex{0}; }; using ParameterValuesNew = diff --git a/qt/scientific_interfaces/Indirect/IndirectFitPlotModel.cpp b/qt/scientific_interfaces/Indirect/IndirectFitPlotModel.cpp index df37ff7faf1a105859fac6f51348b6dbdf9c71a7..b0cb27dc1c6154ac4054e1e7589af3cf409f16f3 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitPlotModel.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectFitPlotModel.cpp @@ -128,7 +128,7 @@ IndirectFitPlotModel::~IndirectFitPlotModel() { deleteExternalGuessWorkspace(); } -void IndirectFitPlotModel::setActiveIndex(DatasetIndex index) { +void IndirectFitPlotModel::setActiveIndex(TableDatasetIndex index) { m_activeIndex = index; } @@ -166,7 +166,7 @@ MatrixWorkspace_sptr IndirectFitPlotModel::getWorkspace() const { return m_fittingModel->getWorkspace(m_activeIndex); } -SpectraNew IndirectFitPlotModel::getSpectra() const { +Spectra IndirectFitPlotModel::getSpectra() const { return m_fittingModel->getSpectra(m_activeIndex); } @@ -184,7 +184,7 @@ std::pair<double, double> IndirectFitPlotModel::getResultRange() const { return {xValues.front(), xValues.back()}; } -DatasetIndex IndirectFitPlotModel::getActiveDataIndex() const { +TableDatasetIndex IndirectFitPlotModel::getActiveDataIndex() const { return m_activeIndex; } @@ -192,15 +192,15 @@ WorkspaceIndex IndirectFitPlotModel::getActiveSpectrum() const { return m_activeSpectrum; } -DatasetIndex IndirectFitPlotModel::numberOfWorkspaces() const { +TableDatasetIndex IndirectFitPlotModel::numberOfWorkspaces() const { return m_fittingModel->numberOfWorkspaces(); } -SpectrumRowIndex IndirectFitPlotModel::getActiveDomainIndex() const { - SpectrumRowIndex index{0}; - for (DatasetIndex iws{0}; iws < numberOfWorkspaces(); ++iws) { +TableRowIndex IndirectFitPlotModel::getActiveDomainIndex() const { + TableRowIndex index{0}; + for (TableDatasetIndex iws{0}; iws < numberOfWorkspaces(); ++iws) { if (iws < m_activeIndex) { - index += SpectrumRowIndex{m_fittingModel->getNumberOfSpectra(iws)}; + index += TableRowIndex{m_fittingModel->getNumberOfSpectra(iws)}; } else { auto const spectra = m_fittingModel->getSpectra(iws); try { @@ -215,7 +215,7 @@ SpectrumRowIndex IndirectFitPlotModel::getActiveDomainIndex() const { return index; } -std::string IndirectFitPlotModel::getFitDataName(DatasetIndex index) const { +std::string IndirectFitPlotModel::getFitDataName(TableDatasetIndex index) const { if (m_fittingModel->getWorkspace(index)) return m_fittingModel->createDisplayName("%1% (%2%)", "-", index); return ""; @@ -228,7 +228,7 @@ std::string IndirectFitPlotModel::getFitDataName() const { std::string IndirectFitPlotModel::getLastFitDataName() const { auto const workspaceCount = m_fittingModel->numberOfWorkspaces(); if (workspaceCount.value > 0) - return getFitDataName(workspaceCount - DatasetIndex{1}); + return getFitDataName(workspaceCount - TableDatasetIndex{1}); return ""; } diff --git a/qt/scientific_interfaces/Indirect/IndirectFitPlotModel.h b/qt/scientific_interfaces/Indirect/IndirectFitPlotModel.h index 78321be7bb5f3a0c8e7028684c07a218a692e2a7..336b09537e245524dfc0ac76925d9ea7aab57245 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitPlotModel.h +++ b/qt/scientific_interfaces/Indirect/IndirectFitPlotModel.h @@ -29,16 +29,16 @@ public: Mantid::API::MatrixWorkspace_sptr getWorkspace() const; Mantid::API::MatrixWorkspace_sptr getResultWorkspace() const; Mantid::API::MatrixWorkspace_sptr getGuessWorkspace() const; - SpectraNew getSpectra() const; + Spectra getSpectra() const; Mantid::API::MatrixWorkspace_sptr appendGuessToInput(Mantid::API::MatrixWorkspace_sptr guessWorkspace) const; - DatasetIndex getActiveDataIndex() const; + TableDatasetIndex getActiveDataIndex() const; WorkspaceIndex getActiveSpectrum() const; - DatasetIndex numberOfWorkspaces() const; - SpectrumRowIndex getActiveDomainIndex() const; - std::string getFitDataName(DatasetIndex index) const; + TableDatasetIndex numberOfWorkspaces() const; + TableRowIndex getActiveDomainIndex() const; + std::string getFitDataName(TableDatasetIndex index) const; std::string getFitDataName() const; std::string getLastFitDataName() const; std::pair<double, double> getRange() const; @@ -51,7 +51,7 @@ public: double calculateHWHMMinimum(double maximum) const; bool canCalculateGuess() const; - void setActiveIndex(DatasetIndex index); + void setActiveIndex(TableDatasetIndex index); void setActiveSpectrum(WorkspaceIndex spectrum); void setStartX(double startX); void setEndX(double endX); @@ -94,7 +94,7 @@ private: void deleteWorkspace(const std::string &name) const; IndirectFittingModel *m_fittingModel; - DatasetIndex m_activeIndex; + TableDatasetIndex m_activeIndex; WorkspaceIndex m_activeSpectrum; }; diff --git a/qt/scientific_interfaces/Indirect/IndirectFitPlotModelLegacy.cpp b/qt/scientific_interfaces/Indirect/IndirectFitPlotModelLegacy.cpp index fcc113e5f0d019256624e70d5ee8645b817ddb11..62d6b175a05c825cdcedd829e8edfe344f8a6d87 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitPlotModelLegacy.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectFitPlotModelLegacy.cpp @@ -159,7 +159,7 @@ MatrixWorkspace_sptr IndirectFitPlotModelLegacy::getWorkspace() const { return m_fittingModel->getWorkspace(m_activeIndex); } -Spectra IndirectFitPlotModelLegacy::getSpectra() const { +SpectraLegacy IndirectFitPlotModelLegacy::getSpectra() const { return m_fittingModel->getSpectra(m_activeIndex); } diff --git a/qt/scientific_interfaces/Indirect/IndirectFitPlotModelLegacy.h b/qt/scientific_interfaces/Indirect/IndirectFitPlotModelLegacy.h index d275f509cc605a03f052c35e1d72cac56611a66b..3446f85031eefff43f98905d60e9dba44f28356e 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitPlotModelLegacy.h +++ b/qt/scientific_interfaces/Indirect/IndirectFitPlotModelLegacy.h @@ -28,7 +28,7 @@ public: Mantid::API::MatrixWorkspace_sptr getWorkspace() const; Mantid::API::MatrixWorkspace_sptr getResultWorkspace() const; Mantid::API::MatrixWorkspace_sptr getGuessWorkspace() const; - Spectra getSpectra() const; + SpectraLegacy getSpectra() const; Mantid::API::MatrixWorkspace_sptr appendGuessToInput(Mantid::API::MatrixWorkspace_sptr guessWorkspace) const; diff --git a/qt/scientific_interfaces/Indirect/IndirectFitPlotPresenter.cpp b/qt/scientific_interfaces/Indirect/IndirectFitPlotPresenter.cpp index 120e458e07885ba11aa7a20c96eccf7fbf0cd897..b6ba8ebe27ae1e1bcdbdfb1ed733b843a38b51fb 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitPlotPresenter.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectFitPlotPresenter.cpp @@ -10,14 +10,14 @@ namespace { using MantidQt::CustomInterfaces::IDA::IIndirectFitPlotView; -using MantidQt::CustomInterfaces::IDA::SpectraNew; +using MantidQt::CustomInterfaces::IDA::Spectra; using MantidQt::CustomInterfaces::IDA::WorkspaceIndex; struct UpdateAvailableSpectra : public boost::static_visitor<> { public: explicit UpdateAvailableSpectra(IIndirectFitPlotView *view) : m_view(view) {} - void operator()(const SpectraNew &spectra) { + void operator()(const Spectra &spectra) { if (spectra.isContinuous()) { auto const minmax = spectra.getMinMax(); m_view->setAvailableSpectra(minmax.first, minmax.second); @@ -43,18 +43,18 @@ IndirectFitPlotPresenter::IndirectFitPlotPresenter(IndirectFittingModel *model, : m_model(new IndirectFitPlotModel(model)), m_view(view), m_plotGuessInSeparateWindow(false), m_plotter(std::make_unique<IndirectPlotter>(pythonRunner)) { - connect(m_view, SIGNAL(selectedFitDataChanged(DatasetIndex)), this, - SLOT(setActiveIndex(DatasetIndex))); - connect(m_view, SIGNAL(selectedFitDataChanged(DatasetIndex)), this, + connect(m_view, SIGNAL(selectedFitDataChanged(TableDatasetIndex)), this, + SLOT(setActiveIndex(TableDatasetIndex))); + connect(m_view, SIGNAL(selectedFitDataChanged(TableDatasetIndex)), this, SLOT(updateAvailableSpectra())); - connect(m_view, SIGNAL(selectedFitDataChanged(DatasetIndex)), this, + connect(m_view, SIGNAL(selectedFitDataChanged(TableDatasetIndex)), this, SLOT(updatePlots())); - connect(m_view, SIGNAL(selectedFitDataChanged(DatasetIndex)), this, + connect(m_view, SIGNAL(selectedFitDataChanged(TableDatasetIndex)), this, SLOT(updateFitRangeSelector())); - connect(m_view, SIGNAL(selectedFitDataChanged(DatasetIndex)), this, + connect(m_view, SIGNAL(selectedFitDataChanged(TableDatasetIndex)), this, SLOT(updateGuess())); - connect(m_view, SIGNAL(selectedFitDataChanged(DatasetIndex)), this, - SIGNAL(selectedFitDataChanged(DatasetIndex))); + connect(m_view, SIGNAL(selectedFitDataChanged(TableDatasetIndex)), this, + SIGNAL(selectedFitDataChanged(TableDatasetIndex))); connect(m_view, SIGNAL(plotSpectrumChanged(WorkspaceIndex)), this, SLOT(setActiveSpectrum(WorkspaceIndex))); @@ -102,7 +102,7 @@ IndirectFitPlotPresenter::IndirectFitPlotPresenter(IndirectFittingModel *model, updateAvailableSpectra(); } -DatasetIndex IndirectFitPlotPresenter::getSelectedDataIndex() const { +TableDatasetIndex IndirectFitPlotPresenter::getSelectedDataIndex() const { return m_model->getActiveDataIndex(); } @@ -110,21 +110,21 @@ WorkspaceIndex IndirectFitPlotPresenter::getSelectedSpectrum() const { return m_model->getActiveSpectrum(); } -SpectrumRowIndex IndirectFitPlotPresenter::getSelectedSpectrumIndex() const { +TableRowIndex IndirectFitPlotPresenter::getSelectedSpectrumIndex() const { return m_view->getSelectedSpectrumIndex(); } -SpectrumRowIndex IndirectFitPlotPresenter::getSelectedDomainIndex() const { +TableRowIndex IndirectFitPlotPresenter::getSelectedDomainIndex() const { return m_model->getActiveDomainIndex(); } bool IndirectFitPlotPresenter::isCurrentlySelected( - DatasetIndex dataIndex, WorkspaceIndex spectrum) const { + TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const { return getSelectedDataIndex() == dataIndex && getSelectedSpectrum() == spectrum; } -void IndirectFitPlotPresenter::setActiveIndex(DatasetIndex index) { +void IndirectFitPlotPresenter::setActiveIndex(TableDatasetIndex index) { m_model->setActiveIndex(index); } @@ -200,7 +200,7 @@ void IndirectFitPlotPresenter::appendLastDataToSelection() { const auto workspaceCount = m_model->numberOfWorkspaces(); if (m_view->dataSelectionSize() == workspaceCount) m_view->setNameInDataSelection(m_model->getLastFitDataName(), - workspaceCount - DatasetIndex{1}); + workspaceCount - TableDatasetIndex{1}); else m_view->appendToDataSelection(m_model->getLastFitDataName()); } @@ -213,9 +213,9 @@ void IndirectFitPlotPresenter::updateSelectedDataName() { void IndirectFitPlotPresenter::updateDataSelection() { MantidQt::API::SignalBlocker blocker(m_view); m_view->clearDataSelection(); - for (DatasetIndex i{0}; i < m_model->numberOfWorkspaces(); ++i) + for (TableDatasetIndex i{0}; i < m_model->numberOfWorkspaces(); ++i) m_view->appendToDataSelection(m_model->getFitDataName(i)); - setActiveIndex(DatasetIndex{0}); + setActiveIndex(TableDatasetIndex{0}); updateAvailableSpectra(); emitSelectedFitDataChanged(); } diff --git a/qt/scientific_interfaces/Indirect/IndirectFitPlotPresenter.h b/qt/scientific_interfaces/Indirect/IndirectFitPlotPresenter.h index 44ad7c9fa1c69313709ae2e0120c19eb4b931cd1..3d8629af9bcad97064ede89960b2aaf928856f9a 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitPlotPresenter.h +++ b/qt/scientific_interfaces/Indirect/IndirectFitPlotPresenter.h @@ -27,11 +27,11 @@ public: IIndirectFitPlotView *view, IPyRunner *pythonRunner = nullptr); - DatasetIndex getSelectedDataIndex() const; + TableDatasetIndex getSelectedDataIndex() const; WorkspaceIndex getSelectedSpectrum() const; - SpectrumRowIndex getSelectedSpectrumIndex() const; - SpectrumRowIndex getSelectedDomainIndex() const; - bool isCurrentlySelected(DatasetIndex dataIndex, + TableRowIndex getSelectedSpectrumIndex() const; + TableRowIndex getSelectedDomainIndex() const; + bool isCurrentlySelected(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const; void setFitSingleSpectrumIsFitting(bool fitting); @@ -55,10 +55,10 @@ public slots: void disablePlotGuessInSeparateWindow(); signals: - void selectedFitDataChanged(DatasetIndex /*_t1*/); + void selectedFitDataChanged(TableDatasetIndex /*_t1*/); void noFitDataSelected(); void plotSpectrumChanged(WorkspaceIndex /*_t1*/); - void fitSingleSpectrum(DatasetIndex /*_t1*/, WorkspaceIndex /*_t2*/); + void fitSingleSpectrum(TableDatasetIndex /*_t1*/, WorkspaceIndex /*_t2*/); void startXChanged(double /*_t1*/); void endXChanged(double /*_t1*/); void fwhmChanged(double /*_t1*/); @@ -70,7 +70,7 @@ private slots: void setModelEndX(double value); void setModelHWHM(double minimum, double maximum); void setModelBackground(double background); - void setActiveIndex(DatasetIndex index); + void setActiveIndex(TableDatasetIndex index); void setActiveSpectrum(WorkspaceIndex spectrum); void setHWHMMaximum(double minimum); void setHWHMMinimum(double maximum); diff --git a/qt/scientific_interfaces/Indirect/IndirectFitPlotView.cpp b/qt/scientific_interfaces/Indirect/IndirectFitPlotView.cpp index 181e7096a9f9665318c8352b7a2adc207d9ba498..c97136235ccf66a59377235b468a174e9e8d93b5 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitPlotView.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectFitPlotView.cpp @@ -54,19 +54,19 @@ WorkspaceIndex IndirectFitPlotView::getSelectedSpectrum() const { return WorkspaceIndex{0}; } -SpectrumRowIndex IndirectFitPlotView::getSelectedSpectrumIndex() const { +TableRowIndex IndirectFitPlotView::getSelectedSpectrumIndex() const { if (m_plotForm->swPlotSpectrum->currentIndex() == 0) - return SpectrumRowIndex{m_plotForm->spPlotSpectrum->value() - + return TableRowIndex{m_plotForm->spPlotSpectrum->value() - m_plotForm->spPlotSpectrum->minimum()}; - return SpectrumRowIndex{m_plotForm->cbPlotSpectrum->currentIndex()}; + return TableRowIndex{m_plotForm->cbPlotSpectrum->currentIndex()}; } -DatasetIndex IndirectFitPlotView::getSelectedDataIndex() const { - return DatasetIndex{m_plotForm->cbDataSelection->currentIndex()}; +TableDatasetIndex IndirectFitPlotView::getSelectedDataIndex() const { + return TableDatasetIndex{m_plotForm->cbDataSelection->currentIndex()}; } -DatasetIndex IndirectFitPlotView::dataSelectionSize() const { - return DatasetIndex{m_plotForm->cbDataSelection->count()}; +TableDatasetIndex IndirectFitPlotView::dataSelectionSize() const { + return TableDatasetIndex{m_plotForm->cbDataSelection->count()}; } bool IndirectFitPlotView::isPlotGuessChecked() const { @@ -143,7 +143,7 @@ void IndirectFitPlotView::appendToDataSelection(const std::string &dataName) { } void IndirectFitPlotView::setNameInDataSelection(const std::string &dataName, - DatasetIndex index) { + TableDatasetIndex index) { m_plotForm->cbDataSelection->setItemText(index.value, QString::fromStdString(dataName)); } @@ -275,7 +275,7 @@ void IndirectFitPlotView::displayMessage(const std::string &message) const { void IndirectFitPlotView::emitSelectedFitDataChanged(int index) { if (index >= 0) - emit selectedFitDataChanged(DatasetIndex{index}); + emit selectedFitDataChanged(TableDatasetIndex{index}); } void IndirectFitPlotView::emitPlotSpectrumChanged(int spectrum) { @@ -283,7 +283,10 @@ void IndirectFitPlotView::emitPlotSpectrumChanged(int spectrum) { } void IndirectFitPlotView::emitPlotSpectrumChanged(const QString &spectrum) { - emit plotSpectrumChanged(WorkspaceIndex{spectrum.toInt()}); + bool successState{false}; + int spectrumInt = spectrum.toInt(&successState); + if(successState) + emit plotSpectrumChanged(WorkspaceIndex{spectrumInt}); } void IndirectFitPlotView::emitPlotGuessChanged(int doPlotGuess) { diff --git a/qt/scientific_interfaces/Indirect/IndirectFitPlotView.h b/qt/scientific_interfaces/Indirect/IndirectFitPlotView.h index d62368c96a5b66e5a4892cdc6ecbd603ce89be4e..6537a6595a5a0bfe1c1cc115c3a142ed2ad8d7dc 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitPlotView.h +++ b/qt/scientific_interfaces/Indirect/IndirectFitPlotView.h @@ -25,9 +25,9 @@ public: virtual ~IndirectFitPlotView() override; WorkspaceIndex getSelectedSpectrum() const override; - SpectrumRowIndex getSelectedSpectrumIndex() const override; - DatasetIndex getSelectedDataIndex() const override; - DatasetIndex dataSelectionSize() const override; + TableRowIndex getSelectedSpectrumIndex() const override; + TableDatasetIndex getSelectedDataIndex() const override; + TableDatasetIndex dataSelectionSize() const override; bool isPlotGuessChecked() const override; void hideMultipleDataSelection() override; @@ -44,7 +44,7 @@ public: void setPlotSpectrum(WorkspaceIndex spectrum) override; void appendToDataSelection(const std::string &dataName) override; void setNameInDataSelection(const std::string &dataName, - DatasetIndex index) override; + TableDatasetIndex index) override; void clearDataSelection() override; void plotInTopPreview(const QString &name, diff --git a/qt/scientific_interfaces/Indirect/IndirectFitPropertyBrowser.cpp b/qt/scientific_interfaces/Indirect/IndirectFitPropertyBrowser.cpp index 341e483b49fe862b279d7c841be29035714a4c8d..a826dccd03dbcda8c7304b91b32b37047363dc21 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitPropertyBrowser.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectFitPropertyBrowser.cpp @@ -305,7 +305,7 @@ void IndirectFitPropertyBrowser::setBackgroundA0(double value) { } } -void IndirectFitPropertyBrowser::setCurrentDataset(SpectrumRowIndex i) { +void IndirectFitPropertyBrowser::setCurrentDataset(TableRowIndex i) { if (m_functionBrowser->getNumberOfDatasets() == 0) return; if (isFullFunctionBrowserActive()) { @@ -315,12 +315,12 @@ void IndirectFitPropertyBrowser::setCurrentDataset(SpectrumRowIndex i) { } } -SpectrumRowIndex IndirectFitPropertyBrowser::currentDataset() const { - return SpectrumRowIndex{m_functionBrowser->getCurrentDataset()}; +TableRowIndex IndirectFitPropertyBrowser::currentDataset() const { + return TableRowIndex{m_functionBrowser->getCurrentDataset()}; } void IndirectFitPropertyBrowser::updateFunctionBrowserData( - SpectrumRowIndex nData, const QStringList &datasetNames) { + TableRowIndex nData, const QStringList &datasetNames) { m_functionBrowser->setNumberOfDatasets(nData.value); m_functionBrowser->setDatasetNames(datasetNames); m_templateBrowser->setNumberOfDatasets(nData.value); @@ -344,7 +344,7 @@ void IndirectFitPropertyBrowser::sequentialFit() { } void IndirectFitPropertyBrowser::setModelResolution(std::string const &name, - DatasetIndex const &index) { + TableDatasetIndex const &index) { if (isFullFunctionBrowserActive()) { showFullFunctionBrowser(false); } diff --git a/qt/scientific_interfaces/Indirect/IndirectFitPropertyBrowser.h b/qt/scientific_interfaces/Indirect/IndirectFitPropertyBrowser.h index 2b8ad12b6eb319c1d98583e237cb4eb08a3698bd..8e158b6b721340a0b0686abc9578a1fa1541b194 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFitPropertyBrowser.h +++ b/qt/scientific_interfaces/Indirect/IndirectFitPropertyBrowser.h @@ -60,9 +60,9 @@ public: QString selectedFitType() const; void setConvolveMembers(bool convolveMembers); void setFitEnabled(bool enable); - void setCurrentDataset(SpectrumRowIndex i); - SpectrumRowIndex currentDataset() const; - void updateFunctionBrowserData(SpectrumRowIndex nData, + void setCurrentDataset(TableRowIndex i); + TableRowIndex currentDataset() const; + void updateFunctionBrowserData(TableRowIndex nData, const QStringList &datasetNames); void updatePlotGuess(MatrixWorkspace_const_sptr sampleWorkspace); void setErrorsEnabled(bool enabled); @@ -73,7 +73,7 @@ public: public slots: void fit(); void sequentialFit(); - void setModelResolution(std::string const &name, DatasetIndex const &index); + void setModelResolution(std::string const &name, TableDatasetIndex const &index); protected slots: void clear(); diff --git a/qt/scientific_interfaces/Indirect/IndirectFittingModel.cpp b/qt/scientific_interfaces/Indirect/IndirectFittingModel.cpp index 43f66290b716176eb1673e5a739bb12e3baf9666..23c8daa9673f72233cffd92236feb2101823f8da 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFittingModel.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectFittingModel.cpp @@ -334,7 +334,7 @@ bool IndirectFittingModel::hasWorkspace( } MatrixWorkspace_sptr -IndirectFittingModel::getWorkspace(DatasetIndex index) const { +IndirectFittingModel::getWorkspace(TableDatasetIndex index) const { if (index < m_fittingData.size()) return m_fittingData[index]->workspace(); return nullptr; @@ -348,14 +348,14 @@ std::vector<std::string> IndirectFittingModel::getWorkspaceNames() const { return names; } -SpectraNew IndirectFittingModel::getSpectra(DatasetIndex index) const { +Spectra IndirectFittingModel::getSpectra(TableDatasetIndex index) const { if (index < m_fittingData.size()) return m_fittingData[index]->spectra(); - return SpectraNew(""); + return Spectra(""); } std::pair<double, double> -IndirectFittingModel::getFittingRange(DatasetIndex dataIndex, +IndirectFittingModel::getFittingRange(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const { if (dataIndex < m_fittingData.size() && !m_fittingData[dataIndex]->zeroSpectra()) { @@ -365,7 +365,7 @@ IndirectFittingModel::getFittingRange(DatasetIndex dataIndex, } std::string -IndirectFittingModel::getExcludeRegion(DatasetIndex dataIndex, +IndirectFittingModel::getExcludeRegion(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const { if (dataIndex < m_fittingData.size() && !m_fittingData[dataIndex]->zeroSpectra()) { @@ -377,7 +377,7 @@ IndirectFittingModel::getExcludeRegion(DatasetIndex dataIndex, std::string IndirectFittingModel::createDisplayName(const std::string &formatString, const std::string &rangeDelimiter, - DatasetIndex dataIndex) const { + TableDatasetIndex dataIndex) const { if (m_fittingData.size() > dataIndex) return m_fittingData[dataIndex]->displayName(formatString, rangeDelimiter); else @@ -388,7 +388,7 @@ IndirectFittingModel::createDisplayName(const std::string &formatString, std::string IndirectFittingModel::createOutputName(const std::string &formatString, const std::string &rangeDelimiter, - DatasetIndex dataIndex) const { + TableDatasetIndex dataIndex) const { return createDisplayName(formatString, rangeDelimiter, dataIndex) + "_Results"; } @@ -397,7 +397,7 @@ bool IndirectFittingModel::isMultiFit() const { return numberOfWorkspaces().value > 1; } -bool IndirectFittingModel::isPreviouslyFit(DatasetIndex dataIndex, +bool IndirectFittingModel::isPreviouslyFit(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const { if (!m_previousModelSelected || !m_fitOutput || m_fittingData.size() <= dataIndex) @@ -417,12 +417,12 @@ boost::optional<std::string> IndirectFittingModel::isInvalidFunction() const { return boost::none; } -DatasetIndex IndirectFittingModel::numberOfWorkspaces() const { - return DatasetIndex{m_fittingData.size()}; +TableDatasetIndex IndirectFittingModel::numberOfWorkspaces() const { + return TableDatasetIndex{m_fittingData.size()}; } -SpectrumRowIndex -IndirectFittingModel::getNumberOfSpectra(DatasetIndex index) const { +TableRowIndex +IndirectFittingModel::getNumberOfSpectra(TableDatasetIndex index) const { if (index < m_fittingData.size()) return m_fittingData[index]->numberOfSpectra(); else @@ -431,18 +431,18 @@ IndirectFittingModel::getNumberOfSpectra(DatasetIndex index) const { "index provided is too large."); } -SpectrumRowIndex IndirectFittingModel::getNumberOfDomains() const { - SpectrumRowIndex sum{0}; +TableRowIndex IndirectFittingModel::getNumberOfDomains() const { + TableRowIndex sum{0}; for (auto i = m_fittingData.zero(); i < m_fittingData.size(); ++i) { sum += m_fittingData[i]->numberOfSpectra(); } return sum; } -SpectrumRowIndex -IndirectFittingModel::getDomainIndex(DatasetIndex dataIndex, +TableRowIndex +IndirectFittingModel::getDomainIndex(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const { - SpectrumRowIndex index{0}; + TableRowIndex index{0}; for (auto iws = m_fittingData.zero(); iws < m_fittingData.size(); ++iws) { if (iws < dataIndex) { index += getNumberOfSpectra(iws); @@ -476,52 +476,52 @@ void IndirectFittingModel::setFittingData(PrivateFittingData &&fittingData) { } void IndirectFittingModel::setSpectra(const std::string &spectra, - DatasetIndex dataIndex) { - setSpectra(SpectraNew(spectra), dataIndex); + TableDatasetIndex dataIndex) { + setSpectra(Spectra(spectra), dataIndex); } -void IndirectFittingModel::setSpectra(SpectraNew &&spectra, - DatasetIndex dataIndex) { +void IndirectFittingModel::setSpectra(Spectra &&spectra, + TableDatasetIndex dataIndex) { if (m_fittingData.empty()) return; - m_fittingData[dataIndex]->setSpectra(std::forward<SpectraNew>(spectra)); + m_fittingData[dataIndex]->setSpectra(std::forward<Spectra>(spectra)); } -void IndirectFittingModel::setSpectra(const SpectraNew &spectra, - DatasetIndex dataIndex) { +void IndirectFittingModel::setSpectra(const Spectra &spectra, + TableDatasetIndex dataIndex) { if (m_fittingData.empty()) return; m_fittingData[dataIndex]->setSpectra(spectra); } -void IndirectFittingModel::setStartX(double startX, DatasetIndex dataIndex, +void IndirectFittingModel::setStartX(double startX, TableDatasetIndex dataIndex, WorkspaceIndex spectrum) { if (m_fittingData.empty()) return; m_fittingData[dataIndex]->setStartX(startX, spectrum); } -void IndirectFittingModel::setStartX(double startX, DatasetIndex dataIndex) { +void IndirectFittingModel::setStartX(double startX, TableDatasetIndex dataIndex) { if (m_fittingData.empty()) return; m_fittingData[dataIndex]->setStartX(startX); } -void IndirectFittingModel::setEndX(double endX, DatasetIndex dataIndex, +void IndirectFittingModel::setEndX(double endX, TableDatasetIndex dataIndex, WorkspaceIndex spectrum) { if (m_fittingData.empty()) return; m_fittingData[dataIndex]->setEndX(endX, spectrum); } -void IndirectFittingModel::setEndX(double endX, DatasetIndex dataIndex) { +void IndirectFittingModel::setEndX(double endX, TableDatasetIndex dataIndex) { if (m_fittingData.empty()) return; m_fittingData[dataIndex]->setEndX(endX); } void IndirectFittingModel::setExcludeRegion(const std::string &exclude, - DatasetIndex dataIndex, + TableDatasetIndex dataIndex, WorkspaceIndex spectrum) { if (m_fittingData.empty()) return; @@ -532,7 +532,7 @@ void IndirectFittingModel::addWorkspace(const std::string &workspaceName) { auto ws = AnalysisDataService::Instance().retrieveWS<MatrixWorkspace>( workspaceName); addWorkspace( - ws, SpectraNew( + ws, Spectra( WorkspaceIndex{0}, WorkspaceIndex{static_cast<int>(ws->getNumberHistograms()) - 1})); } @@ -545,18 +545,18 @@ void IndirectFittingModel::addWorkspace(const std::string &workspaceName, if (workspaceName.empty() || !doesExistInADS(workspaceName)) throw std::runtime_error("A valid sample file needs to be selected."); - addWorkspace(workspaceName, SpectraNew(spectra)); + addWorkspace(workspaceName, Spectra(spectra)); } void IndirectFittingModel::addWorkspace(const std::string &workspaceName, - const SpectraNew &spectra) { + const Spectra &spectra) { auto ws = AnalysisDataService::Instance().retrieveWS<MatrixWorkspace>( workspaceName); addWorkspace(ws, spectra); } void IndirectFittingModel::addWorkspace(MatrixWorkspace_sptr workspace, - const SpectraNew &spectra) { + const Spectra &spectra) { if (!m_fittingData.empty() && equivalentWorkspaces(workspace, m_fittingData.back()->workspace())) m_fittingData.back()->combine(IndirectFitData(workspace, spectra)); @@ -565,14 +565,14 @@ void IndirectFittingModel::addWorkspace(MatrixWorkspace_sptr workspace, } void IndirectFittingModel::addNewWorkspace(MatrixWorkspace_sptr workspace, - const SpectraNew &spectra) { + const Spectra &spectra) { m_fittingData.emplace_back(new IndirectFitData(workspace, spectra)); m_defaultParameters.emplace_back( createDefaultParameters(m_fittingData.last())); } void IndirectFittingModel::removeWorkspaceFromFittingData( - DatasetIndex const &index) { + TableDatasetIndex const &index) { if (m_fittingData.size() > index) removeFittingData(index); else @@ -580,21 +580,21 @@ void IndirectFittingModel::removeWorkspaceFromFittingData( "the workspace index provided is too large."); } -void IndirectFittingModel::removeWorkspace(DatasetIndex index) { +void IndirectFittingModel::removeWorkspace(TableDatasetIndex index) { removeWorkspaceFromFittingData(index); if (index > m_fittingData.zero() && m_fittingData.size() > index) { - const auto previousWS = m_fittingData[index - DatasetIndex{1}]->workspace(); + const auto previousWS = m_fittingData[index - TableDatasetIndex{1}]->workspace(); const auto subsequentWS = m_fittingData[index]->workspace(); if (equivalentWorkspaces(previousWS, subsequentWS)) { - m_fittingData[index - DatasetIndex{1}]->combine(*m_fittingData[index]); + m_fittingData[index - TableDatasetIndex{1}]->combine(*m_fittingData[index]); m_fittingData.remove(index); } } } -void IndirectFittingModel::removeFittingData(DatasetIndex index) { +void IndirectFittingModel::removeFittingData(TableDatasetIndex index) { if (m_fitOutput) m_fitOutput->removeOutput(m_fittingData[index].get()); m_fittingData.remove(index); @@ -618,7 +618,7 @@ void IndirectFittingModel::setFitFunction(MultiDomainFunction_sptr function) { void IndirectFittingModel::setDefaultParameterValue(const std::string &name, double value, - DatasetIndex dataIndex) { + TableDatasetIndex dataIndex) { if (m_defaultParameters.size() > dataIndex) m_defaultParameters[dataIndex][name] = ParameterValueNew(value); } @@ -639,7 +639,7 @@ void IndirectFittingModel::addOutput(IAlgorithm_sptr fitAlgorithm, } void IndirectFittingModel::addSingleFitOutput(IAlgorithm_sptr fitAlgorithm, - DatasetIndex index) { + TableDatasetIndex index) { auto group = getOutputGroup(fitAlgorithm); auto parameters = getOutputParameters(fitAlgorithm); auto result = getOutputResult(fitAlgorithm); @@ -719,7 +719,7 @@ FittingMode IndirectFittingModel::getFittingMode() const { } std::unordered_map<std::string, ParameterValueNew> -IndirectFittingModel::getParameterValues(DatasetIndex index, +IndirectFittingModel::getParameterValues(TableDatasetIndex index, WorkspaceIndex spectrum) const { if (m_fittingData.size() > index) { const auto parameters = getFitParameters(index, spectrum); @@ -733,7 +733,7 @@ IndirectFittingModel::getParameterValues(DatasetIndex index, } std::unordered_map<std::string, ParameterValueNew> -IndirectFittingModel::getFitParameters(DatasetIndex index, +IndirectFittingModel::getFitParameters(TableDatasetIndex index, WorkspaceIndex spectrum) const { if (m_fitOutput) return m_fitOutput->getParameters(m_fittingData[index].get(), spectrum); @@ -741,7 +741,7 @@ IndirectFittingModel::getFitParameters(DatasetIndex index, } std::unordered_map<std::string, ParameterValueNew> -IndirectFittingModel::getDefaultParameters(DatasetIndex index) const { +IndirectFittingModel::getDefaultParameters(TableDatasetIndex index) const { if (index < m_defaultParameters.size()) return mapKeys(m_defaultParameters[index], mapDefaultParameterNames()); return std::unordered_map<std::string, ParameterValueNew>(); @@ -755,7 +755,7 @@ IndirectFittingModel::mapDefaultParameterNames() const { } std::unordered_map<std::string, ParameterValueNew> -IndirectFittingModel::createDefaultParameters(DatasetIndex /*unused*/) const { +IndirectFittingModel::createDefaultParameters(TableDatasetIndex /*unused*/) const { return std::unordered_map<std::string, ParameterValueNew>(); } @@ -766,7 +766,7 @@ std::string IndirectFittingModel::getResultXAxisUnit() const { std::string IndirectFittingModel::getResultLogName() const { return "axis-1"; } boost::optional<ResultLocationNew> -IndirectFittingModel::getResultLocation(DatasetIndex index, +IndirectFittingModel::getResultLocation(TableDatasetIndex index, WorkspaceIndex spectrum) const { if (/*m_previousModelSelected && */ m_fitOutput && m_fittingData.size() > index) @@ -807,7 +807,7 @@ IndirectFittingModel::getFittingAlgorithm(FittingMode mode) const { } IAlgorithm_sptr -IndirectFittingModel::getSingleFit(DatasetIndex dataIndex, +IndirectFittingModel::getSingleFit(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const { const auto &fitData = m_fittingData[dataIndex]; const auto ws = fitData->workspace(); @@ -823,7 +823,7 @@ IndirectFittingModel::getSingleFit(DatasetIndex dataIndex, } Mantid::API::IFunction_sptr -IndirectFittingModel::getSingleFunction(DatasetIndex dataIndex, +IndirectFittingModel::getSingleFunction(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const { auto function = getFittingFunction(); assert(function->getNumberDomains() == getNumberOfDomains().value); @@ -863,7 +863,7 @@ IAlgorithm_sptr IndirectFittingModel::createSequentialFit( fitAlgorithm->setProperty("PassWSIndexToFunction", true); fitAlgorithm->setProperty("LogName", getResultLogName()); - auto const firstWsIndex = initialFitData->getSpectrum(SpectrumRowIndex{0}); + auto const firstWsIndex = initialFitData->getSpectrum(TableRowIndex{0}); const auto range = initialFitData->getRange(firstWsIndex); fitAlgorithm->setProperty("StartX", range.first); fitAlgorithm->setProperty("EndX", range.second); @@ -889,7 +889,7 @@ IAlgorithm_sptr IndirectFittingModel::createSimultaneousFitWithEqualRange( auto fitAlgorithm = simultaneousFitAlgorithm(); addFitProperties(*fitAlgorithm, function, getResultXAxisUnit()); - auto const dataIndex = DatasetIndex{0}; + auto const dataIndex = TableDatasetIndex{0}; auto const workspaceIndex = getSpectra(dataIndex).front(); auto exclude = vectorFromStringNew<double>(getExcludeRegion(dataIndex, workspaceIndex)); @@ -902,7 +902,7 @@ IAlgorithm_sptr IndirectFittingModel::createSimultaneousFitWithEqualRange( std::string IndirectFittingModel::createSingleFitOutputName(const std::string &formatString, - DatasetIndex index, + TableDatasetIndex index, WorkspaceIndex spectrum) const { if (m_fittingData.size() > index) return m_fittingData[index]->displayName(formatString, spectrum); @@ -920,7 +920,7 @@ void IndirectFittingModel::cleanFailedRun(IAlgorithm_sptr fittingAlgorithm) { } void IndirectFittingModel::cleanFailedSingleRun( - IAlgorithm_sptr fittingAlgorithm, DatasetIndex index) { + IAlgorithm_sptr fittingAlgorithm, TableDatasetIndex index) { const auto base = "__" + fittingAlgorithm->name() + "_ws" + std::to_string(index.value + 1); removeFromADSIfExists(base); diff --git a/qt/scientific_interfaces/Indirect/IndirectFittingModel.h b/qt/scientific_interfaces/Indirect/IndirectFittingModel.h index 925a9596a9c86bc6283995ae2cfbecf745205237..b24a1eb84ed05b00286362c275b424a7a4f1697b 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFittingModel.h +++ b/qt/scientific_interfaces/Indirect/IndirectFittingModel.h @@ -28,9 +28,9 @@ enum class FittingMode { SEQUENTIAL, SIMULTANEOUS }; class IndirectFittingModel; using IndirectFitDataCollectionType = - IndexCollectionType<DatasetIndex, std::unique_ptr<IndirectFitData>>; + IndexCollectionType<TableDatasetIndex, std::unique_ptr<IndirectFitData>>; using DefaultParametersType = - IndexCollectionType<DatasetIndex, + IndexCollectionType<TableDatasetIndex, std::unordered_map<std::string, ParameterValueNew>>; struct PrivateFittingData { @@ -57,25 +57,25 @@ public: virtual bool hasWorkspace(std::string const &workspaceName) const; virtual Mantid::API::MatrixWorkspace_sptr - getWorkspace(DatasetIndex index) const; - SpectraNew getSpectra(DatasetIndex index) const; + getWorkspace(TableDatasetIndex index) const; + Spectra getSpectra(TableDatasetIndex index) const; virtual std::pair<double, double> - getFittingRange(DatasetIndex dataIndex, WorkspaceIndex spectrum) const; - virtual std::string getExcludeRegion(DatasetIndex dataIndex, + getFittingRange(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const; + virtual std::string getExcludeRegion(TableDatasetIndex dataIndex, WorkspaceIndex index) const; virtual std::string createDisplayName(const std::string &formatString, const std::string &rangeDelimiter, - DatasetIndex dataIndex) const; + TableDatasetIndex dataIndex) const; std::string createOutputName(const std::string &formatString, const std::string &rangeDelimiter, - DatasetIndex dataIndex) const; + TableDatasetIndex dataIndex) const; virtual bool isMultiFit() const; - bool isPreviouslyFit(DatasetIndex dataIndex, WorkspaceIndex spectrum) const; + bool isPreviouslyFit(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const; virtual boost::optional<std::string> isInvalidFunction() const; - virtual DatasetIndex numberOfWorkspaces() const; - SpectrumRowIndex getNumberOfSpectra(DatasetIndex index) const; - SpectrumRowIndex getNumberOfDomains() const; - virtual SpectrumRowIndex getDomainIndex(DatasetIndex dataIndex, + virtual TableDatasetIndex numberOfWorkspaces() const; + TableRowIndex getNumberOfSpectra(TableDatasetIndex index) const; + TableRowIndex getNumberOfDomains() const; + virtual TableRowIndex getDomainIndex(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const; std::vector<std::string> getFitParameterNames() const; virtual Mantid::API::MultiDomainFunction_sptr getFittingFunction() const; @@ -83,60 +83,60 @@ public: virtual std::vector<std::string> getSpectrumDependentAttributes() const = 0; void setFittingData(PrivateFittingData &&fittingData); - void setSpectra(const std::string &spectra, DatasetIndex dataIndex); - void setSpectra(SpectraNew &&spectra, DatasetIndex dataIndex); - void setSpectra(const SpectraNew &spectra, DatasetIndex dataIndex); - virtual void setStartX(double startX, DatasetIndex dataIndex, + void setSpectra(const std::string &spectra, TableDatasetIndex dataIndex); + void setSpectra(Spectra &&spectra, TableDatasetIndex dataIndex); + void setSpectra(const Spectra &spectra, TableDatasetIndex dataIndex); + virtual void setStartX(double startX, TableDatasetIndex dataIndex, WorkspaceIndex spectrum); - virtual void setStartX(double startX, DatasetIndex dataIndex); - virtual void setEndX(double endX, DatasetIndex dataIndex, + virtual void setStartX(double startX, TableDatasetIndex dataIndex); + virtual void setEndX(double endX, TableDatasetIndex dataIndex, WorkspaceIndex spectrum); - virtual void setEndX(double endX, DatasetIndex dataIndex); + virtual void setEndX(double endX, TableDatasetIndex dataIndex); virtual void setExcludeRegion(const std::string &exclude, - DatasetIndex dataIndex, + TableDatasetIndex dataIndex, WorkspaceIndex spectrum); virtual void addWorkspace(const std::string &workspaceName); void addWorkspace(const std::string &workspaceName, const std::string &spectra); void addWorkspace(const std::string &workspaceName, - const SpectraNew &spectra); + const Spectra &spectra); virtual void addWorkspace(Mantid::API::MatrixWorkspace_sptr workspace, - const SpectraNew &spectra); - virtual void removeWorkspace(DatasetIndex index); + const Spectra &spectra); + virtual void removeWorkspace(TableDatasetIndex index); virtual PrivateFittingData clearWorkspaces(); void setFittingMode(FittingMode mode); virtual void setFitFunction(Mantid::API::MultiDomainFunction_sptr function); virtual void setDefaultParameterValue(const std::string &name, double value, - DatasetIndex dataIndex); + TableDatasetIndex dataIndex); void addSingleFitOutput(Mantid::API::IAlgorithm_sptr fitAlgorithm, - DatasetIndex index); + TableDatasetIndex index); virtual void addOutput(Mantid::API::IAlgorithm_sptr fitAlgorithm); template <typename F> - void applySpectra(DatasetIndex index, const F &functor) const; + void applySpectra(TableDatasetIndex index, const F &functor) const; FittingMode getFittingMode() const; std::unordered_map<std::string, ParameterValueNew> - getParameterValues(DatasetIndex dataIndex, WorkspaceIndex spectrum) const; + getParameterValues(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const; std::unordered_map<std::string, ParameterValueNew> - getFitParameters(DatasetIndex dataIndex, WorkspaceIndex spectrum) const; + getFitParameters(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const; std::unordered_map<std::string, ParameterValueNew> - getDefaultParameters(DatasetIndex dataIndex) const; + getDefaultParameters(TableDatasetIndex dataIndex) const; boost::optional<ResultLocationNew> - getResultLocation(DatasetIndex dataIndex, WorkspaceIndex spectrum) const; + getResultLocation(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const; Mantid::API::WorkspaceGroup_sptr getResultWorkspace() const; Mantid::API::WorkspaceGroup_sptr getResultGroup() const; virtual Mantid::API::IAlgorithm_sptr getFittingAlgorithm() const; - Mantid::API::IAlgorithm_sptr getSingleFit(DatasetIndex dataIndex, + Mantid::API::IAlgorithm_sptr getSingleFit(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const; - Mantid::API::IFunction_sptr getSingleFunction(DatasetIndex dataIndex, + Mantid::API::IFunction_sptr getSingleFunction(TableDatasetIndex dataIndex, WorkspaceIndex spectrum) const; std::string getOutputBasename() const; void cleanFailedRun(Mantid::API::IAlgorithm_sptr fittingAlgorithm); void cleanFailedSingleRun(Mantid::API::IAlgorithm_sptr fittingAlgorithm, - DatasetIndex index); + TableDatasetIndex index); DataForParameterEstimationCollection getDataForParameterEstimation(EstimationDataSelector selector) const; @@ -152,16 +152,16 @@ protected: virtual std::unordered_map<std::string, std::string> mapDefaultParameterNames() const; std::string createSingleFitOutputName(const std::string &formatString, - DatasetIndex index, + TableDatasetIndex index, WorkspaceIndex spectrum) const; void addNewWorkspace(Mantid::API::MatrixWorkspace_sptr workspace, - const SpectraNew &spectra); - void removeFittingData(DatasetIndex index); + const Spectra &spectra); + void removeFittingData(TableDatasetIndex index); private: std::vector<std::string> getWorkspaceNames() const; - void removeWorkspaceFromFittingData(DatasetIndex const &index); + void removeWorkspaceFromFittingData(TableDatasetIndex const &index); Mantid::API::IAlgorithm_sptr createSequentialFit(Mantid::API::IFunction_sptr function, @@ -171,10 +171,10 @@ private: virtual Mantid::API::IAlgorithm_sptr simultaneousFitAlgorithm() const; virtual std::string sequentialFitOutputName() const = 0; virtual std::string simultaneousFitOutputName() const = 0; - virtual std::string singleFitOutputName(DatasetIndex index, + virtual std::string singleFitOutputName(TableDatasetIndex index, WorkspaceIndex spectrum) const = 0; virtual std::unordered_map<std::string, ParameterValueNew> - createDefaultParameters(DatasetIndex index) const; + createDefaultParameters(TableDatasetIndex index) const; virtual std::string getResultXAxisUnit() const; virtual std::string getResultLogName() const; @@ -229,7 +229,7 @@ private: }; template <typename F> -void IndirectFittingModel::applySpectra(DatasetIndex index, +void IndirectFittingModel::applySpectra(TableDatasetIndex index, const F &functor) const { if (m_fittingData.size() > m_fittingData.zero()) m_fittingData[index]->applySpectra(functor); diff --git a/qt/scientific_interfaces/Indirect/IndirectFittingModelLegacy.cpp b/qt/scientific_interfaces/Indirect/IndirectFittingModelLegacy.cpp index 2b0eb06b6407a1611ffee9d65086e1143f2f4c0a..da674c45a8bc5b235c4fa3f64f4cc2212be13949 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFittingModelLegacy.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectFittingModelLegacy.cpp @@ -363,7 +363,7 @@ std::vector<std::string> IndirectFittingModelLegacy::getWorkspaceNames() const { return names; } -Spectra IndirectFittingModelLegacy::getSpectra(std::size_t index) const { +SpectraLegacy IndirectFittingModelLegacy::getSpectra(std::size_t index) const { if (index < m_fittingData.size()) return m_fittingData[index]->spectra(); return DiscontinuousSpectra<std::size_t>(""); @@ -479,12 +479,12 @@ void IndirectFittingModelLegacy::setSpectra(const std::string &spectra, setSpectra(DiscontinuousSpectra<std::size_t>(spectra), dataIndex); } -void IndirectFittingModelLegacy::setSpectra(Spectra &&spectra, +void IndirectFittingModelLegacy::setSpectra(SpectraLegacy &&spectra, std::size_t dataIndex) { - m_fittingData[dataIndex]->setSpectra(std::forward<Spectra>(spectra)); + m_fittingData[dataIndex]->setSpectra(std::forward<SpectraLegacy>(spectra)); } -void IndirectFittingModelLegacy::setSpectra(const Spectra &spectra, +void IndirectFittingModelLegacy::setSpectra(const SpectraLegacy &spectra, std::size_t dataIndex) { m_fittingData[dataIndex]->setSpectra(spectra); } @@ -533,14 +533,14 @@ void IndirectFittingModelLegacy::addWorkspace(const std::string &workspaceName, } void IndirectFittingModelLegacy::addWorkspace(const std::string &workspaceName, - const Spectra &spectra) { + const SpectraLegacy &spectra) { auto ws = AnalysisDataService::Instance().retrieveWS<MatrixWorkspace>( workspaceName); addWorkspace(ws, spectra); } void IndirectFittingModelLegacy::addWorkspace(MatrixWorkspace_sptr workspace, - const Spectra &spectra) { + const SpectraLegacy &spectra) { if (!m_fittingData.empty() && equivalentWorkspaces(workspace, m_fittingData.back()->workspace())) m_fittingData.back()->combine(IndirectFitDataLegacy(workspace, spectra)); @@ -549,7 +549,7 @@ void IndirectFittingModelLegacy::addWorkspace(MatrixWorkspace_sptr workspace, } void IndirectFittingModelLegacy::addNewWorkspace(MatrixWorkspace_sptr workspace, - const Spectra &spectra) { + const SpectraLegacy &spectra) { m_fittingData.emplace_back(new IndirectFitDataLegacy(workspace, spectra)); m_defaultParameters.emplace_back( createDefaultParameters(m_fittingData.size() - 1)); diff --git a/qt/scientific_interfaces/Indirect/IndirectFittingModelLegacy.h b/qt/scientific_interfaces/Indirect/IndirectFittingModelLegacy.h index 6fe64c20d85294df2165dacf256d1c0a2e7a1908..58d4057505849726b68b5582c3a64841ffa752c5 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFittingModelLegacy.h +++ b/qt/scientific_interfaces/Indirect/IndirectFittingModelLegacy.h @@ -51,7 +51,7 @@ public: virtual bool hasWorkspace(std::string const &workspaceName) const; virtual Mantid::API::MatrixWorkspace_sptr getWorkspace(std::size_t index) const; - Spectra getSpectra(std::size_t index) const; + SpectraLegacy getSpectra(std::size_t index) const; virtual std::pair<double, double> getFittingRange(std::size_t dataIndex, std::size_t spectrum) const; virtual std::string getExcludeRegion(std::size_t dataIndex, @@ -75,8 +75,8 @@ public: void setFittingData(PrivateFittingDataLegacy &&fittingData); void setSpectra(const std::string &spectra, std::size_t dataIndex); - void setSpectra(Spectra &&spectra, std::size_t dataIndex); - void setSpectra(const Spectra &spectra, std::size_t dataIndex); + void setSpectra(SpectraLegacy &&spectra, std::size_t dataIndex); + void setSpectra(const SpectraLegacy &spectra, std::size_t dataIndex); virtual void setStartX(double startX, std::size_t dataIndex, std::size_t spectrum); virtual void setEndX(double endX, std::size_t dataIndex, @@ -87,9 +87,9 @@ public: virtual void addWorkspace(const std::string &workspaceName); void addWorkspace(const std::string &workspaceName, const std::string &spectra); - void addWorkspace(const std::string &workspaceName, const Spectra &spectra); + void addWorkspace(const std::string &workspaceName, const SpectraLegacy &spectra); virtual void addWorkspace(Mantid::API::MatrixWorkspace_sptr workspace, - const Spectra &spectra); + const SpectraLegacy &spectra); virtual void removeWorkspace(std::size_t index); virtual PrivateFittingDataLegacy clearWorkspaces(); void setFittingMode(FittingModeLegacy mode); @@ -139,7 +139,7 @@ protected: std::size_t index, std::size_t spectrum) const; void addNewWorkspace(Mantid::API::MatrixWorkspace_sptr workspace, - const Spectra &spectra); + const SpectraLegacy &spectra); void removeFittingData(std::size_t index); private: diff --git a/qt/scientific_interfaces/Indirect/IndirectFunctionBrowser/IqtTemplateBrowser.h b/qt/scientific_interfaces/Indirect/IndirectFunctionBrowser/IqtTemplateBrowser.h index 0d89cd893fbba190945e972a52c6210d17df8b10..70a93eda01c47fd09902ea259ba3d21e62513745 100644 --- a/qt/scientific_interfaces/Indirect/IndirectFunctionBrowser/IqtTemplateBrowser.h +++ b/qt/scientific_interfaces/Indirect/IndirectFunctionBrowser/IqtTemplateBrowser.h @@ -69,7 +69,7 @@ public: void updateParameterEstimationData( DataForParameterEstimationCollection &&data) override; void setBackgroundA0(double value) override; - void setResolution(std::string const &, DatasetIndex const &) override {} + void setResolution(std::string const &, TableDatasetIndex const &) override {} protected slots: void intChanged(QtProperty *) override; diff --git a/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenter.cpp b/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenter.cpp index 21bb570e99d894eea07e4679e95359a0bdcad9af..57bf64c73b4cb89503be4a79385875d55b2277ba 100644 --- a/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenter.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenter.cpp @@ -23,7 +23,7 @@ using namespace Mantid::Kernel::Strings; struct SetViewSpectra { explicit SetViewSpectra(IndirectSpectrumSelectionView *view) : m_view(view) {} - void operator()(const SpectraNew &spectra) const { + void operator()(const Spectra &spectra) const { if (spectra.isContinuous()) { m_view->displaySpectra(spectra.getMinMax()); } else { @@ -168,7 +168,7 @@ void IndirectSpectrumSelectionPresenter::initSpectraSelectionWidget(int index) { } void IndirectSpectrumSelectionPresenter::setActiveIndexToZero() { - setActiveModelIndex(DatasetIndex{0}); + setActiveModelIndex(TableDatasetIndex{0}); } void IndirectSpectrumSelectionPresenter::updateSpectra() { @@ -185,7 +185,7 @@ void IndirectSpectrumSelectionPresenter::updateSpectra() { } void IndirectSpectrumSelectionPresenter::setActiveModelIndex( - DatasetIndex index) { + TableDatasetIndex index) { m_activeIndex = index; updateSpectra(); } @@ -196,7 +196,7 @@ void IndirectSpectrumSelectionPresenter::setSpectraRange( } void IndirectSpectrumSelectionPresenter::setModelSpectra( - SpectraNew const &spectra) { + Spectra const &spectra) { try { m_model->setSpectra(spectra, m_activeIndex); m_spectraError.clear(); @@ -211,13 +211,13 @@ void IndirectSpectrumSelectionPresenter::setModelSpectra( void IndirectSpectrumSelectionPresenter::updateSpectraList( std::string const &spectraList) { - setModelSpectra(SpectraNew(createSpectraString(spectraList))); + setModelSpectra(Spectra(createSpectraString(spectraList))); emit spectraChanged(m_activeIndex); } void IndirectSpectrumSelectionPresenter::updateSpectraRange( WorkspaceIndex minimum, WorkspaceIndex maximum) { - setModelSpectra(SpectraNew(minimum, maximum)); + setModelSpectra(Spectra(minimum, maximum)); emit spectraChanged(m_activeIndex); } diff --git a/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenter.h b/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenter.h index 1bbcc0a1d17a487a20e62d9b7cb43ead2ce9e8e6..61983d19b57796a66fec8d15686cb961a8fbd982 100644 --- a/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenter.h +++ b/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenter.h @@ -33,13 +33,13 @@ public: UserInputValidator &validate(UserInputValidator &validator); signals: - void spectraChanged(DatasetIndex /*_t1*/); + void spectraChanged(TableDatasetIndex /*_t1*/); void maskChanged(std::string const & /*_t1*/); void invalidSpectraString(QString const &errorMessage); void invalidMaskBinsString(QString const &errorMessage); public slots: - void setActiveModelIndex(DatasetIndex index); + void setActiveModelIndex(TableDatasetIndex index); void setActiveIndexToZero(); void updateSpectra(); void displayBinMask(); @@ -57,7 +57,7 @@ private slots: private: void setSpectraRange(WorkspaceIndex minimum, WorkspaceIndex maximum); - void setModelSpectra(SpectraNew const &spectra); + void setModelSpectra(Spectra const &spectra); UserInputValidator validateSpectraString(); UserInputValidator &validateSpectraString(UserInputValidator &validator); @@ -65,7 +65,7 @@ private: IndirectFittingModel *m_model; std::unique_ptr<IndirectSpectrumSelectionView> m_view; - DatasetIndex m_activeIndex; + TableDatasetIndex m_activeIndex; WorkspaceIndex m_maskIndex; std::string m_spectraError; }; diff --git a/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenterLegacy.cpp b/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenterLegacy.cpp index 3469f4c2216fc9cf26fd5c9c5fc7f3cd5f154c61..e83e0eae4cd30b365821ea37cd9e2551d36bdd81 100644 --- a/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenterLegacy.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenterLegacy.cpp @@ -192,7 +192,7 @@ void IndirectSpectrumSelectionPresenterLegacy::setSpectraRange( } void IndirectSpectrumSelectionPresenterLegacy::setModelSpectra( - Spectra const &spectra) { + SpectraLegacy const &spectra) { try { m_model->setSpectra(spectra, m_activeIndex); m_spectraError.clear(); diff --git a/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenterLegacy.h b/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenterLegacy.h index 2268dbf015d7abdd5535a43c2dd32197fa27b9b1..10da46f7367e9e5bd9cf8a7f3bb2945dcb312860 100644 --- a/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenterLegacy.h +++ b/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenterLegacy.h @@ -57,7 +57,7 @@ private slots: private: void setSpectraRange(std::size_t minimum, std::size_t maximum); - void setModelSpectra(Spectra const &spectra); + void setModelSpectra(SpectraLegacy const &spectra); UserInputValidator validateSpectraString(); UserInputValidator &validateSpectraString(UserInputValidator &validator); diff --git a/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionView.cpp b/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionView.cpp index 33192f34c595335178b086576bcdbe36e9eca0ba..0bc300ebe4029189eb650eebebba48d7746e239c 100644 --- a/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionView.cpp +++ b/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionView.cpp @@ -210,7 +210,7 @@ IndirectSpectrumSelectionView::createValidator(const QString ®ex) { UserInputValidator &IndirectSpectrumSelectionView::validateSpectraString( UserInputValidator &uiv) const { if (selectionMode() == SpectrumSelectionMode::STRING) - uiv.checkFieldIsValid("SpectraNew", m_selector->leSpectra, + uiv.checkFieldIsValid("Spectra", m_selector->leSpectra, m_selector->lbSpectraError); return uiv; } diff --git a/qt/scientific_interfaces/Indirect/IqtFitModel.cpp b/qt/scientific_interfaces/Indirect/IqtFitModel.cpp index 7bbbd9c236d1e5e148acfdf247e098adb28fa60f..a0b55c7a15c3414c178108c0469c1754cc55f30f 100644 --- a/qt/scientific_interfaces/Indirect/IqtFitModel.cpp +++ b/qt/scientific_interfaces/Indirect/IqtFitModel.cpp @@ -219,22 +219,22 @@ IAlgorithm_sptr IqtFitModel::simultaneousFitAlgorithm() const { std::string IqtFitModel::sequentialFitOutputName() const { if (isMultiFit()) return "MultiIqtFit_" + m_fitType + "_Results"; - auto const fitString = getFitString(getWorkspace(DatasetIndex{0})); + auto const fitString = getFitString(getWorkspace(TableDatasetIndex{0})); return createOutputName("%1%" + fitString + "_" + m_fitType + "_s%2%", "_to_", - DatasetIndex{0}); + TableDatasetIndex{0}); } std::string IqtFitModel::simultaneousFitOutputName() const { if (isMultiFit()) return "MultiSimultaneousIqtFit_" + m_fitType + "_Results"; - auto const fitString = getFitString(getWorkspace(DatasetIndex{0})); + auto const fitString = getFitString(getWorkspace(TableDatasetIndex{0})); return createOutputName("%1%" + fitString + "_mult" + m_fitType + "_s%2%", - "_to_", DatasetIndex{0}); + "_to_", TableDatasetIndex{0}); } -std::string IqtFitModel::singleFitOutputName(DatasetIndex index, +std::string IqtFitModel::singleFitOutputName(TableDatasetIndex index, WorkspaceIndex spectrum) const { - auto const fitString = getFitString(getWorkspace(DatasetIndex{0})); + auto const fitString = getFitString(getWorkspace(TableDatasetIndex{0})); return createSingleFitOutputName( "%1%" + fitString + "_" + m_fitType + "_s%2%_Results", index, spectrum); } @@ -251,7 +251,7 @@ void IqtFitModel::setFitFunction( } std::unordered_map<std::string, ParameterValueNew> -IqtFitModel::createDefaultParameters(DatasetIndex index) const { +IqtFitModel::createDefaultParameters(TableDatasetIndex index) const { std::unordered_map<std::string, ParameterValueNew> parameters; parameters["Height"] = ParameterValueNew(computeHeightApproximation(getFittingFunction())); @@ -270,7 +270,7 @@ IqtFitModel::createFunctionWithGlobalBeta(IFunction_sptr function) const { boost::shared_ptr<MultiDomainFunction> multiDomainFunction( new MultiDomainFunction); const auto functionString = function->asString(); - for (auto i = DatasetIndex{0}; i < numberOfWorkspaces(); ++i) { + for (auto i = TableDatasetIndex{0}; i < numberOfWorkspaces(); ++i) { auto addDomains = [&](WorkspaceIndex /*unused*/) { const auto index = multiDomainFunction->nFunctions(); multiDomainFunction->addFunction(createFunction(functionString)); diff --git a/qt/scientific_interfaces/Indirect/IqtFitModel.h b/qt/scientific_interfaces/Indirect/IqtFitModel.h index 3f3aa320421cf65955294fa8b4b1a852f82ee67a..a5f24eb8d477567d2a2dc0e77ee3242626987b2b 100644 --- a/qt/scientific_interfaces/Indirect/IqtFitModel.h +++ b/qt/scientific_interfaces/Indirect/IqtFitModel.h @@ -28,10 +28,10 @@ private: Mantid::API::IAlgorithm_sptr simultaneousFitAlgorithm() const override; std::string sequentialFitOutputName() const override; std::string simultaneousFitOutputName() const override; - std::string singleFitOutputName(DatasetIndex index, + std::string singleFitOutputName(TableDatasetIndex index, WorkspaceIndex spectrum) const override; std::unordered_map<std::string, ParameterValueNew> - createDefaultParameters(DatasetIndex index) const override; + createDefaultParameters(TableDatasetIndex index) const override; Mantid::API::MultiDomainFunction_sptr createFunctionWithGlobalBeta(Mantid::API::IFunction_sptr function) const; diff --git a/qt/scientific_interfaces/Indirect/JumpFitModel.cpp b/qt/scientific_interfaces/Indirect/JumpFitModel.cpp index 9b0c7a3b743f9998554cc2785535352d8729ae84..c98df472710f0759c12a5771737611d2f5f81572 100644 --- a/qt/scientific_interfaces/Indirect/JumpFitModel.cpp +++ b/qt/scientific_interfaces/Indirect/JumpFitModel.cpp @@ -55,7 +55,7 @@ findAxisLabels(MatrixWorkspace const *workspace, Predicate const &predicate) { return std::make_pair(std::vector<std::string>(), std::vector<std::size_t>()); } -Spectra createSpectra(std::size_t spectrum) { +SpectraLegacy createSpectra(std::size_t spectrum) { return std::make_pair(spectrum, spectrum); } @@ -213,7 +213,7 @@ namespace CustomInterfaces { namespace IDA { void JumpFitModel::addWorkspace(Mantid::API::MatrixWorkspace_sptr workspace, - const Spectra & /*spectra*/) { + const SpectraLegacy & /*spectra*/) { const auto name = getHWHMName(workspace->getName()); const auto parameters = addJumpFitParameters(workspace.get(), name); diff --git a/qt/scientific_interfaces/Indirect/JumpFitModel.h b/qt/scientific_interfaces/Indirect/JumpFitModel.h index 72b83771c25d040be12347f100e9d8d628939dcf..795f6e71693b27dd96a0806ce82bfceda920c711 100644 --- a/qt/scientific_interfaces/Indirect/JumpFitModel.h +++ b/qt/scientific_interfaces/Indirect/JumpFitModel.h @@ -25,7 +25,7 @@ public: using IndirectFittingModelLegacy::addWorkspace; void addWorkspace(Mantid::API::MatrixWorkspace_sptr workspace, - const Spectra & /*spectra*/) override; + const SpectraLegacy & /*spectra*/) override; void removeWorkspace(std::size_t index) override; void setFitType(const std::string &fitType); diff --git a/qt/scientific_interfaces/Indirect/test/ConvFitModelTest.h b/qt/scientific_interfaces/Indirect/test/ConvFitModelTest.h index cbd10b79384580e285ca77ae72344cc24e1fe949..c5dfe2429c304c0870ea1127af4aef90c0bcb492 100644 --- a/qt/scientific_interfaces/Indirect/test/ConvFitModelTest.h +++ b/qt/scientific_interfaces/Indirect/test/ConvFitModelTest.h @@ -64,7 +64,7 @@ public: } void test_that_the_model_is_instantiated_and_can_hold_a_workspace() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); m_model->addWorkspace(m_workspace, spectra); @@ -72,7 +72,7 @@ public: } void test_that_addWorkspace_will_add_multiple_workspaces() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const workspace2 = createWorkspace(3, 3); auto const workspace3 = createWorkspace(3, 2); auto const workspace4 = createWorkspace(3, 6); @@ -86,7 +86,7 @@ public: void test_that_getFittingFunction_will_return_the_fitting_function_which_has_been_set() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace); m_model->setFitFunction(getFunction(getFunctionString("Name"))); @@ -98,7 +98,7 @@ public: void test_that_getInstrumentResolution_will_return_none_if_the_index_provided_is_larger_than_the_number_of_workspaces() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const workspace2 = createWorkspace(3, 3); m_ads->addOrReplace("Name2", workspace2); @@ -112,7 +112,7 @@ public: /// A unit test for a positive response from getInstrumentResolution needs /// to be added. The workspace used in the test will need to have an /// analyser attached to its instrument - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const workspace2 = createWorkspace(3, 3); m_ads->addOrReplace("Name2", workspace2); @@ -123,7 +123,7 @@ public: void test_that_getNumberHistograms_will_get_the_number_of_spectra_for_the_workspace_specified() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const workspace2 = createWorkspace(5, 3); m_ads->addOrReplace("Name2", workspace2); @@ -134,7 +134,7 @@ public: void test_that_getResolution_will_return_the_a_nullptr_when_the_resolution_has_not_been_set() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const resolution = createWorkspace(5, 3); addWorkspacesToModel(spectra, m_workspace); @@ -143,7 +143,7 @@ public: } void test_that_getResolution_will_return_the_workspace_which_it_was_set_at() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const resolution = createWorkspace(6, 3); addWorkspacesToModel(spectra, m_workspace); @@ -154,7 +154,7 @@ public: void test_that_getResolution_will_return_the_a_nullptr_when_the_index_provided_is_out_of_range() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const resolution = createWorkspace(6, 3); addWorkspacesToModel(spectra, m_workspace); @@ -174,7 +174,7 @@ public: void test_that_removeWorkspace_will_remove_the_workspace_specified_from_the_model() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace); m_model->removeWorkspace(0); @@ -202,13 +202,13 @@ public: private: template <typename Workspace, typename... Workspaces> - void addWorkspacesToModel(Spectra const &spectra, Workspace const &workspace, + void addWorkspacesToModel(SpectraLegacy const &spectra, Workspace const &workspace, Workspaces const &... workspaces) { m_model->addWorkspace(workspace, spectra); addWorkspacesToModel(spectra, workspaces...); } - void addWorkspacesToModel(Spectra const &spectra, + void addWorkspacesToModel(SpectraLegacy const &spectra, MatrixWorkspace_sptr const &workspace) { m_model->addWorkspace(workspace, spectra); } diff --git a/qt/scientific_interfaces/Indirect/test/IndirectFitDataTest.h b/qt/scientific_interfaces/Indirect/test/IndirectFitDataTest.h index df6e612698dbbb569dea06bec046b347d6899f52..d3423098c988c2cd0891944863e25c8aae6d094c 100644 --- a/qt/scientific_interfaces/Indirect/test/IndirectFitDataTest.h +++ b/qt/scientific_interfaces/Indirect/test/IndirectFitDataTest.h @@ -25,7 +25,7 @@ namespace { std::unique_ptr<IndirectFitDataLegacy> getIndirectFitData(int const &numberOfSpectra) { auto const workspace = createWorkspace(numberOfSpectra); - Spectra const spec = std::make_pair(0u, workspace->getNumberHistograms() - 1); + SpectraLegacy const spec = std::make_pair(0u, workspace->getNumberHistograms() - 1); IndirectFitDataLegacy data(workspace, spec); return std::make_unique<IndirectFitDataLegacy>(data); } @@ -44,7 +44,7 @@ public: void test_data_is_instantiated() { auto const workspace = createWorkspace(1); - Spectra const spec = + SpectraLegacy const spec = std::make_pair(0u, workspace->getNumberHistograms() - 1); workspace->setTitle("Test Title"); @@ -72,7 +72,7 @@ public: auto data = getIndirectFitData(11); std::string const inputString = "8,0-7,6,10"; - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-8,10"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-8,10"); data->setSpectra(inputString); TS_ASSERT( @@ -84,7 +84,7 @@ public: auto data = getIndirectFitData(11); std::string const inputString = "1,2,4-3,10"; - Spectra const spectra = DiscontinuousSpectra<std::size_t>("1-4,10"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("1-4,10"); data->setSpectra(inputString); TS_ASSERT( @@ -96,7 +96,7 @@ public: auto data = getIndirectFitData(11); std::string const inputString = " 8,10, 7"; - Spectra const spectra = DiscontinuousSpectra<std::size_t>("7-8,10"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("7-8,10"); data->setSpectra(inputString); TS_ASSERT( @@ -158,7 +158,7 @@ public: void test_that_true_is_returned_from_zeroSpectra_if_data_contains_empty_workspace() { auto workspace = boost::make_shared<Workspace2D>(); - Spectra const spec = std::make_pair(0u, 0u); + SpectraLegacy const spec = std::make_pair(0u, 0u); IndirectFitDataLegacy const data(workspace, spec); TS_ASSERT_EQUALS(data.zeroSpectra(), true); @@ -263,7 +263,7 @@ public: void test_throws_when_setSpectra_is_provided_an_out_of_range_spectra() { auto data = getIndirectFitData(10); - std::vector<Spectra> const spectraPairs{ + std::vector<SpectraLegacy> const spectraPairs{ std::make_pair(0u, 11u), std::make_pair(0u, 1000000000000000000u), std::make_pair(10u, 10u)}; std::vector<std::string> const spectraStrings{ @@ -280,7 +280,7 @@ public: void test_no_throw_when_setSpectra_is_provided_a_valid_spectra() { auto data = getIndirectFitData(10); - std::vector<Spectra> const spectraPairs{ + std::vector<SpectraLegacy> const spectraPairs{ std::make_pair(0u, 9u), std::make_pair(4u, 4u), std::make_pair(7u, 4u)}; std::vector<std::string> const spectraStrings{"0", "9", "0,9,6,4,5", "1,2,3,4,5,6"}; @@ -381,7 +381,7 @@ public: data1->setSpectra(std::make_pair(0u, 4u)); data2->setSpectra(std::make_pair(5u, 9u)); auto const combinedData = data2->combine(*data1); - Spectra const spec(std::make_pair(0u, 9u)); + SpectraLegacy const spec(std::make_pair(0u, 9u)); TS_ASSERT( boost::apply_visitor(AreSpectraEqual(), combinedData.spectra(), spec)); @@ -395,7 +395,7 @@ public: data1->setSpectra(std::make_pair(0u, 4u)); data2->setSpectra(std::make_pair(8u, 9u)); auto const combinedData = data2->combine(*data1); - Spectra const spec(DiscontinuousSpectra<std::size_t>("0-4,8-9")); + SpectraLegacy const spec(DiscontinuousSpectra<std::size_t>("0-4,8-9")); TS_ASSERT( boost::apply_visitor(AreSpectraEqual(), combinedData.spectra(), spec)); @@ -409,7 +409,7 @@ public: data1->setSpectra(std::make_pair(0u, 8u)); data2->setSpectra(std::make_pair(4u, 9u)); auto const combinedData = data2->combine(*data1); - Spectra const spec(DiscontinuousSpectra<std::size_t>("0-9")); + SpectraLegacy const spec(DiscontinuousSpectra<std::size_t>("0-9")); TS_ASSERT( boost::apply_visitor(AreSpectraEqual(), combinedData.spectra(), spec)); @@ -423,7 +423,7 @@ public: data1->setSpectra(DiscontinuousSpectra<std::size_t>("0-4")); data2->setSpectra(DiscontinuousSpectra<std::size_t>("5-9")); auto const combinedData = data2->combine(*data1); - Spectra const spec(DiscontinuousSpectra<std::size_t>("0-9")); + SpectraLegacy const spec(DiscontinuousSpectra<std::size_t>("0-9")); TS_ASSERT( boost::apply_visitor(AreSpectraEqual(), combinedData.spectra(), spec)); @@ -437,7 +437,7 @@ public: data1->setSpectra(DiscontinuousSpectra<std::size_t>("0-7")); data2->setSpectra(DiscontinuousSpectra<std::size_t>("2-9")); auto const combinedData = data2->combine(*data1); - Spectra const spec(DiscontinuousSpectra<std::size_t>("0-9")); + SpectraLegacy const spec(DiscontinuousSpectra<std::size_t>("0-9")); TS_ASSERT( boost::apply_visitor(AreSpectraEqual(), combinedData.spectra(), spec)); @@ -451,7 +451,7 @@ public: data1->setSpectra(DiscontinuousSpectra<std::size_t>("0-4")); data2->setSpectra(std::make_pair(5u, 9u)); auto const combinedData = data2->combine(*data1); - Spectra const spec(DiscontinuousSpectra<std::size_t>("0-9")); + SpectraLegacy const spec(DiscontinuousSpectra<std::size_t>("0-9")); TS_ASSERT( boost::apply_visitor(AreSpectraEqual(), combinedData.spectra(), spec)); @@ -465,7 +465,7 @@ public: data1->setSpectra(DiscontinuousSpectra<std::size_t>("0-7")); data2->setSpectra(std::make_pair(4u, 9u)); auto const combinedData = data2->combine(*data1); - Spectra const spec(DiscontinuousSpectra<std::size_t>("0-9")); + SpectraLegacy const spec(DiscontinuousSpectra<std::size_t>("0-9")); TS_ASSERT( boost::apply_visitor(AreSpectraEqual(), combinedData.spectra(), spec)); diff --git a/qt/scientific_interfaces/Indirect/test/IndirectFitOutputTest.h b/qt/scientific_interfaces/Indirect/test/IndirectFitOutputTest.h index b8de2b7d0e3a5424a43a8eb1273c82a43b6aec9f..d4ebae7915e1a7fa673dcec3b72f47781e063de2 100644 --- a/qt/scientific_interfaces/Indirect/test/IndirectFitOutputTest.h +++ b/qt/scientific_interfaces/Indirect/test/IndirectFitOutputTest.h @@ -57,7 +57,7 @@ MatrixWorkspace_sptr createPopulatedworkspace(int const &numberOfSpectra) { IndirectFitDataLegacy getIndirectFitData(int const &numberOfSpectra) { auto const workspace = createWorkspace(numberOfSpectra); - Spectra const spec = std::make_pair(0u, workspace->getNumberHistograms() - 1); + SpectraLegacy const spec = std::make_pair(0u, workspace->getNumberHistograms() - 1); IndirectFitDataLegacy data(workspace, spec); return data; } diff --git a/qt/scientific_interfaces/Indirect/test/IndirectFitPlotModelTest.h b/qt/scientific_interfaces/Indirect/test/IndirectFitPlotModelTest.h index b9ab0da6fc0f51b9a10812acdc2eaf100f84b251..d897d8508ba5f88a1ce3dee7e3c2dd8dd33ac667 100644 --- a/qt/scientific_interfaces/Indirect/test/IndirectFitPlotModelTest.h +++ b/qt/scientific_interfaces/Indirect/test/IndirectFitPlotModelTest.h @@ -230,8 +230,8 @@ public: test_that_getSpectra_returns_the_same_spectra_range_which_was_provided_as_input() { auto const model = getFitPlotModel(); - Spectra const spectra = std::make_pair(0u, 9u); - Spectra const storedSpectra = model.getSpectra(); + SpectraLegacy const spectra = std::make_pair(0u, 9u); + SpectraLegacy const storedSpectra = model.getSpectra(); TS_ASSERT(boost::apply_visitor(AreSpectraEqual(), storedSpectra, spectra)); } diff --git a/qt/scientific_interfaces/Indirect/test/IndirectFittingModelTest.h b/qt/scientific_interfaces/Indirect/test/IndirectFittingModelTest.h index 99dea2567f006a5451991a2e843763259890bb9b..cb0287584b4aaf2831b23c9ac34347dbc9d2f4d7 100644 --- a/qt/scientific_interfaces/Indirect/test/IndirectFittingModelTest.h +++ b/qt/scientific_interfaces/Indirect/test/IndirectFittingModelTest.h @@ -255,9 +255,9 @@ public: test_that_getSpectra_returns_a_correct_spectra_when_the_index_provided_is_valid() { auto model = createModelWithSingleWorkspace("WorkspaceName", 3); - Spectra const inputSpectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const inputSpectra = DiscontinuousSpectra<std::size_t>("0-1"); model->setSpectra(inputSpectra, 0); - Spectra const spectra = model->getSpectra(0); + SpectraLegacy const spectra = model->getSpectra(0); TS_ASSERT(boost::apply_visitor(AreSpectraEqual(), spectra, inputSpectra)); } @@ -266,8 +266,8 @@ public: test_that_getSpectra_returns_an_empty_DiscontinuousSpectra_when_provided_an_out_of_range_index() { auto model = createModelWithSingleWorkspace("WorkspaceName", 3); - Spectra const emptySpectra(DiscontinuousSpectra<std::size_t>("")); - Spectra const spectra = model->getSpectra(3); + SpectraLegacy const emptySpectra(DiscontinuousSpectra<std::size_t>("")); + SpectraLegacy const spectra = model->getSpectra(3); TS_ASSERT(boost::apply_visitor(AreSpectraEqual(), spectra, emptySpectra)); } @@ -556,9 +556,9 @@ public: test_that_setSpectra_will_set_the_spectra_to_the_provided_inputSpectra() { auto model = createModelWithSingleWorkspace("WorkspaceName", 10); - Spectra const inputSpectra = DiscontinuousSpectra<std::size_t>("2,4,6-8"); + SpectraLegacy const inputSpectra = DiscontinuousSpectra<std::size_t>("2,4,6-8"); model->setSpectra(inputSpectra, 0); - Spectra const spectra = model->getSpectra(0); + SpectraLegacy const spectra = model->getSpectra(0); TS_ASSERT(boost::apply_visitor(AreSpectraEqual(), spectra, inputSpectra)); } @@ -567,9 +567,9 @@ public: test_that_setSpectra_will_set_the_spectra_when_provided_a_spectra_pair() { auto model = createModelWithSingleWorkspace("WorkspaceName", 10); - Spectra const inputSpectra = std::make_pair(0u, 5u); + SpectraLegacy const inputSpectra = std::make_pair(0u, 5u); model->setSpectra(inputSpectra, 0); - Spectra const spectra = model->getSpectra(0); + SpectraLegacy const spectra = model->getSpectra(0); TS_ASSERT(boost::apply_visitor(AreSpectraEqual(), spectra, inputSpectra)); } diff --git a/qt/scientific_interfaces/Indirect/test/IqtFitModelTest.h b/qt/scientific_interfaces/Indirect/test/IqtFitModelTest.h index add9269b176ae6a1817f682af2df2326bdcb9e71..bbb06a4e7c7ff91065ddb35de3af425ba2374be2 100644 --- a/qt/scientific_interfaces/Indirect/test/IqtFitModelTest.h +++ b/qt/scientific_interfaces/Indirect/test/IqtFitModelTest.h @@ -68,11 +68,11 @@ public: } void test_that_the_model_is_instantiated_and_can_hold_a_workspace() { - SpectraNew const spectra = SpectraNew("0-1"); + Spectra const spectra = Spectra("0-1"); m_model->addWorkspace(m_workspace, spectra); - TS_ASSERT_EQUALS(m_model->numberOfWorkspaces(), DatasetIndex{1}); + TS_ASSERT_EQUALS(m_model->numberOfWorkspaces(), TableDatasetIndex{1}); } void test_that_getSpectrumDependentAttributes_will_return_an_empty_vector() { diff --git a/qt/scientific_interfaces/Indirect/test/JumpFitModelTest.h b/qt/scientific_interfaces/Indirect/test/JumpFitModelTest.h index 23afd7fcc3b557fb2e8ead97d2fb4d721c1b83b6..49ce438633ea69518053f5f89fd63c31475838ad 100644 --- a/qt/scientific_interfaces/Indirect/test/JumpFitModelTest.h +++ b/qt/scientific_interfaces/Indirect/test/JumpFitModelTest.h @@ -56,7 +56,7 @@ public: } void test_that_the_model_is_instantiated_and_can_hold_a_workspace() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace); @@ -65,7 +65,7 @@ public: void test_that_removeWorkspace_will_remove_the_specified_workspace_from_the_model() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace); m_model->removeWorkspace(0); @@ -75,7 +75,7 @@ public: void test_that_setFitType_will_change_the_fit_type_in_the_sequentialFitOutputName() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace); m_model->setFitType("ChudleyElliot"); @@ -86,7 +86,7 @@ public: void test_that_setFitType_will_change_the_fit_type_in_the_simultaneousFitOutputName() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace); m_model->setFitType("ChudleyElliot"); @@ -96,7 +96,7 @@ public: } void test_that_zeroWidths_returns_false_if_the_workspace_contains_widths() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace); @@ -104,7 +104,7 @@ public: } void test_that_zeroWidths_returns_true_if_the_workspace_contains_no_widths() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const workspace2 = createWorkspaceWithTextAxis(2, getNoWidthLabels()); m_ads->addOrReplace("Name2", workspace2); @@ -114,7 +114,7 @@ public: } void test_that_zeroEISF_returns_false_if_the_workspace_contains_EISFs() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace); @@ -122,7 +122,7 @@ public: } void test_that_zeroEISF_returns_true_if_the_workspace_contains_no_EISFs() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const workspace2 = createWorkspaceWithTextAxis(2, getNoEISFLabels()); m_ads->addOrReplace("Name2", workspace2); @@ -133,7 +133,7 @@ public: void test_that_isMultiFit_returns_false_if_the_model_contains_one_workspace() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace); @@ -142,7 +142,7 @@ public: void test_that_isMultiFit_returns_true_if_the_model_contains_multiple_workspace() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const workspace2 = createWorkspaceWithTextAxis(2, getNoEISFLabels()); m_ads->addOrReplace("Name2", workspace2); @@ -153,7 +153,7 @@ public: void test_that_isMultiFit_returns_false_if_the_model_contains_multiple_workspace_which_are_identical() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace, m_workspace); @@ -166,7 +166,7 @@ public: void test_that_getFitParameterName_will_return_the_name_of_the_expected_parameter() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace); @@ -176,7 +176,7 @@ public: void test_that_getWidths_will_return_an_empty_vector_if_there_are_no_widths() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const workspace2 = createWorkspaceWithTextAxis(2, getNoWidthLabels()); m_ads->addOrReplace("Name2", workspace2); @@ -186,7 +186,7 @@ public: } void test_that_getWidths_will_return_the_width_parameter_names() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace); @@ -195,7 +195,7 @@ public: } void test_that_getEISF_will_return_an_empty_vector_if_there_are_no_EISFs() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const workspace2 = createWorkspaceWithTextAxis(2, getNoEISFLabels()); m_ads->addOrReplace("Name2", workspace2); @@ -205,7 +205,7 @@ public: } void test_that_getEISF_will_return_the_EISF_parameter_names() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace); @@ -214,7 +214,7 @@ public: } void test_that_getWidthSpectrum_will_return_none_when_there_are_no_widths() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const workspace2 = createWorkspaceWithTextAxis(2, getNoWidthLabels()); m_ads->addOrReplace("Name2", workspace2); @@ -224,7 +224,7 @@ public: } void test_that_getWidthSpectrum_will_return_the_width_spectrum_number() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace); @@ -233,7 +233,7 @@ public: } void test_that_getEISFSpectrum_will_return_none_when_there_are_no_EISFs() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const workspace2 = createWorkspaceWithTextAxis(2, getNoEISFLabels()); m_ads->addOrReplace("Name2", workspace2); @@ -243,7 +243,7 @@ public: } void test_that_getEISFSpectrum_will_return_the_EISF_spectrum_number() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace); @@ -253,7 +253,7 @@ public: void test_that_sequentialFitOutputName_returns_the_correct_name_for_a_multi_fit() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const workspace2 = createWorkspaceWithTextAxis(2, getNoEISFLabels()); m_ads->addOrReplace("Name2", workspace2); @@ -266,7 +266,7 @@ public: void test_that_simultaneousFitOutputName_returns_the_correct_name_for_a_multi_fit() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); auto const workspace2 = createWorkspaceWithTextAxis(2, getNoEISFLabels()); m_ads->addOrReplace("Name2", workspace2); @@ -279,7 +279,7 @@ public: void test_that_singleFitOutputName_returns_the_correct_name_for_a_single_data_set_fit() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); addWorkspacesToModel(spectra, m_workspace); m_model->setFitType("ChudleyElliot"); @@ -290,13 +290,13 @@ public: private: template <typename Workspace, typename... Workspaces> - void addWorkspacesToModel(Spectra const &spectra, Workspace const &workspace, + void addWorkspacesToModel(SpectraLegacy const &spectra, Workspace const &workspace, Workspaces const &... workspaces) { m_model->addWorkspace(workspace, spectra); addWorkspacesToModel(spectra, workspaces...); } - void addWorkspacesToModel(Spectra const &spectra, + void addWorkspacesToModel(SpectraLegacy const &spectra, MatrixWorkspace_sptr const &workspace) { m_model->addWorkspace(workspace, spectra); } diff --git a/qt/scientific_interfaces/Indirect/test/MSDFitModelTest.h b/qt/scientific_interfaces/Indirect/test/MSDFitModelTest.h index aeccaff2718e032af04f6490b68b3bc21854623b..97d52a9b0c3f24815086569b5f4d36ffa625086a 100644 --- a/qt/scientific_interfaces/Indirect/test/MSDFitModelTest.h +++ b/qt/scientific_interfaces/Indirect/test/MSDFitModelTest.h @@ -44,7 +44,7 @@ public: } void test_that_the_model_is_instantiated_and_can_hold_a_workspace() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); m_model->addWorkspace(m_workspace, spectra); @@ -53,7 +53,7 @@ public: void test_that_sequentialFitOutputName_returns_the_correct_name_which_uses_the_fit_string_set() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); m_model->addWorkspace(m_workspace, spectra); m_model->setFitType("Gaussian"); @@ -63,7 +63,7 @@ public: void test_that_simultaneousFitOutputName_returns_the_correct_name_which_uses_the_fit_string_set() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); m_model->addWorkspace(m_workspace, spectra); m_model->setFitType("Gaussian"); @@ -73,7 +73,7 @@ public: void test_that_singleFitOutputName_returns_the_correct_name_which_uses_the_fit_string_set() { - Spectra const spectra = DiscontinuousSpectra<std::size_t>("0-1"); + SpectraLegacy const spectra = DiscontinuousSpectra<std::size_t>("0-1"); m_model->addWorkspace(m_workspace, spectra); m_model->setFitType("Gaussian");