예제 #1
0
Mantid::API::ITableWorkspace_sptr
EnggDiffFittingModel::createCalibrationParamsTable(
    Mantid::API::MatrixWorkspace_const_sptr inputWS) {
  double difc, difa, tzero;
  std::tie(difc, difa, tzero) = getDifcDifaTzero(inputWS);

  auto calibrationParamsTable =
      Mantid::API::WorkspaceFactory::Instance().createTable();

  calibrationParamsTable->addColumn("int", "detid");
  calibrationParamsTable->addColumn("double", "difc");
  calibrationParamsTable->addColumn("double", "difa");
  calibrationParamsTable->addColumn("double", "tzero");

  Mantid::API::TableRow row = calibrationParamsTable->appendRow();
  const auto &spectrum = inputWS->getSpectrum(0);

  Mantid::detid_t detID = *(spectrum.getDetectorIDs().cbegin());
  row << detID << difc << difa << tzero;
  return calibrationParamsTable;
}