Ticket #10309 (closed: fixed)
LoadISISNexus does not load monitors if they are at the end of the spectra list
Reported by: | Alex Buts | Owned by: | Alex Buts |
---|---|---|---|
Priority: | major | Milestone: | Release 3.3 |
Component: | Framework | Keywords: | |
Cc: | martyn.gigg@… | Blocked By: | |
Blocking: | #9989 | Tester: | Martyn Gigg |
Description
And may be having different time channels (this needs checking)
Change History
comment:2 Changed 6 years ago by Alex Buts
refs #10309 LoadNexusMonitors falls back to isis vms compartibility
data to got instrument name from incorrectly formatted ISIS nexus file
Changeset: 30c4756704cd1dda86f3efd5c11e9078619f3744
comment:3 Changed 6 years ago by Alex Buts
refs #10309 unit test for the changes
Changeset: eaf7cccdd980f7cbc91a46776ebf4c255666951b
comment:4 Changed 6 years ago by Alex Buts
refs #10309 Typo in unit test
Changeset: b578ede841a192e5ad2c519b33300b8edf39a56e
comment:5 Changed 6 years ago by Alex Buts
- Status changed from new to assigned
I've fixed LoadNexusMonitors but loading monitors with workspace does not make sense when time channels are different. In this case the monitors have to go to a separate workspace and this should be done within the frames of the ticket #9989.
This is why I am marking this ticket as completed.
To test try LoadNexusMonitors on LOQ49886 from Mantid unit tests. If will fail, bit will work properly after the patch.
Unit and system tests should not be affected. All other changes will go to ticket #9989
comment:6 Changed 6 years ago by Alex Buts
- Status changed from assigned to verify
- Resolution set to fixed
comment:8 Changed 6 years ago by Alex Buts
- Blocking 9989 added
(In #9989) The code described in the ticket should work now. This requested changes in the code much larger then I had ever anticipated.
The problem with the generic loader above was that LoadISISNexus2, invoked by it after this command did not understand option "Load Monitors separately"
To fix this ticket I've implemented two and accounted for third thing:
1) An interface (borrowed from load raw), which allows to select separate monitor's loading.
2) A possibility to load monitors which have different time binning wrt the detectors.
3) Sometimes, scientists on instrument mix up wiring table and monitors data go into detectors data. I do not know if monitors data are written into monitors block, but I've tried explicitly identify this situation and reading the monitors data from the detector's table in this case.
LoadISISNexus have now two logically separate operation modes. The old one, which is default and should work as before if LoadMonitors->Included is selected.
The new one, where spectra selection options are largely ignored should be common for LoadISISNexus, LoadRaw and LoadEventNexus. It is necessary for seamless functioning of reduction from common loader's interface and loads monitors together, separately or excludes them from workspace.
I tried but have not implemented LoadMonitors->Separately for group workspace. If somebody needs this option, a separate ticket to do that should be issued.
I tried this loader on range of files, presented at ftp://ftp.nd.rl.ac.uk/scratch/abuts/Ticket_9989/ It works fine for me but changes to underlying code are so big, that tester should try to break the loader selecting different files and different mixtures of the interface options.
comment:9 Changed 6 years ago by Martyn Gigg
- Status changed from verify to verifying
- Tester set to Martyn Gigg
comment:10 Changed 6 years ago by Martyn Gigg
- Status changed from verifying to closed
Merge branch 'bugfix/10309_LoadMonitorsBug'
Full changeset: da669ea6c7e6410d1ff6f115a9383d71af02e589
comment:11 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 11151