-
Danny Hindson authored
These mainly affect the performance on a debug build but still helpful to assist in problem identification Fix a problem in InterpolateLogQuadratic where for point data the method wasn't handling x values more than halfway past the midpoint between two points and switch to using std::upper_bound Pass histogram around rather than workspace now that not relying on YIndexOfX method Prime the sample bounding box so there's no race condition in the multi-threaded part Create the Track in the return statement of generateInitialTrack to encourage the return value optimization to happen Pass the S(Q) histogram around rather than the full workspace Avoid calling the points() method because the underlying cow_ptr code involves an std::atomic_load that seems to degrade the performance when running with a lot of threads Fix bug in determining detector position (wrong index being used) Also change the way the seed is determined so the same seed is used for a particular spectrum regardless of how many other spectra are loaded based on the SpectrumMin and SpectrumMax settings of Load Make logging less verbose and some documentation improvements Also rename InterpolateLogQuadratic to InterpolateGaussian to better suggest what it's doing Stop output workspace overwriting existing workspaces Sort out logic for saving the output group workspace - force use of the ADS since we're naming the group member workspaces, and also cater for potential name clashes
32e27165