Ticket #8960 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

SaveILLCosmos save Algorithm

Reported by: Keith Brown Owned by: Keith Brown
Priority: major Milestone: Release 3.2
Component: Reflectometry Keywords:
Cc: Blocked By: #8958
Blocking: #8963 Tester: Samuel Jackson

Description

ILL Cosmos is a file format the ISIS reflectometry gui can save to, but at present it's written in python.

Write a c++ algorithm for it.

Change History

comment:1 Changed 7 years ago by Keith Brown

  • Blocking 8963 added

comment:2 Changed 7 years ago by Nick Draper

  • Status changed from new to assigned

Bulk move of tickets out of triage (new) to assigned at the introduction of the triage state

comment:3 Changed 7 years ago by Keith Brown

  • Status changed from assigned to inprogress

comment:4 Changed 7 years ago by Keith Brown

Refs #8960 Edited cmake list for new files

Cmake list now has entries for the new files in this ticket

Changeset: ec89afa1e44d8776c8bbc653af354b74221447ea

comment:5 Changed 7 years ago by Keith Brown

Refs #8960 Test skeleton made

The test will be pretty much the same as SaveAnstoAscii's so I've copied it over for now ready for modifications to be made.

Changeset: e3bd9a8f121c06273fe69dfb1e674e3cd60c1ce2

comment:6 Changed 7 years ago by Keith Brown

Refs #8960 Algorithm coming along

Algorithm is nearly there, only a few tweaks and cleanup to go

Changeset: f68ed9fe2a3617677f3af01ca8b28b74beb9ede1

comment:7 Changed 7 years ago by Keith Brown

  • Blocked By 8958 added

(In #8958) #8960 is now being blocked by this as these algorithms need to be subclassed from the same base functionality as they're VERY similiar

comment:8 Changed 7 years ago by Keith Brown

Refs #8960 ILL Cosmos and ANSTO now inherit from a new base class

AsciiPointBase is a new class that contains the base functionality for the ILL Cosmos and ANSTO save routines. It holds the data writing, value checking and property declaring functionality and if any extra functionality is required theres a couple of spots to add it as overridden methods.

Unused headers left over have been removed

Changeset: 66f56598fbd5dd95056405b375eac497a1046b78

comment:9 Changed 7 years ago by Keith Brown

Refs #8960 Unit test and exception catching

The ILLCosmos algorthim will no longer throw if the workspace is missing one or more logs, it will just not print that heading instead.

The test algorithm has been adapted from SaveANSTOAscii (and could also probably be superclassed) and now checks the headings too.

Changeset: fb433265e2799ea53b6ba25fa6846c5b47e461fe

comment:10 Changed 7 years ago by Keith Brown

Refs #8960 Fix coverity warnings from original SaveAnstoAscii

m_sep is no more, replaced totally by the virtual function sep()

The data writing function has been refactored as that was a lot of redundant code.

Changeset: 210efd230d2aa2e41a064a21e2767c468ff9b077

comment:11 Changed 7 years ago by Keith Brown

Refs #8960 Fix style and property grabbing errors

Eliminated a couple of try-catches due to them not being needed.

Fixed style and indentation

Changeset: d56dbb9d3ca267246bb65fa09604d9715cce6558

comment:12 Changed 7 years ago by Keith Brown

Refs #8960 Added tests for the properties and logs

There is a new test checking that the logs and extra properties are read and work correctly.

Changeset: 5908ebaa6a80e1fb3331c11963ade209cea9d3c7

comment:13 Changed 7 years ago by Russell Taylor

Note the GCC warnings relating to the empty extraHeaders method.

comment:14 Changed 7 years ago by Martyn Gigg

There is a cppcheck warning related to the scope of a variable too. See here

comment:15 Changed 7 years ago by Keith Brown

Refs #8960 Copyright info, Gcc and Cppcheck warnings

Added copyright info to the three classes.

Fixed a Gcc warning pertaining to an unused parameter

Fixed a Cppcheck warning pertaining to an over-scoped variable

Changeset: f290183a8b79f158bcdadbfae80d1e769d7a5600

comment:16 Changed 7 years ago by Keith Brown

Refs #8960 Added documentation

Added Doxygen documentation to the classes

Changeset: d4501832824826ed8e50c9b4431967aceee14266

comment:17 Changed 7 years ago by Martyn Gigg

Remove unnecessary static loggers.

Just use the base-algorithm class logger. Refs #8960

Changeset: 1514cfee98551158b29f23d81c37920c49bd4e13

comment:18 Changed 7 years ago by Keith Brown

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

To tester

Save a workspace from within the ISIS reflectometry GUI using the ANSTO and ILL Cosmos formats (File->Save Workspaces)

Then save the same workspace with SaveANSTOAscii and the new SaveILLCosmosAscii algorithm, the resulting files should be identical to the corresponding interface-saved version.

General use instructions - http://www.mantidproject.org/ISIS_Reflectometry_GUI

Testing instructions - http://www.mantidproject.org/Testing_ISIS_Reflectometry_GUI

comment:19 Changed 7 years ago by Keith Brown

Refs #8960 Fix a merge conflict with develop

Merge branch 'feature/8960_SaveILLCosmos_Algorithm' into develop

Conflicts:

Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/SaveANSTOAscii.h Code/Mantid/Framework/DataHandling/src/SaveANSTOAscii.cpp

Changeset: e340f1b81aecaa12be948987363ac3fd8939caed

comment:20 Changed 7 years ago by Samuel Jackson

  • Status changed from verify to verifying
  • Tester set to Samuel Jackson

comment:21 Changed 7 years ago by Samuel Jackson

  • Status changed from verifying to verify
  • Tester Samuel Jackson deleted

comment:22 Changed 7 years ago by Samuel Jackson

  • Status changed from verify to verifying
  • Tester set to Samuel Jackson

comment:23 Changed 7 years ago by Samuel Jackson

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/8960_SaveILLCosmos_Algorithm'

Full changeset: 6585bd649a91ef3d839573e2f3d48509e69c9213

comment:24 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 9803

Note: See TracTickets for help on using tickets.