diff --git a/Framework/Nexus/src/NexusFileIO.cpp b/Framework/Nexus/src/NexusFileIO.cpp index 71c12a6861a2c820c62460a11718baa044430813..72ee5808ca9d5075db2c50500861f3957367ae91 100644 --- a/Framework/Nexus/src/NexusFileIO.cpp +++ b/Framework/Nexus/src/NexusFileIO.cpp @@ -399,6 +399,25 @@ int NexusFileIO::writeNexusProcessedData2D( m_progress->reportIncrement(1, "Writing data"); } + // Potentially x error + if (localworkspace->hasDx(0)) { + dims_array[0] = static_cast<int>(nSpect); + dims_array[1] = static_cast<int>(localworkspace->readX(0).size()); + std::string dxErrorName = "xerrors"; + NXcompmakedata(fileID, dxErrorName.c_str(), NX_FLOAT64, 2, dims_array, + m_nexuscompression, asize); + NXopendata(fileID, dxErrorName.c_str()); + start[0] = 0; + asize[1] = dims_array[1]; + for (size_t i = 0; i < nSpect; i++) { + int s = spec[i]; + NXputslab(fileID, reinterpret_cast<void *>(const_cast<double *>( + &(localworkspace->readDx(s)[0]))), + start, asize); + start[0]++; + } + } + NXclosedata(fileID); } @@ -425,25 +444,6 @@ int NexusFileIO::writeNexusProcessedData2D( } } - // Potentially x error - if (localworkspace->hasDx(0)) { - dims_array[0] = static_cast<int>(nSpect); - dims_array[1] = static_cast<int>(localworkspace->readX(0).size()); - std::string dxErrorName = "xerrors"; - NXcompmakedata(fileID, dxErrorName.c_str(), NX_FLOAT64, 2, dims_array, - m_nexuscompression, asize); - NXopendata(fileID, dxErrorName.c_str()); - start[0] = 0; - asize[1] = dims_array[1]; - for (size_t i = 0; i < nSpect; i++) { - int s = spec[i]; - NXputslab(fileID, reinterpret_cast<void *>(const_cast<double *>( - &(localworkspace->readDx(s)[0]))), - start, asize); - start[0]++; - } - } - std::string dist = (localworkspace->isDistribution()) ? "1" : "0"; NXputattr(fileID, "distribution", reinterpret_cast<void *>(const_cast<char *>(dist.c_str())), 2,