You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The entities that should be creating or modifying workspaces are Algorithms, not a GUI layer. As such, the code in the Instrument Window classes that does this needs to be moved into new or existing algorithms.
Particular culprits are:
InstrumentWindowMaskTab::createMaskWorkspace
InstrumentWindowMaskTab::saveMaskToWorkspace
InstrumentWindowPickTab::addPeak
Related to this, in InstrumentWindow.cpp, the are 2 different methods employed of running algorithms. One is to emit an 'execMantidAlgorithm' signal that is connected to a MantidUI method, the other is to do it directly via an IAlgorithm handle obtained from the FrameworkManager. This should be made consistent and optimal (e.g. algorithms should run in a separate thread), bearing in mind the possibility that the InstrumentWindow may in the future be extracted from within the MantidPlot executable itself.
Thirdly, the MaskDetectors and GroupDetectors algorithms can both take a list of detector ids, so why does the instrument window (InstrumentWindow::groupDetectors & InstrumentWindow::maskDetectors) go to the trouble of converting such a list to workspace indices prior to calling the algorithms.
The text was updated successfully, but these errors were encountered:
This issue was originally TRAC 3700
Original Reporter: Russell Taylor
The entities that should be creating or modifying workspaces are Algorithms, not a GUI layer. As such, the code in the Instrument Window classes that does this needs to be moved into new or existing algorithms.
Particular culprits are:
Related to this, in InstrumentWindow.cpp, the are 2 different methods employed of running algorithms. One is to emit an 'execMantidAlgorithm' signal that is connected to a MantidUI method, the other is to do it directly via an IAlgorithm handle obtained from the FrameworkManager. This should be made consistent and optimal (e.g. algorithms should run in a separate thread), bearing in mind the possibility that the InstrumentWindow may in the future be extracted from within the MantidPlot executable itself.
Thirdly, the MaskDetectors and GroupDetectors algorithms can both take a list of detector ids, so why does the instrument window (InstrumentWindow::groupDetectors & InstrumentWindow::maskDetectors) go to the trouble of converting such a list to workspace indices prior to calling the algorithms.
The text was updated successfully, but these errors were encountered: