Exemplo n.º 1
0
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);
}