/// Returns the lowest and highest d-Value in the list. Uses UnitCell and HKL /// for calculation to prevent problems with potentially inconsistent d-Values /// in Peak. std::pair<double, double> SortHKL::getDLimits(const std::vector<Peak> &peaks, const UnitCell &cell) const { auto dLimitIterators = std::minmax_element( peaks.begin(), peaks.end(), [cell](const Peak &lhs, const Peak &rhs) { return cell.d(lhs.getHKL()) < cell.d(rhs.getHKL()); }); return std::make_pair(cell.d((*dLimitIterators.first).getHKL()), cell.d((*dLimitIterators.second).getHKL())); }
void PawleyFunction::setPeakPositions(std::string centreName, double zeroShift, const UnitCell &cell) const { for (size_t i = 0; i < m_hkls.size(); ++i) { double centre = getTransformedCenter(cell.d(m_hkls[i])); m_peakProfileComposite->getFunction(i) ->setParameter(centreName, centre + zeroShift); } }