void EventWorkspace::init(const HistogramData::Histogram &histogram) { if (histogram.xMode() != HistogramData::Histogram::XMode::BinEdges) throw std::runtime_error( "EventWorkspace can only be initialized with XMode::BinEdges"); if (histogram.sharedY() || histogram.sharedE()) throw std::runtime_error( "EventWorkspace cannot be initialized non-NULL Y or E data"); data.resize(numberOfDetectorGroups(), nullptr); EventList el; el.setHistogram(histogram); for (size_t i = 0; i < data.size(); i++) { data[i] = new EventList(el); data[i]->setMRU(mru); data[i]->setSpectrumNo(specnum_t(i)); } m_axes.resize(2); m_axes[0] = new API::RefAxis(this); m_axes[1] = new API::SpectraAxis(this); }