Ticket #9632 (closed: fixed)
tube.calibrate() python function no longer works
Reported by: | Karl Palmen | Owned by: | Karl Palmen |
---|---|---|---|
Priority: | blocker | Milestone: | Release 3.2 |
Component: | Framework | Keywords: | |
Cc: | nick.draper@…, anders.markvardsen@…, peter.parker@… | Blocked By: | |
Blocking: | #9729 | Tester: | Roman Tolchenov |
Description
The function tube.calibrate() does not work in the example script mantid/scripts/Calibration/Examples/TubeCalibDemoMerlin.py
The error is:
ArgumentError: Python argument types in MatrixWorkspace.getDetector(MatrixWorkspace, list) did not match C++ signature: getDetector(class Mantid::API::MatrixWorkspace {lvalue} self, unsigned __int64 workspaceIndex) at line 230 in 'C:/Mantid2/mantid/Code/Mantid/scripts/Calibration/Examples/TubeCalibDemoMerlin.py' caused by line 104 in 'C:/Mantid2/mantid/Code/Mantid/scripts/Calibration/Examples/TubeCalibDemoMerlin.py' caused by line 399 in 'C:/Mantid2/mantid/Code/Mantid/scripts/Calibration\tube.py'
It did work in release 3.1.0
This is a blocker, because a scientist (Rob Dalgliesh) is relying on this function to do calibration.
Change History
comment:1 Changed 6 years ago by Karl Palmen
- Status changed from new to assigned
- Cc nick.draper@…, anders.markvardsen@… added
- Owner set to Karl Palmen
comment:2 Changed 6 years ago by Karl Palmen
I see the code in tube.py that causes the problem could possibly be replaced by a call of tubeSpecification.getLength( tubeIndex ).
comment:4 Changed 6 years ago by Karl Palmen
Failure now in line 427 of tube.py rather than line 399 owing to some comments added by Martyn Gigg for documentation.
comment:5 Changed 6 years ago by Karl Palmen
Call relevant methods of TubeSpec re #9632
to obtain tube length and number of detectors, rather than getting the list of spectra for the tube and working from that.
Signed-off-by: Karl Palmen <karl.palmen@…>
Changeset: 69f3b3f242ac3dbd0a55717ce824db3bfc8cec53
comment:6 Changed 6 years ago by Karl Palmen
- Status changed from inprogress to verify
- Resolution set to fixed
To test run the example script mantid/scripts/Calibration/Examples/TubeCalibDemoMerlin.py or similar script that calls tube.calibrate().
comment:8 Changed 6 years ago by Vickie Lynch
- Status changed from verify to verifying
- Tester set to Vickie Lynch
Will test with MER06399.raw from systemtests.
comment:9 Changed 6 years ago by Vickie Lynch
- Status changed from verifying to verify
- Tester Vickie Lynch deleted
This file does not work for calibration: We have 4 detectors per workspace index. 1 is required. cannot obtain range of workspace indices for this tube in this workspace Calibrating tube 1 of 24 MERLIN/door9/tube_1_1 Unable to get any workspace indices (spectra) for this tube. Tube MERLIN/door9/tube_1_1 not calibrated.
comment:11 Changed 6 years ago by Roman Tolchenov
- Status changed from verify to verifying
- Tester set to Roman Tolchenov
comment:12 Changed 6 years ago by Roman Tolchenov
- Status changed from verifying to closed
Merge remote-tracking branch 'origin/bugfix/9632_fix_tube_calibration'
Full changeset: 4bca72bba12f59d27253e1fd396725def9919c43
comment:13 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 10475