26 if (Mantid::JsonHelpers::parse(source, &root)) {
27 const std::string shape = root[
"shape"].asString();
30 const std::string algorithmName(root[
"algorithm_name"].asString());
31 const int algorithmVersion(root[
"algorithm_version"].asInt());
33 const double radius(root[
"radius"].asDouble());
35 if (!root[
"background_outer_radius"].empty() && !root[
"background_inner_radius"].empty()) {
36 const double backgroundOuterRadius(root[
"background_outer_radius"].asDouble());
37 const double backgroundInnerRadius(root[
"background_inner_radius"].asDouble());
38 product =
new PeakShapeSpherical(radius, backgroundInnerRadius, backgroundOuterRadius, frame, algorithmName,
50 throw std::invalid_argument(
"PeakShapeSphericalFactory:: No successor "
51 "factory able to process : " +
57 throw std::invalid_argument(
"PeakShapeSphericalFactory:: Source JSON for "
58 "the peak shape is not valid: " +