本文整理汇总了C++中Workspace2D_sptr::setX方法的典型用法代码示例。如果您正苦于以下问题:C++ Workspace2D_sptr::setX方法的具体用法?C++ Workspace2D_sptr::setX怎么用?C++ Workspace2D_sptr::setX使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Workspace2D_sptr
的用法示例。
在下文中一共展示了Workspace2D_sptr::setX方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: recurseData
void MDHistoToWorkspace2D::recurseData(IMDHistoWorkspace_sptr inWS,
Workspace2D_sptr outWS,
size_t currentDim, coord_t *pos) {
boost::shared_ptr<const IMDDimension> dim = inWS->getDimension(currentDim);
if (currentDim == rank - 1) {
MantidVec &Y = outWS->dataY(currentSpectra);
for (unsigned int j = 0; j < dim->getNBins(); j++) {
pos[currentDim] = dim->getX(j);
Y[j] = inWS->getSignalAtCoord(
pos, static_cast<Mantid::API::MDNormalization>(0));
}
MantidVec &E = outWS->dataE(currentSpectra);
// MSVC compiler can't figure out the correct overload with out the function
// cast on sqrt
std::transform(Y.begin(), Y.end(), E.begin(),
(double (*)(double))std::sqrt);
std::vector<double> xData;
for (unsigned int i = 0; i < dim->getNBins(); i++) {
xData.push_back(dim->getX(i));
}
outWS->setX(currentSpectra, xData);
outWS->getSpectrum(currentSpectra)
->setSpectrumNo(static_cast<specid_t>(currentSpectra));
currentSpectra++;
} else {
// recurse deeper
for (int i = 0; i < static_cast<int>(dim->getNBins()); i++) {
pos[currentDim] = dim->getX(i);
recurseData(inWS, outWS, currentDim + 1, pos);
}
}
}