/** * @brief Copies the sorted inputworkspace into the output workspace without * using clone because of how histograms are supported, for the X Axis and the * Dx Axis. * * @param workspaceIndicies the sorted vector of indecies * @param inputWorkspace the unsorted initial workspace * @param outputWorkspace the emptry output workspace * @param specNum the Spectrum it is currently copying over */ void SortXAxis::copyXandDxToOutputWorkspace( std::vector<std::size_t> &workspaceIndicies, const Mantid::API::MatrixWorkspace &inputWorkspace, Mantid::API::MatrixWorkspace &outputWorkspace, unsigned int specNum) { // Move an ordered X to the output workspace for (auto workspaceIndex = 0u; workspaceIndex < inputWorkspace.x(specNum).size(); workspaceIndex++) { outputWorkspace.mutableX(specNum)[workspaceIndex] = inputWorkspace.x(specNum)[workspaceIndicies[workspaceIndex]]; } // If Dx's are present, move Dx's to the output workspace // If Dx's are present, move Dx's to the output workspace if (inputWorkspace.hasDx(specNum)) { for (auto workspaceIndex = 0u; workspaceIndex < inputWorkspace.dx(specNum).size(); workspaceIndex++) { outputWorkspace.mutableDx(specNum)[workspaceIndex] = inputWorkspace.dx(specNum)[workspaceIndicies[workspaceIndex]]; } } }