diff --git a/Framework/Algorithms/src/Rebin2D.cpp b/Framework/Algorithms/src/Rebin2D.cpp index b4d04b679e475e80e1d7d6ee19521c7e12a3982d..d4c1011bf721134c034b5234aa981e19a689731c 100644 --- a/Framework/Algorithms/src/Rebin2D.cpp +++ b/Framework/Algorithms/src/Rebin2D.cpp @@ -77,7 +77,7 @@ void Rebin2D::init() { void Rebin2D::exec() { // Information to form input grid MatrixWorkspace_const_sptr inputWS = getProperty("InputWorkspace"); - NumericAxis *oldAxis2 = dynamic_cast<API::NumericAxis *>(inputWS->getAxis(1)); + const NumericAxis *oldAxis2 = dynamic_cast<API::NumericAxis *>(inputWS->getAxis(1)); if (!oldAxis2) { throw std::invalid_argument( "Vertical axis is not a numeric axis, cannot rebin. " @@ -87,16 +87,9 @@ void Rebin2D::exec() { const auto &oldXEdges = inputWS->x(0); const size_t numXBins = inputWS->blocksize(); const size_t numYBins = inputWS->getNumberHistograms(); - std::vector<double> oldYEdges; - if (numYBins == oldAxis2->length()) { - // Pt data on axis 2, create bins - oldYEdges = oldAxis2->createBinBoundaries(); - } else { - oldYEdges.resize(oldAxis2->length()); - for (size_t i = 0; i < oldAxis2->length(); ++i) { - oldYEdges[i] = (*oldAxis2)(i); - } - } + // This will convert plain NumericAxis to bin edges while + // BinEdgeAxis will just return its edges. + const std::vector<double> oldYEdges = oldAxis2->createBinBoundaries(); // Output grid and workspace. Fills in the new X and Y bin vectors // MantidVecPtr newXBins;