void TransformMD::doTransform( typename Mantid::MDEvents::MDEventWorkspace<MDE, nd>::sptr ws) { std::vector<API::IMDNode *> boxes; // Get ALL the boxes, including MDGridBoxes. ws->getBox()->getBoxes(boxes, 1000, false); // If file backed, sort them first. if (ws->isFileBacked()) API::IMDNode::sortObjByID(boxes); PARALLEL_FOR_IF(!ws->isFileBacked()) for (int i = 0; i < int(boxes.size()); i++) { PARALLEL_START_INTERUPT_REGION MDBoxBase<MDE, nd> *box = dynamic_cast<MDBoxBase<MDE, nd> *>(boxes[i]); if (box) { box->transformDimensions(m_scaling, m_offset); } PARALLEL_END_INTERUPT_REGION } PARALLEL_CHECK_INTERUPT_REGION }