当前位置: 首页>>代码示例>>C++>>正文


C++ Workspace2D_sptr::setX方法代码示例

本文整理汇总了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);
    }
  }
}
开发者ID:mkoennecke,项目名称:mantid,代码行数:32,代码来源:MDHistoToWorkspace2D.cpp


注:本文中的Workspace2D_sptr::setX方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。