Ticket #10040 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

ConvertToMD as part of workflow should not assume ws is in ads

Reported by: Owen Arnold Owned by: Alex Buts
Priority: major Milestone: Release 3.3
Component: Framework Keywords:
Cc: Blocked By:
Blocking: Tester: Harry Jeffery

Description

ConvertToMD checks that input workspace in the ADS. This is not always the case, and it is important for WorkflowAlgorithms that that sub algorithms do not need to interact with the ADS until all operations are complete.

Check that causes this to throw is here https://github.com/mantidproject/mantid/blob/master/Code/Mantid/Framework/MDAlgorithms/src/ConvertToMDParent.cpp#L245-L249

Once complete, it should be possible to use ConvertToMD as part of a workflow algorithm, for example, as a test case, loading an event nexus file and immediately converting to MD.

Change History

comment:1 Changed 6 years ago by Nick Draper

  • Status changed from new to assigned
  • Summary changed from ConvertToMD as part of workflow. to ConvertToMD as part of workflow should not assume ws is in ads

comment:2 Changed 6 years ago by Alex Buts

  • Status changed from assigned to inprogress

refs #10040 This should fix it.

Also changed transfer of shared pointer as const reference to subroutines to avoid unnecessary ref count increase

Changeset: 4ac6e2ff4a21ecc44a2251674c7266f7f80fadbc

comment:3 Changed 6 years ago by Alex Buts

refs #10040 fixing Unix errors

Changeset: 7280223c18c8efff6154ed28e97ab1384e571d74

comment:4 Changed 6 years ago by Alex Buts

refs #10040 removing unit test verifying ws presence in dataservice

Changeset: c283c48196fedb00cf290d643ed00095ebfb50d8

comment:5 Changed 6 years ago by Alex Buts

  • Status changed from inprogress to verify
  • Resolution set to fixed

Not sure what the scope of this ticket is, as WorkspaceProperty adds WS to dataservice anyway and nobody was expected to use the internal methods which access workspace pointers separately from the algorithm.

But the methods were tested separately, so somebody may use them separately after all. So, the change would allow to use these methods (and the algorithms itself) without workspace in a dataservice.

The code is clearer now and does not need a workspace to be in a dataservice.

comment:6 Changed 6 years ago by Harry Jeffery

  • Status changed from verify to verifying
  • Tester set to Harry Jeffery

comment:7 Changed 6 years ago by Harry Jeffery

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/bugfix/10040_wsInADS'

Full changeset: 601fbdf6b31ff9cefa1adc8990f5d7cb3036b073

comment:8 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 10882

Note: See TracTickets for help on using tickets.