Skip to content
Snippets Groups Projects
IFunction1DSpectrum.cpp 1.21 KiB
Newer Older
#include "MantidAPI/IFunction1DSpectrum.h"

namespace Mantid {
namespace API {

Kernel::Logger IFunction1DSpectrum::g_log("IFunction1DSpectrum");

void IFunction1DSpectrum::function(const FunctionDomain &domain,
                                   FunctionValues &values) const {
  try {
    const FunctionDomain1DSpectrum &spectrumDomain =
        dynamic_cast<const FunctionDomain1DSpectrum &>(domain);
    function1DSpectrum(spectrumDomain, values);
  } catch (std::bad_cast) {
    throw std::invalid_argument(
        "Provided domain is not of type FunctionDomain1DSpectrum.");
  }
void IFunction1DSpectrum::functionDeriv(const FunctionDomain &domain,
                                        Jacobian &jacobian) {
  try {
    const FunctionDomain1DSpectrum &spectrumDomain =
        dynamic_cast<const FunctionDomain1DSpectrum &>(domain);
    functionDeriv1DSpectrum(spectrumDomain, jacobian);
  } catch (std::bad_cast) {
    throw std::invalid_argument(
        "Provided domain is not of type FunctionDomain1DSpectrum.");
  }
void IFunction1DSpectrum::functionDeriv1DSpectrum(
    const FunctionDomain1DSpectrum &domain, Jacobian &jacobian) {
  calNumericalDeriv(domain, jacobian);
}

} // namespace API
} // namespace Mantid