本文整理汇总了C++中mantid::api::MatrixWorkspace_sptr::get方法的典型用法代码示例。如果您正苦于以下问题:C++ MatrixWorkspace_sptr::get方法的具体用法?C++ MatrixWorkspace_sptr::get怎么用?C++ MatrixWorkspace_sptr::get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mantid::api::MatrixWorkspace_sptr
的用法示例。
在下文中一共展示了MatrixWorkspace_sptr::get方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: runtime_error
/// Constructor.
/// @param wsName :: Name of a MatrixWorkspace with the data for fitting.
/// @param wsIndex :: Workspace index of a spectrum in wsName to plot.
/// @param outputWSName :: Name of the Fit's output workspace containing at
/// least 3 spectra:
/// #0 - original data (the same as in wsName[wsIndex]), #1 - calculated
/// data, #3 - difference.
/// If empty - ignore this workspace.
DatasetPlotData::DatasetPlotData(const QString &wsName, int wsIndex,
const QString &outputWSName)
: m_dataCurve(new QwtPlotCurve(wsName + QString(" (%1)").arg(wsIndex))),
m_dataErrorCurve(NULL), m_calcCurve(NULL), m_diffCurve(NULL),
m_showDataErrorBars(false) {
// get the data workspace
auto ws = Mantid::API::AnalysisDataService::Instance()
.retrieveWS<Mantid::API::MatrixWorkspace>(wsName.toStdString());
if (!ws) {
QString mess =
QString("Workspace %1 either doesn't exist or isn't a MatrixWorkspace")
.arg(wsName);
throw std::runtime_error(mess.toStdString());
}
// check that the index is in range
if (static_cast<size_t>(wsIndex) >= ws->getNumberHistograms()) {
QString mess = QString("Spectrum %1 doesn't exist in workspace %2")
.arg(wsIndex)
.arg(wsName);
throw std::runtime_error(mess.toStdString());
}
// get the data workspace
Mantid::API::MatrixWorkspace_sptr outputWS;
if (!outputWSName.isEmpty()) {
std::string stdOutputWSName = outputWSName.toStdString();
if (Mantid::API::AnalysisDataService::Instance().doesExist(
stdOutputWSName)) {
try {
outputWS =
Mantid::API::AnalysisDataService::Instance()
.retrieveWS<Mantid::API::MatrixWorkspace>(stdOutputWSName);
} catch (Mantid::Kernel::Exception::NotFoundError &) {
QString mess =
QString(
"Workspace %1 either doesn't exist or isn't a MatrixWorkspace")
.arg(outputWSName);
throw std::runtime_error(mess.toStdString());
}
}
}
// create the curves
setData(ws.get(), wsIndex, outputWS.get());
}