Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove old Data analysis tab classes #36389

Conversation

robertapplin
Copy link
Contributor

@robertapplin robertapplin commented Nov 9, 2023

Description of work

This PR removes the ConvFitTab, MSDFitTab, IqtFitTab and FqFitTab classes. Since the move to MVP a few years ago in the Data Analysis interface, all the functions for the tabs should be in the relevant Model-View-Presenter files for the relevant section of the GUI. This PR finally removes these classes so that new functionality is not added into them anymore.

Some of the changes might look a bit messy, but this is because this is only a stepping stone. There is still a lot of refactoring to do in this area, in particular surrounding the IndirectDataAnalysisTab class. I will continue with this refactor in a separate PR so that this one does not get too large. I have opened an issue to continue refactoring #36390

There is no associated issue.

To test:

  1. Go to Interfaces
  2. Then Inelastic Data Analysis
  3. Select Add Workspace for each tab and enter the data below for the corresponding tabs
  4. Select the corresponding fit functions
  5. Click Run
  6. Click Plot Spectra or Plot (depending on the tab). Try Plot Tiled on the Iqt tab (accessed via the down arrow on the Plot Spectra button)

Also try moving around the range selectors on the embeded plots (the dashed vertical lines).

Test Data

MSDFit Tab
Input file: osi92762_graphite002_elwin_eq.zip
Select Fit Type: MSDGauss

IqtFit Tab
Input file: irs26176_graphite002_iqt.zip
Tick Stretched Exponential
Select Flat background
Note: drag the EndX on the graph to the left a bit to miss the noise (0.15 I think)

ConvFit Tab
Input files: irs26176_graphite002_red.zip
irs26173_graphite002_res.zip
Select Fit Type: Two Lorenztian

F(Q) Tab
Input file: IN16B_125878_QLd_Result.zip
Select Fit Type: Chudley Elliott

This does not require release notes because it is an internal refactor

Reviewer

Please comment on the points listed below (full description).
Your comments will be used as part of the gatekeeper process, so please comment clearly on what you have checked during your review. If changes are made to the PR during the review process then your final comment will be the most important for gatekeepers. In this comment you should make it clear why any earlier review is still valid, or confirm that all requested changes have been addressed.

Code Review

  • Is the code of an acceptable quality?
  • Does the code conform to the coding standards?
  • Are the unit tests small and test the class in isolation?
  • If there is GUI work does it follow the GUI standards?
  • If there are changes in the release notes then do they describe the changes appropriately?
  • Do the release notes conform to the release notes guide?

Functional Tests

  • Do changes function as described? Add comments below that describe the tests performed?
  • Do the changes handle unexpected situations, e.g. bad input?
  • Has the relevant (user and developer) documentation been added/updated?

Does everything look good? Mark the review as Approve. A member of @mantidproject/gatekeepers will take care of it.

Gatekeeper

If you need to request changes to a PR then please add a comment and set the review status to "Request changes". This will stop the PR from showing up in the list for other gatekeepers.

@robertapplin robertapplin added Maintenance Unassigned issues to be addressed in the next maintenance period. ISIS Team: Spectroscopy Issue and pull requests managed by the Spectroscopy subteam at ISIS Inelastic labels Nov 9, 2023
@robertapplin robertapplin added this to the Release 6.9 milestone Nov 15, 2023
@robertapplin robertapplin force-pushed the 0-refactor-by-removing-individual-analysis-tab-classes branch 3 times, most recently from 35a388d to cbe87b7 Compare November 15, 2023 17:35
@robertapplin robertapplin marked this pull request as ready for review November 16, 2023 08:34
@MohamedAlmaki MohamedAlmaki self-assigned this Nov 28, 2023
@MohamedAlmaki MohamedAlmaki self-requested a review November 28, 2023 16:34
Copy link
Contributor

@MohamedAlmaki MohamedAlmaki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the refactoring, now the code is cleaner. Just a few comments

@robertapplin robertapplin force-pushed the 0-refactor-by-removing-individual-analysis-tab-classes branch from cbe87b7 to 75e2a07 Compare November 29, 2023 11:44
Copy link
Contributor

@MohamedAlmaki MohamedAlmaki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tabs work as expected. Thanks for enhancing the code quality

@MialLewis MialLewis merged commit a35511e into mantidproject:main Nov 30, 2023
@robertapplin robertapplin added Indirect/Inelastic Issues and pull requests related to indirect or inelastic and removed Inelastic labels Feb 6, 2024
@robertapplin robertapplin deleted the 0-refactor-by-removing-individual-analysis-tab-classes branch May 17, 2024 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Indirect/Inelastic Issues and pull requests related to indirect or inelastic ISIS Team: Spectroscopy Issue and pull requests managed by the Spectroscopy subteam at ISIS Maintenance Unassigned issues to be addressed in the next maintenance period.
Projects
Status: Merged
Development

Successfully merging this pull request may close these issues.

3 participants