diff --git a/qt/scientific_interfaces/Muon/MuonAnalysisHelper.cpp b/qt/scientific_interfaces/Muon/MuonAnalysisHelper.cpp index 88c474816d52985ec5ff9eb6fb97f0545fb5fa17..adcc06d24cc7de47c75bbb683111c2a02d8a8e00 100644 --- a/qt/scientific_interfaces/Muon/MuonAnalysisHelper.cpp +++ b/qt/scientific_interfaces/Muon/MuonAnalysisHelper.cpp @@ -973,19 +973,11 @@ Muon::DatasetParams parseWorkspaceName(const std::string &wsName) { */ void parseRunLabel(const std::string &label, std::string &instrument, std::vector<int> &runNumbers) { - size_t path = label.find_last_of("/"); - if (path == std::string::npos) { - size_t path = label.find_last_of('\\'); - } - std::string useThisLabel = label; - if (path != std::string::npos) { - useThisLabel = label.substr(0, path); - } - const size_t instPos = useThisLabel.find_first_of("0123456789"); - instrument = useThisLabel.substr(0, instPos); - const size_t numPos = useThisLabel.find_first_not_of('0', instPos); + const size_t instPos = label.find_first_of("0123456789"); + instrument = label.substr(0, instPos); + const size_t numPos = label.find_first_not_of('0', instPos); if (numPos != std::string::npos) { - std::string runString = useThisLabel.substr(numPos, useThisLabel.size()); + std::string runString = label.substr(numPos, label.size()); // sets of continuous ranges Mantid::Kernel::StringTokenizer rangeTokenizer( runString, ",", Mantid::Kernel::StringTokenizer::TOK_TRIM); diff --git a/qt/scientific_interfaces/Muon/MuonSequentialFitDialog.cpp b/qt/scientific_interfaces/Muon/MuonSequentialFitDialog.cpp index a1a3584c9eb1a6f94255b996e862d382ab7c5760..f35d490d22665814d1b3b13fd77f34790f59e875 100644 --- a/qt/scientific_interfaces/Muon/MuonSequentialFitDialog.cpp +++ b/qt/scientific_interfaces/Muon/MuonSequentialFitDialog.cpp @@ -20,6 +20,23 @@ using MantidQt::MantidWidgets::MuonFitPropertyBrowser; namespace { Logger g_log("MuonSequentialFitDialog"); +std::string removePath(const std::string &labelIn) { + size_t path = labelIn.find_last_of("/"); + if (path == std::string::npos) { + path = labelIn.find_last_of('\\'); + + } + std::string useThisLabel = labelIn; + if (path != std::string::npos) { + path = path + 1; + size_t end = labelIn.find_last_of("."); + useThisLabel = labelIn.substr(path); + useThisLabel = useThisLabel.substr(0, end - path); + auto test = useThisLabel; + } + return useThisLabel; +} + } const std::string MuonSequentialFitDialog::SEQUENTIAL_PREFIX("MuonSeqFit_"); @@ -328,7 +345,7 @@ void MuonSequentialFitDialog::continueFit() { // Get names of workspaces to fit const auto wsNames = m_dataPresenter->generateWorkspaceNames( m_ui.runs->getInstrumentOverride().toStdString(), - m_ui.runs->getText().toStdString(), false); + removePath(m_ui.runs->getText().toStdString()), false); if (wsNames.size() == 0) { QMessageBox::critical( this, "No data to fit",