From 3a746cb52261d023df7b6746185ae402c877f2e3 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (l)" <j.wuttke@fz-juelich.de> Date: Wed, 17 Aug 2016 23:51:01 +0200 Subject: [PATCH] 11ify IShape2D and children (intended to enable automatic Python export, which however is impossible because these classes are not IParameterized). --- Core/Export/PythonFormatting.cpp | 63 ++++---- Core/Mask/Ellipse.cpp | 35 ++-- Core/Mask/Ellipse.h | 16 +- Core/Mask/IShape2D.h | 27 ++-- Core/Mask/InfinitePlane.cpp | 40 ----- Core/Mask/InfinitePlane.h | 18 +-- Core/Mask/Line.cpp | 57 ++----- Core/Mask/Line.h | 45 ++---- Core/Mask/MaskCoordinateFunction.h | 9 +- Core/Mask/Polygon.cpp | 67 ++++---- Core/Mask/Polygon.h | 37 ++--- Core/Mask/Rectangle.cpp | 42 +---- Core/Mask/Rectangle.h | 27 +--- Doc/Doxygen/defgroups.dox | 3 + Doc/Doxygen/userapi.dox | 3 + Fit/Parameters/FitSuiteParameters.cpp | 3 - Fit/Parameters/FitSuiteParameters.h | 2 +- auto/Wrap/doxygen_core.i | 221 ++++++++------------------ auto/Wrap/doxygen_fit.i | 201 ++++++++++------------- auto/Wrap/libBornAgainCore.py | 107 ++++++++----- auto/Wrap/libBornAgainCore_wrap.cpp | 117 ++++++++------ auto/Wrap/libBornAgainFit.py | 97 +++++++---- auto/Wrap/libBornAgainFit_wrap.cpp | 91 ++++++++--- 23 files changed, 572 insertions(+), 756 deletions(-) delete mode 100644 Core/Mask/InfinitePlane.cpp diff --git a/Core/Export/PythonFormatting.cpp b/Core/Export/PythonFormatting.cpp index b61eb67d58d..945bc69d038 100644 --- a/Core/Export/PythonFormatting.cpp +++ b/Core/Export/PythonFormatting.cpp @@ -92,20 +92,36 @@ std::string getRepresentation(const IDistribution1D* distribution) << printDouble(d->getMean()) << ", " << printDouble(d->getSigma()) << ")"; } - else { + else throw Exceptions::RuntimeErrorException( "getRepresentation(const IDistribution1D* distribution) " "-> Error. Unknown distribution type"); - } return result.str(); } std::string getRepresentation( const std::string& indent, const Geometry::IShape2D* ishape, bool mask_value) -{ std::ostringstream result; - result << std::setprecision(12); +{ + std::ostringstream result; + result << std::setprecision(12); + + if (const Geometry::Polygon* shape = dynamic_cast<const Geometry::Polygon*>(ishape)) { + std::vector<double> xpos, ypos; + shape->getPoints(xpos, ypos); + result << indent << "points = ["; + for(size_t i=0; i<xpos.size(); ++i) { + result << "[" << printDegrees(xpos[i]) << ", " << + printDegrees(ypos[i]) << "]"; + if(i!= xpos.size()-1) result << ", "; + } + result << "]\n"; + result << indent << "simulation.addMask(" << + "ba.Polygon(points), " << printBool(mask_value) << ")\n"; + + } else if(dynamic_cast<const Geometry::InfinitePlane*>(ishape)) { + result << indent << "simulation.maskAll()\n"; - if(const Geometry::Ellipse* shape = dynamic_cast<const Geometry::Ellipse*>(ishape)) { + } else if(const Geometry::Ellipse* shape = dynamic_cast<const Geometry::Ellipse*>(ishape)) { result << indent << "simulation.addMask("; result << "ba.Ellipse(" << printDegrees(shape->getCenterX()) << ", " @@ -126,20 +142,6 @@ std::string getRepresentation( << printBool(mask_value) << ")\n"; } - else if(const Geometry::Polygon* shape = dynamic_cast<const Geometry::Polygon*>(ishape)) { - std::vector<double> xpos, ypos; - shape->getPoints(xpos, ypos); - result << indent << "points = ["; - for(size_t i=0; i<xpos.size(); ++i) { - result << "[" << printDegrees(xpos[i]) << ", " << - printDegrees(ypos[i]) << "]"; - if(i!= xpos.size()-1) result << ", "; - } - result << "]\n"; - result << indent << "simulation.addMask(" << - "ba.Polygon(points), " << printBool(mask_value) << ")\n"; - } - else if(const Geometry::VerticalLine* shape = dynamic_cast<const Geometry::VerticalLine*>(ishape)) { result << indent << "simulation.addMask("; @@ -154,11 +156,11 @@ std::string getRepresentation( result << "ba.HorizontalLine(" << printDegrees(shape->getYpos()) << "), " << printBool(mask_value) << ")\n"; - } - else if(dynamic_cast<const Geometry::InfinitePlane*>(ishape)) { - result << indent << "simulation.maskAll()\n"; - } + } else + throw Exceptions::RuntimeErrorException( + "getRepresentation(const IShape2D*) -> Error. Unknown shape"); + return result.str(); } @@ -176,7 +178,7 @@ std::string printDouble(double input) return inter.str(); } inter << input; - if(inter.str().find('e') == std::string::npos && inter.str().find('.') == std::string::npos) + if (inter.str().find('e') == std::string::npos && inter.str().find('.') == std::string::npos) inter << ".0"; return inter.str(); } @@ -197,13 +199,14 @@ std::string printScientificDouble(double input) inter << input; std::string::size_type pos = inter.str().find('e'); - if(pos == std::string::npos) return inter.str(); + if (pos == std::string::npos) + return inter.str(); std::string part1 = inter.str().substr(0, pos); std::string part2 = inter.str().substr(pos, std::string::npos); part1.erase(part1.find_last_not_of('0') + 1, std::string::npos); - if(part1.back() == '.') part1 += "0"; + if (part1.back() == '.') part1 += "0"; return part1+part2; } @@ -211,9 +214,8 @@ std::string printScientificDouble(double input) std::string printDegrees(double input) { std::ostringstream inter; - inter << std::setprecision(11); - inter << Units::rad2deg(input); - if(inter.str().find('e') == std::string::npos && inter.str().find('.') == std::string::npos) + inter << std::setprecision(11) << Units::rad2deg(input); + if (inter.str().find('e') == std::string::npos && inter.str().find('.') == std::string::npos) inter << ".0"; inter << "*deg"; return inter.str(); @@ -232,7 +234,8 @@ bool isHexagonal(double length1, double length2, double angle) std::string printKvector(const kvector_t value) { std::ostringstream result; - result << "kvector_t(" << printDouble(value.x()) << ", " + result << "kvector_t(" + << printDouble(value.x()) << ", " << printDouble(value.y()) << ", " << printDouble(value.z()) << ")"; return result.str(); diff --git a/Core/Mask/Ellipse.cpp b/Core/Mask/Ellipse.cpp index 9aea28775a7..3a6d1c6e49a 100644 --- a/Core/Mask/Ellipse.cpp +++ b/Core/Mask/Ellipse.cpp @@ -19,25 +19,23 @@ namespace Geometry { +//! @param xcenter x-coordinate of Ellipse's center +//! @param ycenter y-coordinate of Ellipse's center +//! @param xradius Radius along x-axis +//! @param yradius Radius along y-axis +//! @param theta Angle of Ellipse rotation in radians Ellipse::Ellipse(double xcenter, double ycenter, double xradius, double yradius, double theta) - : m_xc(xcenter) + : IShape2D("Ellipse") + , m_xc(xcenter) , m_yc(ycenter) , m_xr(xradius) , m_yr(yradius) , m_theta(theta) { - if(xradius <= 0.0 || yradius <= 0.0) { - std::ostringstream message; - message << + if(xradius <= 0.0 || yradius <= 0.0) + throw Exceptions::LogicErrorException( "Ellipse::Ellipse(double xcenter, double ycenter, double xradius, double yradius) " - "-> Error. Radius can't be negative\n"; - throw Exceptions::LogicErrorException(message.str()); - } -} - -Ellipse* Ellipse::clone() const -{ - return new Ellipse(*this); + "-> Error. Radius can't be negative\n"); } bool Ellipse::contains(double x, double y) const @@ -45,21 +43,14 @@ bool Ellipse::contains(double x, double y) const double u = std::cos(m_theta)*(x-m_xc) + std::sin(m_theta)*(y-m_yc); double v = -std::sin(m_theta)*(x-m_xc) + std::cos(m_theta)*(y-m_yc); double d = (u/m_xr)*(u/m_xr) + (v/m_yr)*(v/m_yr); - return (d<=1 ? true : false); + return d<=1; } +//! Returns true if area defined by two bins is inside or on border of ellipse; +//! more precisely, if mid point of two bins satisfy this condition. bool Ellipse::contains(const Bin1D &binx, const Bin1D &biny) const { return contains(binx.getMidPoint(), biny.getMidPoint()); } -Ellipse::Ellipse(const Ellipse &other) - : m_xc(other.m_xc) - , m_yc(other.m_yc) - , m_xr(other.m_xr) - , m_yr(other.m_yr) - , m_theta(other.m_theta) -{ -} - } // namespace Geometry diff --git a/Core/Mask/Ellipse.h b/Core/Mask/Ellipse.h index 8a87be4a312..b47cbf30e2b 100644 --- a/Core/Mask/Ellipse.h +++ b/Core/Mask/Ellipse.h @@ -26,31 +26,19 @@ namespace Geometry { class BA_CORE_API_ Ellipse : public IShape2D { public: - //! Ellipse constructor - //! @param xcenter x-coordinate of Ellipse's center - //! @param ycenter y-coordinate of Ellipse's center - //! @param xradius Radius along x-axis - //! @param yradius Radius along y-axis - //! @param theta Angle of Ellipse rotation in radians Ellipse(double xcenter, double ycenter, double xradius, double yradius, double theta = 0.0); + Ellipse *clone() const { return new Ellipse(m_xc, m_yc, m_xr, m_yr, m_theta); } - Ellipse *clone() const; - - //! Returns true if given point is inside or on border of ellipse bool contains(double x, double y) const; - - //! Returns true if area defined by two bins is inside or on border of ellipse. - //! More precisely, if mid point of two bins satisfy this condition. bool contains(const Bin1D &binx, const Bin1D &biny) const; double getCenterX() const { return m_xc; } double getCenterY() const { return m_yc; } double getRadiusX() const { return m_xr; } double getRadiusY() const { return m_yr; } - double getTheta() const { return m_theta; } + double getTheta() const { return m_theta; } private: - Ellipse(const Ellipse& other); double m_xc, m_yc, m_xr, m_yr, m_theta; }; diff --git a/Core/Mask/IShape2D.h b/Core/Mask/IShape2D.h index d6df66af82c..16a551cbcf2 100644 --- a/Core/Mask/IShape2D.h +++ b/Core/Mask/IShape2D.h @@ -17,40 +17,33 @@ #define ISHAPE2D_H #include "ICloneable.h" +#include "INamed.h" #include <iostream> struct Bin1D; namespace Geometry { -//! @class IShape2D +//! Basic class for all shapes in 2D. //! @ingroup tools -//! @brief Basic class for all shapes in 2D -class BA_CORE_API_ IShape2D : public ICloneable { +class BA_CORE_API_ IShape2D : public ICloneable, public INamed { public: - + IShape2D(const std::string& name) : INamed(name) {} virtual IShape2D *clone() const = 0; - //! Returns true if point with given coordinates is inside or on border of the shape + //! Returns true if point with given coordinates is inside or on border of the shape. virtual bool contains(double x, double y) const = 0; - //! Returns true if area defined by two bins is inside or on border of the shape + //! Returns true if area defined by two bins is inside or on border of polygon + //! (more precisely, if mid point of two bins satisfy this condition). virtual bool contains(const Bin1D &binx, const Bin1D &biny) const = 0; - friend std::ostream &operator<<(std::ostream &ostr, const IShape2D &shape) - { - shape.print(ostr); - return ostr; - } + friend std::ostream &operator<<(std::ostream &ostr, const IShape2D &shape) { + shape.print(ostr); return ostr; } protected: - - virtual void print(std::ostream &ostr) const - { - ostr << "IShape2D"; - } - + virtual void print(std::ostream &ostr) const { ostr << getName(); } }; } // namespace Geometry diff --git a/Core/Mask/InfinitePlane.cpp b/Core/Mask/InfinitePlane.cpp deleted file mode 100644 index b41d0e3b539..00000000000 --- a/Core/Mask/InfinitePlane.cpp +++ /dev/null @@ -1,40 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Core/Mask/InfinitePlane.cpp -//! @brief Implements class InfinitePlane. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2015 -//! @authors Scientific Computing Group at MLZ Garching -//! @authors C. Durniak, M. Ganeva, G. Pospelov, W. Van Herck, J. Wuttke -// -// ************************************************************************** // - -#include "InfinitePlane.h" - -namespace Geometry { - -InfinitePlane *InfinitePlane::clone() const -{ - return new InfinitePlane(); -} - -bool InfinitePlane::contains(double x, double y) const -{ - (void)x; - (void)y; - return true; -} - -bool InfinitePlane::contains(const Bin1D &binx, const Bin1D &biny) const -{ - (void)binx; - (void)biny; - return true; -} - - -} // namespace Geometry diff --git a/Core/Mask/InfinitePlane.h b/Core/Mask/InfinitePlane.h index 27ae4cec079..653aa504c56 100644 --- a/Core/Mask/InfinitePlane.h +++ b/Core/Mask/InfinitePlane.h @@ -20,22 +20,16 @@ namespace Geometry { - -//! @class InfinitePlane +//! The infinite plane is used for masking everything once and forever. //! @ingroup tools -//! @brief The infinite plane is used in masking to mask everythin once and forever. -class BA_CORE_API_ InfinitePlane : public IShape2D { +class BA_CORE_API_ InfinitePlane : public IShape2D { public: - InfinitePlane(){} - - InfinitePlane *clone() const; - - //! Returns true if given point is inside or on border of rectangle - bool contains(double x, double y) const; + InfinitePlane() : IShape2D("InfinitePlane") {} + InfinitePlane *clone() const { return new InfinitePlane(); } - //! Returns true if mid point of two bins is inside rectangle. - bool contains(const Bin1D &binx, const Bin1D &biny) const; + bool contains(double, double) const { return true; } + bool contains(const Bin1D&, const Bin1D&) const { return true; } }; } // namespace Geometry diff --git a/Core/Mask/Line.cpp b/Core/Mask/Line.cpp index cd50aba2012..3b6191d83c4 100644 --- a/Core/Mask/Line.cpp +++ b/Core/Mask/Line.cpp @@ -30,14 +30,8 @@ typedef model::linestring<point_t> line_t; namespace Geometry { Line::Line(double x1, double y1, double x2, double y2) - : m_x1(x1), m_y1(y1), m_x2(x2), m_y2(y2) -{ -} - -Line *Line::clone() const -{ - return new Line(*this); -} + : IShape2D("Line"), m_x1(x1), m_y1(y1), m_x2(x2), m_y2(y2) +{} bool Line::contains(double x, double y) const { @@ -48,12 +42,12 @@ bool Line::contains(double x, double y) const double d = distance(p, line); - return (d<Numeric::double_epsilon ? true : false); + return d<Numeric::double_epsilon; } // Calculates if line crosses the box made out of our bins. // Ugly implementation, see discussion at http://stackoverflow.com/questions/21408977 -bool Line::contains(const Bin1D &binx, const Bin1D &biny) const +bool Line::contains(const Bin1D& binx, const Bin1D& biny) const { std::vector<point_t> box_points; box_points.push_back(point_t(binx.m_lower, biny.m_lower)); @@ -70,22 +64,13 @@ bool Line::contains(const Bin1D &binx, const Bin1D &biny) const line_t(line_points.begin(),line_points.end())); } -Line::Line(const Line &other) - : m_x1(other.m_x1), m_y1(other.m_y1), m_x2(other.m_x2), m_y2(other.m_y2) -{ -} // ------------------------------------------------------------------------- // +//! @param x The value at which it crosses x-axes VerticalLine::VerticalLine(double x) - : m_x(x) -{ -} - -VerticalLine *VerticalLine::clone() const -{ - return new VerticalLine(*this); -} + : IShape2D("VerticalLine"), m_x(x) +{} bool VerticalLine::contains(double x, double /*y*/) const { @@ -94,26 +79,16 @@ bool VerticalLine::contains(double x, double /*y*/) const bool VerticalLine::contains(const Bin1D& binx, const Bin1D& /*biny*/) const { - if(m_x>=binx.m_lower && m_x <= binx.m_upper) return true; - return false; + return m_x>=binx.m_lower && m_x <= binx.m_upper; } -VerticalLine::VerticalLine(const VerticalLine &other) - : m_x(other.m_x) -{ -} // ------------------------------------------------------------------------- // +//! @param y The value at which it crosses y-axes HorizontalLine::HorizontalLine(double y) - : m_y(y) -{ -} - -HorizontalLine *HorizontalLine::clone() const -{ - return new HorizontalLine(*this); -} + : IShape2D("HorizontalLine"), m_y(y) +{} bool HorizontalLine::contains(double /*x*/, double y) const { @@ -122,15 +97,7 @@ bool HorizontalLine::contains(double /*x*/, double y) const bool HorizontalLine::contains(const Bin1D& /*binx*/, const Bin1D& biny) const { - if(m_y>=biny.m_lower && m_y <= biny.m_upper) return true; - return false; -} - -HorizontalLine::HorizontalLine(const HorizontalLine &other) - : m_y(other.m_y) -{ + return m_y>=biny.m_lower && m_y <= biny.m_upper; } - - } // namespace Geometry diff --git a/Core/Mask/Line.h b/Core/Mask/Line.h index 121a24cc4ca..c3c88b20f94 100644 --- a/Core/Mask/Line.h +++ b/Core/Mask/Line.h @@ -20,80 +20,57 @@ namespace Geometry { - -//! @class Line -//! @ingroup tools -//! @brief The line segment +//! A line segment. +//! @ingroup mask class BA_CORE_API_ Line : public IShape2D { public: - //! Line segment constructor Line(double x1, double y1, double x2, double y2); + Line *clone() const { return new Line(m_x1, m_y1, m_x2, m_y2); } - Line *clone() const; - - //! Returns true if given point is on this line segment bool contains(double x, double y) const; - - //! Returns true if the line crosses the area defined by two given bins bool contains(const Bin1D &binx, const Bin1D &biny) const; private: - Line(const Line& other); double m_x1, m_y1, m_x2, m_y2; }; -//! @class VerticalLine -//! @ingroup tools -//! @brief Vertical infinite line + +//! An infinite vertical line. +//! @ingroup mask class BA_CORE_API_ VerticalLine : public IShape2D { public: - //! Infinite vertical line constructor - //! @param x The value at which it crosses x-axes VerticalLine(double x); + VerticalLine *clone() const { return new VerticalLine(m_x); } - VerticalLine *clone() const; - - //! Returns true if given point is on this line segment (y is unused) bool contains(double x, double y) const; - - //! Returns true if the line crosses the area defined by two given bins bool contains(const Bin1D &binx, const Bin1D &biny) const; double getXpos() const { return m_x; } private: - VerticalLine(const VerticalLine& other); double m_x; }; -//! @class HorizontalLine -//! @ingroup tools -//! @brief Horizontal infinite line + +//! An infinite horizontal line. +//! @ingroup mask class BA_CORE_API_ HorizontalLine : public IShape2D { public: - //! Infinite vertical line constructor - //! @param y The value at which it crosses y-axes HorizontalLine(double y); + HorizontalLine *clone() const { return new HorizontalLine(m_y); } - HorizontalLine *clone() const; - - //! Returns true if given point is on this line segment bool contains(double x, double y) const; - - //! Returns true if the line crosses the area defined by two given bins bool contains(const Bin1D &binx, const Bin1D &biny) const; double getYpos() const { return m_y; } private: - HorizontalLine(const HorizontalLine& other); double m_y; }; - } // namespace Geometry #endif // LINE_H diff --git a/Core/Mask/MaskCoordinateFunction.h b/Core/Mask/MaskCoordinateFunction.h index 835f407e128..64440a7421b 100644 --- a/Core/Mask/MaskCoordinateFunction.h +++ b/Core/Mask/MaskCoordinateFunction.h @@ -22,9 +22,8 @@ using std::size_t; -//! @class MaskCoordinateFunction +//! Base class for all kind of OutputData's masks. //! @ingroup simulation_internal -//! @brief Base class for all kind of OutputData's masks class BA_CORE_API_ MaskCoordinateFunction : public ICloneable { @@ -42,9 +41,8 @@ protected: }; -//! @class MaskCoordinateRectangleFunction +//! Rectangular mask for OutputData. //! @ingroup simulation_internal -//! @brief Rectangular mask for OutputData class BA_CORE_API_ MaskCoordinateRectangleFunction : public MaskCoordinateFunction { @@ -61,9 +59,8 @@ private: int* m_maxima; }; -//! @class MaskCoordinateEllipseFunction +//! Ellipse shaped mask for OutputData. //! @ingroup simulation_internal -//! @brief Ellipse shaped mask for OutputData class BA_CORE_API_ MaskCoordinateEllipseFunction : public MaskCoordinateFunction { diff --git a/Core/Mask/Polygon.cpp b/Core/Mask/Polygon.cpp index f20cc17ee50..cbb28587491 100644 --- a/Core/Mask/Polygon.cpp +++ b/Core/Mask/Polygon.cpp @@ -32,34 +32,29 @@ public: typedef model::d2::point_xy<double> point_t; typedef model::polygon<point_t> polygon_t; polygon_t polygon; - void init_from(const std::vector<double> &x, const std::vector<double> &y); - void get_points(std::vector<double> &xpos, std::vector<double> &ypos); - + void init_from(const std::vector<double>& x, const std::vector<double>& y); + void get_points(std::vector<double>& xpos, std::vector<double>& ypos); }; -void PolygonPrivate::init_from(const std::vector<double> &x, const std::vector<double> &y) +void PolygonPrivate::init_from(const std::vector<double>& x, const std::vector<double>& y) { - if(x.size() != y.size()) { - std::ostringstream message; - message << "Polygon::Polygon(const std::vector<double> &x, const std::vector<double> &y) " - << "Error. Sizes of arrays must conincide." << std::endl; - throw Exceptions::LogicErrorException(message.str()); - } + if(x.size() != y.size()) + throw Exceptions::LogicErrorException( + "Polygon::Polygon(const std::vector<double>& x, const std::vector<double>& y) " + "Error. Sizes of arrays must conincide."); std::vector<point_t> points; - for(size_t i=0; i<x.size(); ++i) { + for(size_t i=0; i<x.size(); ++i) points.push_back(point_t(x[i], y[i])); - } assign_points(polygon, points); correct(polygon); } -void PolygonPrivate::get_points(std::vector<double> &xpos, std::vector<double> &ypos) +void PolygonPrivate::get_points(std::vector<double>& xpos, std::vector<double>& ypos) { xpos.clear(); ypos.clear(); - for(auto it = polygon.outer().begin(); it != polygon.outer().end(); ++it ) - { + for(auto it = polygon.outer().begin(); it != polygon.outer().end(); ++it ) { // for vectors of x and y, extract the x/y from the point xpos.push_back( boost::geometry::get<0>( *it ) ); ypos.push_back( boost::geometry::get<1>( *it ) ); @@ -67,47 +62,48 @@ void PolygonPrivate::get_points(std::vector<double> &xpos, std::vector<double> & } +//! @param x Vector of x-coordinates of polygon points. +//! @param y Vector of y-coordinates of polygon points. // IMPORTANT Input parameters are not "const reference" to be able to work from python // (auto convertion of python list to vector<double>). -Polygon::Polygon(std::vector<double> x, std::vector<double> y) - : m_d(new PolygonPrivate) +Polygon::Polygon(const std::vector<double>& x, const std::vector<double>& y) + : IShape2D("Polygon"), m_d(new PolygonPrivate) { m_d->init_from(x, y); } // IMPORTANT Input parameter is not "const reference" to be able to work from python // (auto convertion of python list to vector<vector<double>>). -Polygon::Polygon(std::vector<std::vector<double> > points) - : m_d(new PolygonPrivate) + //! Polygon defined by two dimensional array with (x,y) coordinates of polygon points. + //! The size of second dimension should be 2. If polygon is unclosed (the last point + //! doesn't repeat the first one), it will be closed automatically. + //! @param points Two dimensional vector of (x,y) coordinates of polygon points. +Polygon::Polygon(const std::vector<std::vector<double>>& points) + : IShape2D("Polygon"), m_d(new PolygonPrivate) { std::vector<double> x; std::vector<double> y; for(size_t i=0; i<points.size(); ++i) { - if(points[i].size() != 2) { - std::ostringstream message; - message << "Polygon(const std::vector<std::vector<double> > &points) -> Error. " - << " Should be two-dimensional array with second dimension of 2 size." - << std::endl; - throw Exceptions::LogicErrorException(message.str()); - } + if(points[i].size() != 2) + throw Exceptions::LogicErrorException( + "Polygon(const std::vector<std::vector<double> >& points) -> Error. " + " Should be two-dimensional array with second dimension of 2 size."); x.push_back(points[i][0]); y.push_back(points[i][1]); } - m_d->init_from(x, y); } +Polygon::Polygon(const PolygonPrivate* d) + : IShape2D("Polygon"), m_d(new PolygonPrivate(*d)) +{} + Polygon::~Polygon() { delete m_d; } -Polygon *Polygon::clone() const -{ - return new Polygon(*this); -} - bool Polygon::contains(double x, double y) const { // return within(PolygonPrivate::point_t(x, y), m_d->polygon); // not including borders @@ -124,7 +120,7 @@ double Polygon::getArea() const return area(m_d->polygon); } -void Polygon::getPoints(std::vector<double> &xpos, std::vector<double> &ypos) const +void Polygon::getPoints(std::vector<double>& xpos, std::vector<double>& ypos) const { m_d->get_points(xpos, ypos); } @@ -134,9 +130,4 @@ void Polygon::print(std::ostream &ostr) const ostr << wkt<PolygonPrivate::polygon_t>(m_d->polygon); } -Polygon::Polygon(const Polygon &other) -{ - m_d = new PolygonPrivate(*other.m_d); -} - } // namespace Geometry diff --git a/Core/Mask/Polygon.h b/Core/Mask/Polygon.h index a0844e04c91..c307b512993 100644 --- a/Core/Mask/Polygon.h +++ b/Core/Mask/Polygon.h @@ -23,47 +23,34 @@ namespace Geometry { class PolygonPrivate; -//! @class Polygon -//! @ingroup tools -//! @brief The polygon in 2D space +//! A polygon in 2D space. +//! @ingroup mask + +//! Polygon defined by two arrays with x and y coordinates of points. +//! Sizes of arrays should coincide. If polygon is unclosed (the last point +//! doesn't repeat the first one), it will be closed automatically. class BA_CORE_API_ Polygon : public IShape2D { public: - //! Polygon defined by two arrays with x and y coordinates of points. - //! Sizes of arrays should coincide. If polygon is unclosed (the last point - //! doesn't repeat the first one), it will be closed automatically. - //! @param x Vector of x-coordinates of polygon points. - //! @param y Vector of y-coordinates of polygon points. - Polygon(std::vector<double > x, std::vector<double> y); - - //! Polygon defined by two dimensional array with (x,y) coordinates of polygon points. - //! The size of second dimension should be 2. If polygon is unclosed (the last point - //! doesn't repeat the first one), it will be closed automatically. - //! @param points Two dimensional vector of (x,y) coordinates of polygon points. - Polygon(std::vector<std::vector<double> > points); + Polygon(const std::vector<double>& x, const std::vector<double>& y); + Polygon(const std::vector<std::vector<double>>& points); + Polygon(const PolygonPrivate* d); virtual ~Polygon(); - virtual Polygon* clone() const; + virtual Polygon* clone() const { return new Polygon(m_d); } - //! Returns true if given point is inside or on border of polygon virtual bool contains(double x, double y) const; - - //! Returns true if area defined by two bins is inside or on border of polygon. - //! More precisely, if mid point of two bins satisfy this condition. virtual bool contains(const Bin1D &binx, const Bin1D &biny) const; double getArea() const; - void getPoints(std::vector<double> &xpos, std::vector<double> &ypos) const; + void getPoints(std::vector<double>& xpos, std::vector<double>& ypos) const; protected: - virtual void print(std::ostream &ostr) const; + virtual void print(std::ostream& ostr) const; private: - Polygon(const Polygon& other); - const Polygon& operator=(const Polygon& ); - PolygonPrivate* m_d; }; diff --git a/Core/Mask/Rectangle.cpp b/Core/Mask/Rectangle.cpp index 48443908c9e..eae931583d2 100644 --- a/Core/Mask/Rectangle.cpp +++ b/Core/Mask/Rectangle.cpp @@ -19,7 +19,12 @@ namespace Geometry { +//! @param xlow x-coordinate of lower left corner +//! @param ylow y-coordinate of lower left corner +//! @param xup x-coordinate of upper right corner +//! @param yup y-coordinate of upper right corner Rectangle::Rectangle(double xlow, double ylow, double xup, double yup) + : IShape2D("Rectangle") { if(xup <= xlow) { std::ostringstream message; @@ -39,15 +44,9 @@ Rectangle::Rectangle(double xlow, double ylow, double xup, double yup) m_yup = yup; } -Rectangle *Rectangle::clone() const -{ - return new Rectangle(*this); -} - bool Rectangle::contains(double x, double y) const { - if(x <= m_xup && x >= m_xlow && y <= m_yup && y >= m_ylow) return true; - return false; + return x <= m_xup && x >= m_xlow && y <= m_yup && y >= m_ylow; } bool Rectangle::contains(const Bin1D &binx, const Bin1D &biny) const @@ -60,33 +59,4 @@ double Rectangle::getArea() const return (m_xup-m_xlow)*(m_yup-m_ylow); } -double Rectangle::getXlow() const -{ - return m_xlow; -} - -double Rectangle::getYlow() const -{ - return m_ylow; -} - -double Rectangle::getXup() const -{ - return m_xup; -} - -double Rectangle::getYup() const -{ - return m_yup; -} - -Rectangle::Rectangle(const Rectangle &other) - : m_xlow(other.m_xlow) - , m_ylow(other.m_ylow) - , m_xup(other.m_xup) - , m_yup(other.m_yup) -{ - -} - } // namespace Geometry diff --git a/Core/Mask/Rectangle.h b/Core/Mask/Rectangle.h index b894c936096..123bf6b4d26 100644 --- a/Core/Mask/Rectangle.h +++ b/Core/Mask/Rectangle.h @@ -20,36 +20,25 @@ namespace Geometry { -//! @class Rectangle -//! @ingroup tools -//! @brief The rectangle shape having its axis aligned to the (non-rotated) coordinate system. +//! The rectangle shape having its axis aligned to the (non-rotated) coordinate system. +//! @ingroup mask -class BA_CORE_API_ Rectangle : public IShape2D { +class BA_CORE_API_ Rectangle : public IShape2D { public: - //! Rectangle constructor with lower left and upper right coordinates - //! @param xlow x-coordinate of lower left corner - //! @param ylow y-coordinate of lower left corner - //! @param xup x-coordinate of upper right corner - //! @param yup y-coordinate of upper right corner Rectangle(double xlow, double ylow, double xup, double yup); + Rectangle* clone() const { return new Rectangle(m_xlow, m_ylow, m_xup, m_yup); } - Rectangle* clone() const; - - //! Returns true if given point is inside or on border of rectangle bool contains(double x, double y) const; - - //! Returns true if mid point of two bins is inside rectangle. bool contains(const Bin1D &binx, const Bin1D &biny) const; double getArea() const; - double getXlow() const; - double getYlow() const; - double getXup() const; - double getYup() const; + double getXlow() const { return m_xlow; } + double getYlow() const { return m_ylow; } + double getXup() const { return m_xup; } + double getYup() const { return m_yup; } private: - Rectangle(const Rectangle& other); double m_xlow, m_ylow, m_xup, m_yup; }; diff --git a/Doc/Doxygen/defgroups.dox b/Doc/Doxygen/defgroups.dox index 343836f68e1..0a4f0a1b785 100644 --- a/Doc/Doxygen/defgroups.dox +++ b/Doc/Doxygen/defgroups.dox @@ -3,6 +3,9 @@ \defgroup simulation Simulation description @brief Classes to describe beam, detector and run the simulation. +\defgroup mask Detector masks +@brief Classes to construct a two-dimensional mask. + \defgroup samples Samples @brief Classes to describe experimental sample. diff --git a/Doc/Doxygen/userapi.dox b/Doc/Doxygen/userapi.dox index 5de15bfce35..7e537366427 100644 --- a/Doc/Doxygen/userapi.dox +++ b/Doc/Doxygen/userapi.dox @@ -6,6 +6,9 @@ Here is a list of classes grouped in several categories to create the sample, de <ul> <li> \ref simulation "Simulation" <br> List of classes to describe beam, detector and run the simulation + <ul> + <li> \ref mask "Detector masks" + </ul> <li> \ref samples "Samples" <br> List of classes to describe scattering sample <li> \ref materials "Materials" <br> diff --git a/Fit/Parameters/FitSuiteParameters.cpp b/Fit/Parameters/FitSuiteParameters.cpp index 9ac27cc2480..e03a41f41e3 100644 --- a/Fit/Parameters/FitSuiteParameters.cpp +++ b/Fit/Parameters/FitSuiteParameters.cpp @@ -21,9 +21,6 @@ #include <cmath> #include <iostream> -FitSuiteParameters::FitSuiteParameters() -{ -} FitSuiteParameters::~FitSuiteParameters() { diff --git a/Fit/Parameters/FitSuiteParameters.h b/Fit/Parameters/FitSuiteParameters.h index f2ecc6fae7e..375435e4e6a 100644 --- a/Fit/Parameters/FitSuiteParameters.h +++ b/Fit/Parameters/FitSuiteParameters.h @@ -30,7 +30,7 @@ class ParameterPool; class BA_CORE_API_ FitSuiteParameters { public: - FitSuiteParameters(); + FitSuiteParameters() {} ~FitSuiteParameters(); //! Clears all defined parameters. diff --git a/auto/Wrap/doxygen_core.i b/auto/Wrap/doxygen_core.i index 883fcd2a55b..db383239e36 100644 --- a/auto/Wrap/doxygen_core.i +++ b/auto/Wrap/doxygen_core.i @@ -1,24 +1,6 @@ // File: index.xml -// File: classAngle.xml -%feature("docstring") Angle " - -A parameter of physical dimension \"angle\". - -C++ includes: DimensionedParameters.h -"; - -%feature("docstring") Angle::Angle "Angle::Angle(const std::string &name, ParameterPool *parent, volatile double *par, const Limits &limits) -"; - -%feature("docstring") Angle::clone "virtual Angle* Angle::clone(const std::string &new_name=\"\") const -"; - -%feature("docstring") Angle::unit "std::string Angle::unit() const final -"; - - // File: classAngularPixelMap.xml %feature("docstring") AngularPixelMap ""; @@ -1458,7 +1440,7 @@ yradius: Radius along y-axis theta: - Angle of Ellipse rotation in radians +Angle of Ellipse rotation in radians "; %feature("docstring") Geometry::Ellipse::clone "Ellipse * Geometry::Ellipse::clone() const @@ -2899,15 +2881,12 @@ Isotropic Debye-Waller factor. Anisotropic Debye-Waller factor. "; -%feature("docstring") FormFactorDecoratorDebyeWaller::~FormFactorDecoratorDebyeWaller "virtual FormFactorDecoratorDebyeWaller::~FormFactorDecoratorDebyeWaller() -"; - -%feature("docstring") FormFactorDecoratorDebyeWaller::clone "FormFactorDecoratorDebyeWaller * FormFactorDecoratorDebyeWaller::clone() const +%feature("docstring") FormFactorDecoratorDebyeWaller::clone "FormFactorDecoratorDebyeWaller* FormFactorDecoratorDebyeWaller::clone() const final Returns a clone of this ISample object. "; -%feature("docstring") FormFactorDecoratorDebyeWaller::accept "void FormFactorDecoratorDebyeWaller::accept(ISampleVisitor *visitor) const +%feature("docstring") FormFactorDecoratorDebyeWaller::accept "void FormFactorDecoratorDebyeWaller::accept(ISampleVisitor *visitor) const final Calls the ISampleVisitor's visit method. "; @@ -3828,8 +3807,6 @@ C++ includes: FormFactorLongRipple2Lorentz.h %feature("docstring") FormFactorLongRipple2Lorentz::FormFactorLongRipple2Lorentz "FormFactorLongRipple2Lorentz::FormFactorLongRipple2Lorentz(double length, double width, double height, double asymmetry) -FormFactorLongRipple2Lorentz constructor. - Parameters: ----------- @@ -6138,12 +6115,7 @@ C++ includes: IFactory.h Creates object by calling creation function corresponded to given identifier. "; -%feature("docstring") IFactory::registerItem "bool IFactory< Key, AbstractProduct >::registerItem(const Key &item_key, CreateItemCallback CreateFn) - -Registers object's creation function. -"; - -%feature("docstring") IFactory::registerItem "bool IFactory< Key, AbstractProduct >::registerItem(const Key &item_key, CreateItemCallback CreateFn, const std::string &itemDescription) +%feature("docstring") IFactory::registerItem "bool IFactory< Key, AbstractProduct >::registerItem(const Key &item_key, CreateItemCallback CreateFn, const std::string &itemDescription=\"\") Registers object's creation function and store object description. "; @@ -6156,15 +6128,9 @@ Registers object's creation function and store object description. Returns number of registered objects. "; -%feature("docstring") IFactory::begin "iterator IFactory< Key, AbstractProduct >::begin() -"; - %feature("docstring") IFactory::begin "const_iterator IFactory< Key, AbstractProduct >::begin() const "; -%feature("docstring") IFactory::end "iterator IFactory< Key, AbstractProduct >::end() -"; - %feature("docstring") IFactory::end "const_iterator IFactory< Key, AbstractProduct >::end() const "; @@ -7501,8 +7467,6 @@ C++ includes: InterferenceFunction2DLattice.h %feature("docstring") InterferenceFunction2DLattice::InterferenceFunction2DLattice "InterferenceFunction2DLattice::InterferenceFunction2DLattice(double length_1, double length_2, double angle, double xi=0.0) -contructor - Parameters: ----------- @@ -7571,16 +7535,16 @@ Parameters: ----------- length_1: - Length of first lattice basis vector. +Length of first lattice basis vector. length_2: - Length of second lattice basis vector. +Length of second lattice basis vector. alpha_lattice: - Angle between the lattice basis vectors. +Angle between the lattice basis vectors. xi: - Angle between first basis vector and the x-axis of incoming beam. +Angle between first basis vector and the x-axis of incoming beam. damping_length: Damping length for removing delta function singularity at q=0. @@ -7856,28 +7820,7 @@ Creates new parameter pool, with all local parameters and those of its children. %feature("docstring") IParameterized::printParameters "void IParameterized::printParameters() "; -%feature("docstring") IParameterized::registerUnlimitedAngle "void IParameterized::registerUnlimitedAngle(const std::string &name, double *parpointer) -"; - -%feature("docstring") IParameterized::registerLimitedAngle "void IParameterized::registerLimitedAngle(const std::string &name, double *parpointer, double lower_limit, double upper_limit) -"; - -%feature("docstring") IParameterized::registerUnlimitedLength "void IParameterized::registerUnlimitedLength(const std::string &name, double *parpointer) -"; - -%feature("docstring") IParameterized::registerPositiveLength "void IParameterized::registerPositiveLength(const std::string &name, double *parpointer) -"; - -%feature("docstring") IParameterized::registerNonnegativeLength "void IParameterized::registerNonnegativeLength(const std::string &name, double *parpointer) -"; - -%feature("docstring") IParameterized::registerUnlimitedScalar "void IParameterized::registerUnlimitedScalar(const std::string &name, double *parpointer) -"; - -%feature("docstring") IParameterized::registerPositiveScalar "void IParameterized::registerPositiveScalar(const std::string &name, double *parpointer) -"; - -%feature("docstring") IParameterized::registerNonnegativeScalar "void IParameterized::registerNonnegativeScalar(const std::string &name, double *parpointer) +%feature("docstring") IParameterized::registerParameter "RealParameter & IParameterized::registerParameter(const std::string &name, double *parpointer) "; %feature("docstring") IParameterized::setParameterValue "void IParameterized::setParameterValue(const std::string &name, double value) @@ -8909,7 +8852,7 @@ Constructs layer made of material with thickness in nanometers and decoration. %feature("docstring") Layer::~Layer "Layer::~Layer() "; -%feature("docstring") Layer::clone "Layer * Layer::clone() const +%feature("docstring") Layer::clone "Layer* Layer::clone() const final Returns a clone of this ISample object. "; @@ -9227,24 +9170,6 @@ C++ includes: LayersWithAbsorptionBuilder.h "; -// File: classLength.xml -%feature("docstring") Length " - -A parameter of physical dimension \"length\". Values are in nm. - -C++ includes: DimensionedParameters.h -"; - -%feature("docstring") Length::Length "Length::Length(const std::string &name, ParameterPool *parent, volatile double *par, const Limits &limits) -"; - -%feature("docstring") Length::clone "virtual Length* Length::clone(const std::string &new_name=\"\") const -"; - -%feature("docstring") Length::unit "std::string Length::unit() const final -"; - - // File: classGeometry_1_1Line.xml %feature("docstring") Geometry::Line " @@ -10595,7 +10520,9 @@ C++ includes: ParameterPattern.h // File: classParameterPool.xml %feature("docstring") ParameterPool " -Holds a map of pointers to parameters (which must have different names). +Holds a map of pointers to parameters.Used in IParameterized, which has a member ParameterPool* m_pool. So this is pimpl (pointer to implementation) idiom, with ParameterPool providing the implementation of all the nontrivial functionality of IParameterized. + +Parameter names must be unique since we use them as map keys. C++ includes: ParameterPool.h "; @@ -10618,19 +10545,17 @@ Returns a literal clone. %feature("docstring") ParameterPool::cloneWithPrefix "ParameterPool * ParameterPool::cloneWithPrefix(const std::string &prefix) const -Returns a clone with prefix added to every parameter key. +Returns a clone with prefix prepended to every parameter key. "; %feature("docstring") ParameterPool::copyToExternalPool "void ParameterPool::copyToExternalPool(const std::string &prefix, ParameterPool *external_pool) const -Copies parameters to external_pool, adding prefix to every key. - -Copy parameters of given pool to the external pool while adding prefix to local parameter keys +Copies parameters of given pool to other pool, prepeding prefix to the parameter names. "; %feature("docstring") ParameterPool::clear "void ParameterPool::clear() -Deletes parameter map. +Clears the parameter map. "; %feature("docstring") ParameterPool::getName "std::string ParameterPool::getName() const @@ -10641,25 +10566,21 @@ Deletes parameter map. Returns number of parameters in the pool. "; -%feature("docstring") ParameterPool::addParameter "void ParameterPool::addParameter(RealParameter *par) +%feature("docstring") ParameterPool::addParameter "RealParameter & ParameterPool::addParameter(RealParameter *par) -Adds parameter to the pool. +Adds parameter to the pool, and returns reference to the input pointer. -Low-level routine. +Returning the input pointer allows us to concatenate function calls like pool->addParameter( new RealParameter(...) ).setLimits(-1,+1).setFixed().setUnit(\"nm\") "; %feature("docstring") ParameterPool::getParameter "RealParameter * ParameterPool::getParameter(const std::string &name) -Returns parameter named name. - -Returns parameter with given name. +Returns parameter with given name. "; %feature("docstring") ParameterPool::getParameter "const RealParameter * ParameterPool::getParameter(const std::string &name) const -Returns parameter named name. - -Returns parameter with given name. +Returns parameter with given name. "; %feature("docstring") ParameterPool::getParameters "const std::vector<RealParameter*> ParameterPool::getParameters() const @@ -10669,7 +10590,7 @@ Returns full vector of parameters. %feature("docstring") ParameterPool::getMatchedParameters "std::vector< RealParameter * > ParameterPool::getMatchedParameters(const std::string &wildcards) const -Returns vector of parameters which fit pattern. +Returns vector of parameters that match the pattern (wildcards '*' allowed). "; %feature("docstring") ParameterPool::setParameterValue "void ParameterPool::setParameterValue(const std::string &name, double value) @@ -10679,14 +10600,10 @@ Sets parameter value. %feature("docstring") ParameterPool::setMatchedParametersValue "int ParameterPool::setMatchedParametersValue(const std::string &wildcards, double value) -Sets parameter value, return number of changed parameters. - Sets parameter value. "; -%feature("docstring") ParameterPool::getParameterNames "std::vector< std::string > ParameterPool::getParameterNames() const - -Returns all parameter names. +%feature("docstring") ParameterPool::getParameterNames "std::vector< std::string > ParameterPool::getParameterNames() const "; @@ -11423,10 +11340,7 @@ C++ includes: RealParameter.h This constructor takes copies 'other' except for the name. "; -%feature("docstring") RealParameter::~RealParameter "virtual RealParameter::~RealParameter() -"; - -%feature("docstring") RealParameter::clone "virtual RealParameter* RealParameter::clone(const std::string &new_name=\"\") const =0 +%feature("docstring") RealParameter::clone "RealParameter * RealParameter::clone(const std::string &new_name=\"\") const "; %feature("docstring") RealParameter::setValue "void RealParameter::setValue(double value) @@ -11439,6 +11353,9 @@ Sets value of wrapped parameter and emit signal. Returns value of wrapped parameter. "; +%feature("docstring") RealParameter::setUnit "RealParameter& RealParameter::setUnit(const std::string &name) +"; + %feature("docstring") RealParameter::isNull "bool RealParameter::isNull() const Returns true if wrapped parameter was not initialized with proper real value. @@ -11449,10 +11366,22 @@ Returns true if wrapped parameter was not initialized with proper real value. throw exception if parameter was not initialized with proper value "; +%feature("docstring") RealParameter::setLimits "RealParameter& RealParameter::setLimits(const Limits &limits) +"; + %feature("docstring") RealParameter::getLimits "Limits RealParameter::getLimits() const "; -%feature("docstring") RealParameter::unit "virtual std::string RealParameter::unit() const =0 +%feature("docstring") RealParameter::setLimited "RealParameter & RealParameter::setLimited(double lower, double upper) +"; + +%feature("docstring") RealParameter::setPositive "RealParameter & RealParameter::setPositive() +"; + +%feature("docstring") RealParameter::setNonnegative "RealParameter & RealParameter::setNonnegative() +"; + +%feature("docstring") RealParameter::unit "std::string RealParameter::unit() const "; @@ -12140,24 +12069,6 @@ C++ includes: SampleTreeIterator.h "; -// File: classScalar.xml -%feature("docstring") Scalar " - -A parameter of that is physically dimensionless. - -C++ includes: DimensionedParameters.h -"; - -%feature("docstring") Scalar::Scalar "Scalar::Scalar(const std::string &name, ParameterPool *parent, volatile double *par, const Limits &limits) -"; - -%feature("docstring") Scalar::clone "virtual Scalar* Scalar::clone(const std::string &new_name=\"\") const -"; - -%feature("docstring") Scalar::unit "std::string Scalar::unit() const final -"; - - // File: classScalarRTCoefficients.xml %feature("docstring") ScalarRTCoefficients " @@ -13161,6 +13072,21 @@ C++ includes: ParticleDistributionsBuilder.h "; +// File: classUnit.xml +%feature("docstring") Unit " + +A physical unit. + +C++ includes: Unit.h +"; + +%feature("docstring") Unit::Unit "Unit::Unit(const std::string &name=\"\") +"; + +%feature("docstring") Unit::setUnit "void Unit::setUnit(const std::string &name) +"; + + // File: classExceptions_1_1UnknownClassRegistrationException.xml %feature("docstring") Exceptions::UnknownClassRegistrationException ""; @@ -13307,13 +13233,13 @@ C++ includes: WavevectorInfo.h // File: classMathFunctions_1_1Convolve_1_1Workspace.xml -// File: namespace_0D296.xml +// File: namespace_0D298.xml -// File: namespace_0D368.xml +// File: namespace_0D371.xml -// File: namespace_0D434.xml +// File: namespace_0D437.xml // File: namespaceboost_1_1geometry.xml @@ -13331,16 +13257,6 @@ C++ includes: WavevectorInfo.h // File: namespaceFileSystem.xml -%feature("docstring") FileSystem::GetWorkingPath "std::string FileSystem::GetWorkingPath() - -Returns path to the current (working) directory. -"; - -%feature("docstring") FileSystem::GetHomePath "std::string FileSystem::GetHomePath() - -Returns path to BornAgain home directory. -"; - %feature("docstring") FileSystem::GetFileExtension "std::string FileSystem::GetFileExtension(const std::string &name) Returns file extension. @@ -14496,6 +14412,12 @@ The mathematics implemented here is described in full detail in a paper by Joach "; +// File: NumpyUtils_8cpp.xml + + +// File: NumpyUtils_8h.xml + + // File: OutputData_8cpp.xml @@ -14748,9 +14670,6 @@ Set all element intensities to given value. // File: SpecularMatrix_8h.xml -// File: DimensionedParameters_8h.xml - - // File: Distributions_8cpp.xml @@ -14802,6 +14721,12 @@ Set all element intensities to given value. // File: ThreadInfo_8h.xml +// File: Unit_8cpp.xml + + +// File: Unit_8h.xml + + // File: Units_8h.xml @@ -15238,12 +15163,6 @@ David N. Williams // File: MathFunctions_8h.xml -// File: NumpyUtils_8cpp.xml - - -// File: NumpyUtils_8h.xml - - // File: Precomputed_8cpp.xml diff --git a/auto/Wrap/doxygen_fit.i b/auto/Wrap/doxygen_fit.i index 09e77d51265..6916b015483 100644 --- a/auto/Wrap/doxygen_fit.i +++ b/auto/Wrap/doxygen_fit.i @@ -53,29 +53,27 @@ C++ includes: BasicMinimizer.h run minimization "; -%feature("docstring") BasicMinimizer::minimizerName "std::string BasicMinimizer::minimizerName() const +%feature("docstring") BasicMinimizer::getMinimizerName "std::string BasicMinimizer::getMinimizerName() const final -Returns name of the minimizer. +return name of the minimizer "; -%feature("docstring") BasicMinimizer::algorithmName "std::string BasicMinimizer::algorithmName() const +%feature("docstring") BasicMinimizer::getAlgorithmName "std::string BasicMinimizer::getAlgorithmName() const final -Returns name of the minimization algorithm. +return name of the minimization algorithm "; %feature("docstring") BasicMinimizer::setAlgorithmName "void BasicMinimizer::setAlgorithmName(const std::string &algorithmName) - -Sets minimization algorithm. "; %feature("docstring") BasicMinimizer::setParameter "void BasicMinimizer::setParameter(size_t index, const FitParameter *par) - -Sets internal minimizer parameter. "; %feature("docstring") BasicMinimizer::setParameters "void BasicMinimizer::setParameters(const FitSuiteParameters ¶meters) -Sets internal minimizer parameters using external parameter list. +Sets internal minimizer parameter. + +Sets internal minimizer parameters using external parameter list "; %feature("docstring") BasicMinimizer::setChiSquaredFunction "void BasicMinimizer::setChiSquaredFunction(function_chi2_t fun_chi2, size_t nparameters) @@ -88,14 +86,16 @@ Sets chi squared function to minimize. Sets gradient function to minimize. "; -%feature("docstring") BasicMinimizer::isGradientBasedAgorithm "virtual bool BasicMinimizer::isGradientBasedAgorithm() +%feature("docstring") BasicMinimizer::getNumberOfVariables "size_t BasicMinimizer::getNumberOfVariables() const -Returns true if type of algorithm is Levenberg-Marquardt or similar. +Returns number of variables to fit. "; %feature("docstring") BasicMinimizer::getValueOfVariablesAtMinimum "std::vector< double > BasicMinimizer::getValueOfVariablesAtMinimum() const -Returns values of parameters at the minimum. +Returns minimum function value. + +Returns values of parameters at the minimum "; %feature("docstring") BasicMinimizer::getErrorOfVariables "std::vector< double > BasicMinimizer::getErrorOfVariables() const @@ -105,12 +105,19 @@ Returns errors of variables at minimum. %feature("docstring") BasicMinimizer::printResults "void BasicMinimizer::printResults() const -Prints fit results. +clear resources (parameters) for consecutives minimizations + +Prints fit results "; %feature("docstring") BasicMinimizer::toResultString "std::string BasicMinimizer::toResultString() const "; +%feature("docstring") BasicMinimizer::isGradientBasedAgorithm "virtual bool BasicMinimizer::isGradientBasedAgorithm() + +Returns true if type of algorithm is Levenberg-Marquardt or similar. +"; + // File: classMinimizerLibrary_1_1Catalogue.xml %feature("docstring") MinimizerLibrary::Catalogue ""; @@ -139,7 +146,7 @@ Returns list of algorithm descriptions for given minimizer type. // File: classConfigurable.xml %feature("docstring") Configurable " -The Configurable class is a base for storing (int,double,string) options. +A base class for storing (int,double,string) options. C++ includes: Configurable.h "; @@ -217,7 +224,7 @@ C++ includes: FitParameter.h // File: classFitSuiteParameters.xml %feature("docstring") FitSuiteParameters " -Holds vector of parameters for FitSuite. +Vector of parameters, for FitSuite C++ includes: FitSuiteParameters.h "; @@ -233,12 +240,12 @@ C++ includes: FitSuiteParameters.h Clears all defined parameters. "; -%feature("docstring") FitSuiteParameters::addParameter "void FitSuiteParameters::addParameter(FitParameter *par) +%feature("docstring") FitSuiteParameters::addFitParameter "void FitSuiteParameters::addFitParameter(FitParameter *par) Adds fit parameter. "; -%feature("docstring") FitSuiteParameters::getParameters "std::vector<FitParameter*>& FitSuiteParameters::getParameters() +%feature("docstring") FitSuiteParameters::getFitParameters "std::vector<FitParameter*>& FitSuiteParameters::getFitParameters() Returns all parameters. "; @@ -279,28 +286,23 @@ Returns errors of all defined parameters. Returns number of parameters. "; -%feature("docstring") FitSuiteParameters::push_back "void FitSuiteParameters::push_back(FitParameter *par) - -Adds given FitParameter to container. -"; - -%feature("docstring") FitSuiteParameters::begin "iterator FitSuiteParameters::begin() +%feature("docstring") FitSuiteParameters::begin "std::vector<FitParameter*>::iterator FitSuiteParameters::begin() Returns begin of container. "; -%feature("docstring") FitSuiteParameters::begin "const_iterator FitSuiteParameters::begin() const +%feature("docstring") FitSuiteParameters::begin "std::vector<FitParameter*>::const_iterator FitSuiteParameters::begin() const "; -%feature("docstring") FitSuiteParameters::end "iterator FitSuiteParameters::end() +%feature("docstring") FitSuiteParameters::end "std::vector<FitParameter*>::iterator FitSuiteParameters::end() Returns end of container. "; -%feature("docstring") FitSuiteParameters::end "const_iterator FitSuiteParameters::end() const +%feature("docstring") FitSuiteParameters::end "std::vector<FitParameter*>::const_iterator FitSuiteParameters::end() const "; -%feature("docstring") FitSuiteParameters::getNfreeParameters "size_t FitSuiteParameters::getNfreeParameters() const +%feature("docstring") FitSuiteParameters::numberOfFreeFitParameters "size_t FitSuiteParameters::numberOfFreeFitParameters() const Returns number of free parameters. "; @@ -310,7 +312,7 @@ Returns number of free parameters. Returns true if parameters already have the given values. "; -%feature("docstring") FitSuiteParameters::printParameters "void FitSuiteParameters::printParameters() const +%feature("docstring") FitSuiteParameters::printFitParameters "void FitSuiteParameters::printFitParameters() const Print defined parameters. "; @@ -325,7 +327,7 @@ Fix all parameters. Release all parameters. "; -%feature("docstring") FitSuiteParameters::setParametersFixed "void FitSuiteParameters::setParametersFixed(const std::vector< std::string > &pars, bool is_fixed) +%feature("docstring") FitSuiteParameters::setFixed "void FitSuiteParameters::setFixed(const std::vector< std::string > &pars, bool is_fixed) Set fixed flag for parameters from the list. "; @@ -334,7 +336,7 @@ Set fixed flag for parameters from the list. // File: classIMinimizer.xml %feature("docstring") IMinimizer " -Common interface for all kind minimizer's. +Common interface for all kind minimizers. C++ includes: IMinimizer.h "; @@ -345,105 +347,86 @@ C++ includes: IMinimizer.h %feature("docstring") IMinimizer::~IMinimizer "virtual IMinimizer::~IMinimizer() "; -%feature("docstring") IMinimizer::minimize "void IMinimizer::minimize() +%feature("docstring") IMinimizer::minimize "virtual void IMinimizer::minimize()=0 run minimization "; -%feature("docstring") IMinimizer::setParameter "void IMinimizer::setParameter(size_t index, const FitParameter *par) - -Sets internal minimizer parameter. -"; +%feature("docstring") IMinimizer::setParameters "virtual void IMinimizer::setParameters(const FitSuiteParameters ¶meters)=0 -%feature("docstring") IMinimizer::setParameters "void IMinimizer::setParameters(const FitSuiteParameters ¶meters) +Sets internal minimizer parameter. -Sets internal minimizer parameters using external parameter list. +Sets internal minimizer parameters using external parameter list "; -%feature("docstring") IMinimizer::setChiSquaredFunction "void IMinimizer::setChiSquaredFunction(function_chi2_t fun_chi2, size_t nparameters) +%feature("docstring") IMinimizer::setChiSquaredFunction "virtual void IMinimizer::setChiSquaredFunction(function_chi2_t fun_chi2, size_t nparameters)=0 Sets chi squared function to minimize. "; -%feature("docstring") IMinimizer::setGradientFunction "void IMinimizer::setGradientFunction(function_gradient_t fun_gradient, size_t nparameters, size_t ndatasize) +%feature("docstring") IMinimizer::setGradientFunction "virtual void IMinimizer::setGradientFunction(function_gradient_t fun_gradient, size_t nparameters, size_t ndatasize)=0 Sets gradient function to minimize. "; -%feature("docstring") IMinimizer::getNumberOfVariables "size_t IMinimizer::getNumberOfVariables() const +%feature("docstring") IMinimizer::getNumberOfVariables "virtual size_t IMinimizer::getNumberOfVariables() const =0 Returns number of variables to fit. "; -%feature("docstring") IMinimizer::getMinValue "double IMinimizer::getMinValue() const - -Returns minimum function value. -"; - -%feature("docstring") IMinimizer::getValueOfVariableAtMinimum "double IMinimizer::getValueOfVariableAtMinimum(size_t index) const - -Returns value of the parameter at the minimum. -"; - -%feature("docstring") IMinimizer::getValueOfVariablesAtMinimum "std::vector< double > IMinimizer::getValueOfVariablesAtMinimum() const - -Returns values of parameters at the minimum. -"; +%feature("docstring") IMinimizer::getValueOfVariablesAtMinimum "virtual std::vector<double> IMinimizer::getValueOfVariablesAtMinimum() const =0 -%feature("docstring") IMinimizer::getErrorOfVariable "double IMinimizer::getErrorOfVariable(size_t index) const +Returns minimum function value. -Returns error of variable at minimum. +Returns values of parameters at the minimum "; -%feature("docstring") IMinimizer::getErrorOfVariables "std::vector< double > IMinimizer::getErrorOfVariables() const +%feature("docstring") IMinimizer::getErrorOfVariables "virtual std::vector<double> IMinimizer::getErrorOfVariables() const =0 Returns errors of variables at minimum. "; -%feature("docstring") IMinimizer::clear "void IMinimizer::clear() +%feature("docstring") IMinimizer::printResults "virtual void IMinimizer::printResults() const =0 -clear resources (parameters) for consecutives minimizations -"; +clear resources (parameters) for consecutives minimizations -%feature("docstring") IMinimizer::printResults "void IMinimizer::printResults() const - -Prints fit results. +Prints fit results "; -%feature("docstring") IMinimizer::getNCalls "size_t IMinimizer::getNCalls() const +%feature("docstring") IMinimizer::getNCalls "virtual size_t IMinimizer::getNCalls() const Returns number of calls of minimized function. "; -%feature("docstring") IMinimizer::getOptions "MinimizerOptions * IMinimizer::getOptions() +%feature("docstring") IMinimizer::getOptions "virtual MinimizerOptions* IMinimizer::getOptions() return minimizer options "; -%feature("docstring") IMinimizer::getOptions "const MinimizerOptions * IMinimizer::getOptions() const +%feature("docstring") IMinimizer::getOptions "virtual const MinimizerOptions* IMinimizer::getOptions() const "; -%feature("docstring") IMinimizer::setOptions "void IMinimizer::setOptions(const MinimizerOptions &options) +%feature("docstring") IMinimizer::setOptions "virtual void IMinimizer::setOptions(const MinimizerOptions &) set minimizer options "; -%feature("docstring") IMinimizer::setOptionString "void IMinimizer::setOptionString(const std::string &options) +%feature("docstring") IMinimizer::setOptionString "virtual void IMinimizer::setOptionString(const std::string &) set minimizer option string "; -%feature("docstring") IMinimizer::isGradientBasedAgorithm "bool IMinimizer::isGradientBasedAgorithm() +%feature("docstring") IMinimizer::isGradientBasedAgorithm "virtual bool IMinimizer::isGradientBasedAgorithm() Returns true if type of algorithm is Levenberg-Marquardt or similar. "; -%feature("docstring") IMinimizer::getMinimizerName "std::string IMinimizer::getMinimizerName() const +%feature("docstring") IMinimizer::getMinimizerName "virtual std::string IMinimizer::getMinimizerName() const =0 return name of the minimizer "; -%feature("docstring") IMinimizer::getAlgorithmName "std::string IMinimizer::getAlgorithmName() const +%feature("docstring") IMinimizer::getAlgorithmName "virtual std::string IMinimizer::getAlgorithmName() const =0 return name of the minimization algorithm "; @@ -842,8 +825,6 @@ C++ includes: ROOTGeneticMinimizer.h "; %feature("docstring") ROOTGeneticMinimizer::setParameter "void ROOTGeneticMinimizer::setParameter(size_t index, const FitParameter *par) - -Sets internal minimizer parameter. "; @@ -887,13 +868,13 @@ run minimization "; %feature("docstring") ROOTMinimizer::setParameter "void ROOTMinimizer::setParameter(size_t index, const FitParameter *par) - -Sets internal minimizer parameter. "; %feature("docstring") ROOTMinimizer::setParameters "void ROOTMinimizer::setParameters(const FitSuiteParameters ¶meters) -Sets internal minimizer parameters using external parameter list. +Sets internal minimizer parameter. + +Sets internal minimizer parameters using external parameter list "; %feature("docstring") ROOTMinimizer::setChiSquaredFunction "void ROOTMinimizer::setChiSquaredFunction(function_chi2_t fun_chi2, size_t nparameters) @@ -911,24 +892,14 @@ Sets gradient function to minimize. Returns number of variables to fit. "; -%feature("docstring") ROOTMinimizer::getMinValue "double ROOTMinimizer::getMinValue() const - -Returns minimum function value. -"; - -%feature("docstring") ROOTMinimizer::getValueOfVariableAtMinimum "double ROOTMinimizer::getValueOfVariableAtMinimum(size_t i) const - -Returns value of the parameter at the minimum. +%feature("docstring") ROOTMinimizer::getMinValue "double ROOTMinimizer::getMinValue() const "; %feature("docstring") ROOTMinimizer::getValueOfVariablesAtMinimum "std::vector< double > ROOTMinimizer::getValueOfVariablesAtMinimum() const -Returns values of parameters at the minimum. -"; - -%feature("docstring") ROOTMinimizer::getErrorOfVariable "double ROOTMinimizer::getErrorOfVariable(size_t i) const +Returns minimum function value. -Returns error of variable at minimum. +Returns values of parameters at the minimum "; %feature("docstring") ROOTMinimizer::getErrorOfVariables "std::vector< double > ROOTMinimizer::getErrorOfVariables() const @@ -938,12 +909,12 @@ Returns errors of variables at minimum. %feature("docstring") ROOTMinimizer::printResults "void ROOTMinimizer::printResults() const -Prints fit results. +clear resources (parameters) for consecutives minimizations + +Prints fit results "; %feature("docstring") ROOTMinimizer::clear "void ROOTMinimizer::clear() - -clear resources (parameters) for consecutives minimizations "; %feature("docstring") ROOTMinimizer::getNCalls "size_t ROOTMinimizer::getNCalls() const @@ -1102,74 +1073,73 @@ C++ includes: TrivialMinimizer.h %feature("docstring") TrivialMinimizer::TrivialMinimizer "TrivialMinimizer::TrivialMinimizer() "; -%feature("docstring") TrivialMinimizer::~TrivialMinimizer "virtual TrivialMinimizer::~TrivialMinimizer() +%feature("docstring") TrivialMinimizer::~TrivialMinimizer "TrivialMinimizer::~TrivialMinimizer() final "; -%feature("docstring") TrivialMinimizer::minimize "void TrivialMinimizer::minimize() +%feature("docstring") TrivialMinimizer::minimize "void TrivialMinimizer::minimize() final run minimization "; -%feature("docstring") TrivialMinimizer::setParameters "void TrivialMinimizer::setParameters(const FitSuiteParameters ¶meters) +%feature("docstring") TrivialMinimizer::setParameters "void TrivialMinimizer::setParameters(const FitSuiteParameters ¶meters) final -Sets internal minimizer parameters using external parameter list. +Sets internal minimizer parameter. + +Sets internal minimizer parameters using external parameter list "; -%feature("docstring") TrivialMinimizer::setChiSquaredFunction "virtual void TrivialMinimizer::setChiSquaredFunction(function_chi2_t fun_chi2, size_t) +%feature("docstring") TrivialMinimizer::setChiSquaredFunction "void TrivialMinimizer::setChiSquaredFunction(function_chi2_t fun_chi2, size_t) final Sets chi squared function to minimize. "; -%feature("docstring") TrivialMinimizer::setGradientFunction "virtual void TrivialMinimizer::setGradientFunction(function_gradient_t, size_t, size_t) +%feature("docstring") TrivialMinimizer::setGradientFunction "void TrivialMinimizer::setGradientFunction(function_gradient_t, size_t, size_t) final Sets gradient function to minimize. "; -%feature("docstring") TrivialMinimizer::getNumberOfVariables "virtual size_t TrivialMinimizer::getNumberOfVariables() const +%feature("docstring") TrivialMinimizer::getNumberOfVariables "size_t TrivialMinimizer::getNumberOfVariables() const final Returns number of variables to fit. "; -%feature("docstring") TrivialMinimizer::getValueOfVariableAtMinimum "double TrivialMinimizer::getValueOfVariableAtMinimum(size_t index) const - -Returns pointer to the parameters values at the minimum. -"; - -%feature("docstring") TrivialMinimizer::getValueOfVariablesAtMinimum "std::vector< double > TrivialMinimizer::getValueOfVariablesAtMinimum() const +%feature("docstring") TrivialMinimizer::getValueOfVariablesAtMinimum "std::vector< double > TrivialMinimizer::getValueOfVariablesAtMinimum() const final Returns value of the parameter at the minimum. "; -%feature("docstring") TrivialMinimizer::printResults "void TrivialMinimizer::printResults() const +%feature("docstring") TrivialMinimizer::getErrorOfVariables "std::vector< double > TrivialMinimizer::getErrorOfVariables() const final -Prints fit results. +Returns errors of variables at minimum. "; -%feature("docstring") TrivialMinimizer::getErrorOfVariables "std::vector< double > TrivialMinimizer::getErrorOfVariables() const +%feature("docstring") TrivialMinimizer::printResults "void TrivialMinimizer::printResults() const final -Returns errors of variables at minimum. +clear resources (parameters) for consecutives minimizations + +Prints fit results "; -%feature("docstring") TrivialMinimizer::getMinimizerName "std::string TrivialMinimizer::getMinimizerName() const +%feature("docstring") TrivialMinimizer::getMinimizerName "std::string TrivialMinimizer::getMinimizerName() const final return name of the minimizer "; -%feature("docstring") TrivialMinimizer::getAlgorithmName "std::string TrivialMinimizer::getAlgorithmName() const +%feature("docstring") TrivialMinimizer::getAlgorithmName "std::string TrivialMinimizer::getAlgorithmName() const final return name of the minimization algorithm "; -%feature("docstring") TrivialMinimizer::getOptions "MinimizerOptions * TrivialMinimizer::getOptions() +%feature("docstring") TrivialMinimizer::getOptions "MinimizerOptions* TrivialMinimizer::getOptions() final return minimizer options "; -%feature("docstring") TrivialMinimizer::getOptions "const MinimizerOptions * TrivialMinimizer::getOptions() const +%feature("docstring") TrivialMinimizer::getOptions "const MinimizerOptions* TrivialMinimizer::getOptions() const final "; -// File: namespace_0D15.xml +// File: namespace_0D14.xml // File: namespaceAlgorithmNames.xml @@ -1234,9 +1204,6 @@ Returns string right-padded with blanks. // File: Configurable_8h.xml -// File: IMinimizer_8cpp.xml - - // File: IMinimizer_8h.xml diff --git a/auto/Wrap/libBornAgainCore.py b/auto/Wrap/libBornAgainCore.py index 2dcf8bad944..a35b265a657 100644 --- a/auto/Wrap/libBornAgainCore.py +++ b/auto/Wrap/libBornAgainCore.py @@ -1651,7 +1651,12 @@ class IParameterized(INamed): def registerParameter(self, name, parpointer): - """registerParameter(IParameterized self, std::string const & name, double * parpointer) -> RealParameter""" + """ + registerParameter(IParameterized self, std::string const & name, double * parpointer) -> RealParameter + + RealParameter & IParameterized::registerParameter(const std::string &name, double *parpointer) + + """ return _libBornAgainCore.IParameterized_registerParameter(self, name, parpointer) @@ -6615,7 +6620,12 @@ class ISampleBuilder(IParameterized): def registerParameter(self, name, parpointer): - """registerParameter(ISampleBuilder self, std::string const & name, int64_t parpointer) -> RealParameter""" + """ + registerParameter(ISampleBuilder self, std::string const & name, int64_t parpointer) -> RealParameter + + RealParameter & IParameterized::registerParameter(const std::string &name, double *parpointer) + + """ return _libBornAgainCore.ISampleBuilder_registerParameter(self, name, parpointer) @@ -8058,7 +8068,7 @@ class Ellipse(IShape2D): Radius along y-axis theta: - Angle of Ellipse rotation in radians + Angle of Ellipse rotation in radians """ this = _libBornAgainCore.new_Ellipse(xcenter, ycenter, xradius, yradius, theta) @@ -11727,7 +11737,7 @@ class FormFactorDecoratorDebyeWaller(IFormFactorDecorator): """ clone(FormFactorDecoratorDebyeWaller self) -> FormFactorDecoratorDebyeWaller - FormFactorDecoratorDebyeWaller * FormFactorDecoratorDebyeWaller::clone() const + FormFactorDecoratorDebyeWaller* FormFactorDecoratorDebyeWaller::clone() const final Returns a clone of this ISample object. @@ -11739,7 +11749,7 @@ class FormFactorDecoratorDebyeWaller(IFormFactorDecorator): """ accept(FormFactorDecoratorDebyeWaller self, ISampleVisitor visitor) - void FormFactorDecoratorDebyeWaller::accept(ISampleVisitor *visitor) const + void FormFactorDecoratorDebyeWaller::accept(ISampleVisitor *visitor) const final Calls the ISampleVisitor's visit method. @@ -13194,8 +13204,6 @@ class FormFactorLongRipple2Lorentz(IFormFactorBorn): FormFactorLongRipple2Lorentz::FormFactorLongRipple2Lorentz(double length, double width, double height, double asymmetry) - FormFactorLongRipple2Lorentz constructor. - Parameters: ----------- @@ -18910,8 +18918,6 @@ class InterferenceFunction2DLattice(IInterferenceFunction): InterferenceFunction2DLattice::InterferenceFunction2DLattice(double length_1, double length_2, double angle, double xi=0.0) - contructor - Parameters: ----------- @@ -19083,16 +19089,16 @@ class InterferenceFunction2DParaCrystal(IInterferenceFunction): ----------- length_1: - Length of first lattice basis vector. + Length of first lattice basis vector. length_2: - Length of second lattice basis vector. + Length of second lattice basis vector. alpha_lattice: - Angle between the lattice basis vectors. + Angle between the lattice basis vectors. xi: - Angle between first basis vector and the x-axis of incoming beam. + Angle between first basis vector and the x-axis of incoming beam. damping_length: Damping length for removing delta function singularity at q=0. @@ -20010,7 +20016,7 @@ class Layer(ICompositeSample): """ clone(Layer self) -> Layer - Layer * Layer::clone() const + Layer* Layer::clone() const final Returns a clone of this ISample object. @@ -22224,7 +22230,9 @@ class ParameterPool(_object): """ - Holds a map of pointers to parameters (which must have different names). + Holds a map of pointers to parameters.Used in IParameterized, which has a member ParameterPool* m_pool. So this is pimpl (pointer to implementation) idiom, with ParameterPool providing the implementation of all the nontrivial functionality of IParameterized. + + Parameter names must be unique since we use them as map keys. C++ includes: ParameterPool.h @@ -22268,7 +22276,7 @@ class ParameterPool(_object): ParameterPool * ParameterPool::cloneWithPrefix(const std::string &prefix) const - Returns a clone with prefix added to every parameter key. + Returns a clone with prefix prepended to every parameter key. """ return _libBornAgainCore.ParameterPool_cloneWithPrefix(self, prefix) @@ -22280,9 +22288,7 @@ class ParameterPool(_object): void ParameterPool::copyToExternalPool(const std::string &prefix, ParameterPool *external_pool) const - Copies parameters to external_pool, adding prefix to every key. - - Copy parameters of given pool to the external pool while adding prefix to local parameter keys + Copies parameters of given pool to other pool, prepeding prefix to the parameter names. """ return _libBornAgainCore.ParameterPool_copyToExternalPool(self, prefix, external_pool) @@ -22294,7 +22300,7 @@ class ParameterPool(_object): void ParameterPool::clear() - Deletes parameter map. + Clears the parameter map. """ return _libBornAgainCore.ParameterPool_clear(self) @@ -22326,11 +22332,11 @@ class ParameterPool(_object): """ addParameter(ParameterPool self, RealParameter par) -> RealParameter - void ParameterPool::addParameter(RealParameter *par) + RealParameter & ParameterPool::addParameter(RealParameter *par) - Adds parameter to the pool. + Adds parameter to the pool, and returns reference to the input pointer. - Low-level routine. + Returning the input pointer allows us to concatenate function calls like pool->addParameter( new RealParameter(...) ).setLimits(-1,+1).setFixed().setUnit("nm") """ return _libBornAgainCore.ParameterPool_addParameter(self, par) @@ -22343,9 +22349,7 @@ class ParameterPool(_object): const RealParameter * ParameterPool::getParameter(const std::string &name) const - Returns parameter named name. - - Returns parameter with given name. + Returns parameter with given name. """ return _libBornAgainCore.ParameterPool_getParameter(self, *args) @@ -22369,7 +22373,7 @@ class ParameterPool(_object): std::vector< RealParameter * > ParameterPool::getMatchedParameters(const std::string &wildcards) const - Returns vector of parameters which fit pattern. + Returns vector of parameters that match the pattern (wildcards '*' allowed). """ return _libBornAgainCore.ParameterPool_getMatchedParameters(self, wildcards) @@ -22393,8 +22397,6 @@ class ParameterPool(_object): int ParameterPool::setMatchedParametersValue(const std::string &wildcards, double value) - Sets parameter value, return number of changed parameters. - Sets parameter value. """ @@ -22405,9 +22407,7 @@ class ParameterPool(_object): """ getParameterNames(ParameterPool self) -> vector_string_t - std::vector< std::string > ParameterPool::getParameterNames() const - - Returns all parameter names. + std::vector< std::string > ParameterPool::getParameterNames() const """ return _libBornAgainCore.ParameterPool_getParameterNames(self) @@ -23390,7 +23390,7 @@ class RealParameter(INamed): clone(RealParameter self, std::string const & new_name) -> RealParameter clone(RealParameter self) -> RealParameter - virtual RealParameter* RealParameter::clone(const std::string &new_name="") const =0 + RealParameter * RealParameter::clone(const std::string &new_name="") const """ return _libBornAgainCore.RealParameter_clone(self, *args) @@ -23421,7 +23421,12 @@ class RealParameter(INamed): def setUnit(self, name): - """setUnit(RealParameter self, std::string const & name) -> RealParameter""" + """ + setUnit(RealParameter self, std::string const & name) -> RealParameter + + RealParameter& RealParameter::setUnit(const std::string &name) + + """ return _libBornAgainCore.RealParameter_setUnit(self, name) @@ -23450,7 +23455,12 @@ class RealParameter(INamed): def setLimits(self, limits): - """setLimits(RealParameter self, Limits limits) -> RealParameter""" + """ + setLimits(RealParameter self, Limits limits) -> RealParameter + + RealParameter& RealParameter::setLimits(const Limits &limits) + + """ return _libBornAgainCore.RealParameter_setLimits(self, limits) @@ -23465,17 +23475,32 @@ class RealParameter(INamed): def setLimited(self, lower, upper): - """setLimited(RealParameter self, double lower, double upper) -> RealParameter""" + """ + setLimited(RealParameter self, double lower, double upper) -> RealParameter + + RealParameter & RealParameter::setLimited(double lower, double upper) + + """ return _libBornAgainCore.RealParameter_setLimited(self, lower, upper) def setPositive(self): - """setPositive(RealParameter self) -> RealParameter""" + """ + setPositive(RealParameter self) -> RealParameter + + RealParameter & RealParameter::setPositive() + + """ return _libBornAgainCore.RealParameter_setPositive(self) def setNonnegative(self): - """setNonnegative(RealParameter self) -> RealParameter""" + """ + setNonnegative(RealParameter self) -> RealParameter + + RealParameter & RealParameter::setNonnegative() + + """ return _libBornAgainCore.RealParameter_setNonnegative(self) @@ -23493,7 +23518,7 @@ class RealParameter(INamed): """ unit(RealParameter self) -> std::string - virtual std::string RealParameter::unit() const =0 + std::string RealParameter::unit() const """ return _libBornAgainCore.RealParameter_unit(self) @@ -24350,7 +24375,7 @@ class SampleBuilderFactory(_object): registerItem(SampleBuilderFactory self, std::string const & item_key, IFactory< std::string,ISampleBuilder >::CreateItemCallback CreateFn, std::string const & itemDescription) -> bool registerItem(SampleBuilderFactory self, std::string const & item_key, IFactory< std::string,ISampleBuilder >::CreateItemCallback CreateFn) -> bool - bool IFactory< Key, AbstractProduct >::registerItem(const Key &item_key, CreateItemCallback CreateFn, const std::string &itemDescription) + bool IFactory< Key, AbstractProduct >::registerItem(const Key &item_key, CreateItemCallback CreateFn, const std::string &itemDescription="") Registers object's creation function and store object description. @@ -24439,7 +24464,7 @@ class SimulationFactory(_object): registerItem(SimulationFactory self, std::string const & item_key, IFactory< std::string,GISASSimulation >::CreateItemCallback CreateFn, std::string const & itemDescription) -> bool registerItem(SimulationFactory self, std::string const & item_key, IFactory< std::string,GISASSimulation >::CreateItemCallback CreateFn) -> bool - bool IFactory< Key, AbstractProduct >::registerItem(const Key &item_key, CreateItemCallback CreateFn, const std::string &itemDescription) + bool IFactory< Key, AbstractProduct >::registerItem(const Key &item_key, CreateItemCallback CreateFn, const std::string &itemDescription="") Registers object's creation function and store object description. diff --git a/auto/Wrap/libBornAgainCore_wrap.cpp b/auto/Wrap/libBornAgainCore_wrap.cpp index 17101b5491e..70a5a842bb9 100644 --- a/auto/Wrap/libBornAgainCore_wrap.cpp +++ b/auto/Wrap/libBornAgainCore_wrap.cpp @@ -100942,7 +100942,12 @@ static PyMethodDef SwigMethods[] = { "void IParameterized::printParameters()\n" "\n" ""}, - { (char *)"IParameterized_registerParameter", _wrap_IParameterized_registerParameter, METH_VARARGS, (char *)"IParameterized_registerParameter(IParameterized self, std::string const & name, double * parpointer) -> RealParameter"}, + { (char *)"IParameterized_registerParameter", _wrap_IParameterized_registerParameter, METH_VARARGS, (char *)"\n" + "IParameterized_registerParameter(IParameterized self, std::string const & name, double * parpointer) -> RealParameter\n" + "\n" + "RealParameter & IParameterized::registerParameter(const std::string &name, double *parpointer)\n" + "\n" + ""}, { (char *)"IParameterized_setParameterValue", _wrap_IParameterized_setParameterValue, METH_VARARGS, (char *)"\n" "IParameterized_setParameterValue(IParameterized self, std::string const & name, double value)\n" "\n" @@ -103466,7 +103471,12 @@ static PyMethodDef SwigMethods[] = { "const IFTDistribution2D * ISampleBuilder::getFTDistribution2D() const \n" "\n" ""}, - { (char *)"ISampleBuilder_registerParameter", _wrap_ISampleBuilder_registerParameter, METH_VARARGS, (char *)"ISampleBuilder_registerParameter(ISampleBuilder self, std::string const & name, int64_t parpointer) -> RealParameter"}, + { (char *)"ISampleBuilder_registerParameter", _wrap_ISampleBuilder_registerParameter, METH_VARARGS, (char *)"\n" + "ISampleBuilder_registerParameter(ISampleBuilder self, std::string const & name, int64_t parpointer) -> RealParameter\n" + "\n" + "RealParameter & IParameterized::registerParameter(const std::string &name, double *parpointer)\n" + "\n" + ""}, { (char *)"ISampleBuilder_setParameterValue", _wrap_ISampleBuilder_setParameterValue, METH_VARARGS, (char *)"\n" "ISampleBuilder_setParameterValue(ISampleBuilder self, std::string const & name, double value)\n" "\n" @@ -104319,7 +104329,7 @@ static PyMethodDef SwigMethods[] = { "Radius along y-axis\n" "\n" "theta: \n" - " Angle of Ellipse rotation in radians \n" + "Angle of Ellipse rotation in radians \n" "\n" ""}, { (char *)"Ellipse_clone", _wrap_Ellipse_clone, METH_VARARGS, (char *)"\n" @@ -106057,7 +106067,7 @@ static PyMethodDef SwigMethods[] = { { (char *)"FormFactorDecoratorDebyeWaller_clone", _wrap_FormFactorDecoratorDebyeWaller_clone, METH_VARARGS, (char *)"\n" "FormFactorDecoratorDebyeWaller_clone(FormFactorDecoratorDebyeWaller self) -> FormFactorDecoratorDebyeWaller\n" "\n" - "FormFactorDecoratorDebyeWaller * FormFactorDecoratorDebyeWaller::clone() const\n" + "FormFactorDecoratorDebyeWaller* FormFactorDecoratorDebyeWaller::clone() const final\n" "\n" "Returns a clone of this ISample object. \n" "\n" @@ -106065,7 +106075,7 @@ static PyMethodDef SwigMethods[] = { { (char *)"FormFactorDecoratorDebyeWaller_accept", _wrap_FormFactorDecoratorDebyeWaller_accept, METH_VARARGS, (char *)"\n" "FormFactorDecoratorDebyeWaller_accept(FormFactorDecoratorDebyeWaller self, ISampleVisitor visitor)\n" "\n" - "void FormFactorDecoratorDebyeWaller::accept(ISampleVisitor *visitor) const\n" + "void FormFactorDecoratorDebyeWaller::accept(ISampleVisitor *visitor) const final\n" "\n" "Calls the ISampleVisitor's visit method. \n" "\n" @@ -106078,12 +106088,7 @@ static PyMethodDef SwigMethods[] = { "Returns scattering amplitude for complex wavevector bin. \n" "\n" ""}, - { (char *)"delete_FormFactorDecoratorDebyeWaller", _wrap_delete_FormFactorDecoratorDebyeWaller, METH_VARARGS, (char *)"\n" - "delete_FormFactorDecoratorDebyeWaller(FormFactorDecoratorDebyeWaller self)\n" - "\n" - "virtual FormFactorDecoratorDebyeWaller::~FormFactorDecoratorDebyeWaller()\n" - "\n" - ""}, + { (char *)"delete_FormFactorDecoratorDebyeWaller", _wrap_delete_FormFactorDecoratorDebyeWaller, METH_VARARGS, (char *)"delete_FormFactorDecoratorDebyeWaller(FormFactorDecoratorDebyeWaller self)"}, { (char *)"FormFactorDecoratorDebyeWaller_swigregister", FormFactorDecoratorDebyeWaller_swigregister, METH_VARARGS, NULL}, { (char *)"new_FormFactorDodecahedron", _wrap_new_FormFactorDodecahedron, METH_VARARGS, (char *)"\n" "new_FormFactorDodecahedron(double edge) -> FormFactorDodecahedron\n" @@ -106888,8 +106893,6 @@ static PyMethodDef SwigMethods[] = { "\n" "FormFactorLongRipple2Lorentz::FormFactorLongRipple2Lorentz(double length, double width, double height, double asymmetry)\n" "\n" - "FormFactorLongRipple2Lorentz constructor.\n" - "\n" "Parameters:\n" "-----------\n" "\n" @@ -110102,8 +110105,6 @@ static PyMethodDef SwigMethods[] = { "\n" "InterferenceFunction2DLattice::InterferenceFunction2DLattice(double length_1, double length_2, double angle, double xi=0.0)\n" "\n" - "contructor\n" - "\n" "Parameters:\n" "-----------\n" "\n" @@ -110196,16 +110197,16 @@ static PyMethodDef SwigMethods[] = { "-----------\n" "\n" "length_1: \n" - " Length of first lattice basis vector.\n" + "Length of first lattice basis vector.\n" "\n" "length_2: \n" - " Length of second lattice basis vector.\n" + "Length of second lattice basis vector.\n" "\n" "alpha_lattice: \n" - " Angle between the lattice basis vectors.\n" + "Angle between the lattice basis vectors.\n" "\n" "xi: \n" - " Angle between first basis vector and the x-axis of incoming beam.\n" + "Angle between first basis vector and the x-axis of incoming beam.\n" "\n" "damping_length: \n" "Damping length for removing delta function singularity at q=0. \n" @@ -110683,7 +110684,7 @@ static PyMethodDef SwigMethods[] = { { (char *)"Layer_clone", _wrap_Layer_clone, METH_VARARGS, (char *)"\n" "Layer_clone(Layer self) -> Layer\n" "\n" - "Layer * Layer::clone() const\n" + "Layer* Layer::clone() const final\n" "\n" "Returns a clone of this ISample object. \n" "\n" @@ -112035,7 +112036,7 @@ static PyMethodDef SwigMethods[] = { "\n" "ParameterPool * ParameterPool::cloneWithPrefix(const std::string &prefix) const\n" "\n" - "Returns a clone with prefix added to every parameter key. \n" + "Returns a clone with prefix prepended to every parameter key. \n" "\n" ""}, { (char *)"ParameterPool_copyToExternalPool", _wrap_ParameterPool_copyToExternalPool, METH_VARARGS, (char *)"\n" @@ -112043,9 +112044,7 @@ static PyMethodDef SwigMethods[] = { "\n" "void ParameterPool::copyToExternalPool(const std::string &prefix, ParameterPool *external_pool) const\n" "\n" - "Copies parameters to external_pool, adding prefix to every key.\n" - "\n" - "Copy parameters of given pool to the external pool while adding prefix to local parameter keys \n" + "Copies parameters of given pool to other pool, prepeding prefix to the parameter names. \n" "\n" ""}, { (char *)"ParameterPool_clear", _wrap_ParameterPool_clear, METH_VARARGS, (char *)"\n" @@ -112053,7 +112052,7 @@ static PyMethodDef SwigMethods[] = { "\n" "void ParameterPool::clear()\n" "\n" - "Deletes parameter map. \n" + "Clears the parameter map. \n" "\n" ""}, { (char *)"ParameterPool_getName", _wrap_ParameterPool_getName, METH_VARARGS, (char *)"\n" @@ -112073,11 +112072,11 @@ static PyMethodDef SwigMethods[] = { { (char *)"ParameterPool_addParameter", _wrap_ParameterPool_addParameter, METH_VARARGS, (char *)"\n" "ParameterPool_addParameter(ParameterPool self, RealParameter par) -> RealParameter\n" "\n" - "void ParameterPool::addParameter(RealParameter *par)\n" + "RealParameter & ParameterPool::addParameter(RealParameter *par)\n" "\n" - "Adds parameter to the pool.\n" + "Adds parameter to the pool, and returns reference to the input pointer.\n" "\n" - "Low-level routine. \n" + "Returning the input pointer allows us to concatenate function calls like pool->addParameter( new RealParameter(...) ).setLimits(-1,+1).setFixed().setUnit(\"nm\") \n" "\n" ""}, { (char *)"ParameterPool_getParameter", _wrap_ParameterPool_getParameter, METH_VARARGS, (char *)"\n" @@ -112086,9 +112085,7 @@ static PyMethodDef SwigMethods[] = { "\n" "const RealParameter * ParameterPool::getParameter(const std::string &name) const\n" "\n" - "Returns parameter named name.\n" - "\n" - "Returns parameter with given name. \n" + "Returns parameter with given name. \n" "\n" ""}, { (char *)"ParameterPool_getParameters", _wrap_ParameterPool_getParameters, METH_VARARGS, (char *)"\n" @@ -112104,7 +112101,7 @@ static PyMethodDef SwigMethods[] = { "\n" "std::vector< RealParameter * > ParameterPool::getMatchedParameters(const std::string &wildcards) const\n" "\n" - "Returns vector of parameters which fit pattern. \n" + "Returns vector of parameters that match the pattern (wildcards '*' allowed). \n" "\n" ""}, { (char *)"ParameterPool_setParameterValue", _wrap_ParameterPool_setParameterValue, METH_VARARGS, (char *)"\n" @@ -112120,17 +112117,13 @@ static PyMethodDef SwigMethods[] = { "\n" "int ParameterPool::setMatchedParametersValue(const std::string &wildcards, double value)\n" "\n" - "Sets parameter value, return number of changed parameters.\n" - "\n" "Sets parameter value. \n" "\n" ""}, { (char *)"ParameterPool_getParameterNames", _wrap_ParameterPool_getParameterNames, METH_VARARGS, (char *)"\n" "ParameterPool_getParameterNames(ParameterPool self) -> vector_string_t\n" "\n" - "std::vector< std::string > ParameterPool::getParameterNames() const\n" - "\n" - "Returns all parameter names. \n" + "std::vector< std::string > ParameterPool::getParameterNames() const \n" "\n" ""}, { (char *)"ParameterPool_swigregister", ParameterPool_swigregister, METH_VARARGS, NULL}, @@ -112706,7 +112699,7 @@ static PyMethodDef SwigMethods[] = { "clone(std::string const & new_name) -> RealParameter\n" "RealParameter_clone(RealParameter self) -> RealParameter\n" "\n" - "virtual RealParameter* RealParameter::clone(const std::string &new_name=\"\") const =0\n" + "RealParameter * RealParameter::clone(const std::string &new_name=\"\") const \n" "\n" ""}, { (char *)"RealParameter_setValue", _wrap_RealParameter_setValue, METH_VARARGS, (char *)"\n" @@ -112725,7 +112718,12 @@ static PyMethodDef SwigMethods[] = { "Returns value of wrapped parameter. \n" "\n" ""}, - { (char *)"RealParameter_setUnit", _wrap_RealParameter_setUnit, METH_VARARGS, (char *)"RealParameter_setUnit(RealParameter self, std::string const & name) -> RealParameter"}, + { (char *)"RealParameter_setUnit", _wrap_RealParameter_setUnit, METH_VARARGS, (char *)"\n" + "RealParameter_setUnit(RealParameter self, std::string const & name) -> RealParameter\n" + "\n" + "RealParameter& RealParameter::setUnit(const std::string &name)\n" + "\n" + ""}, { (char *)"RealParameter_isNull", _wrap_RealParameter_isNull, METH_VARARGS, (char *)"\n" "RealParameter_isNull(RealParameter self) -> bool\n" "\n" @@ -112742,30 +112740,45 @@ static PyMethodDef SwigMethods[] = { "throw exception if parameter was not initialized with proper value \n" "\n" ""}, - { (char *)"RealParameter_setLimits", _wrap_RealParameter_setLimits, METH_VARARGS, (char *)"RealParameter_setLimits(RealParameter self, Limits limits) -> RealParameter"}, + { (char *)"RealParameter_setLimits", _wrap_RealParameter_setLimits, METH_VARARGS, (char *)"\n" + "RealParameter_setLimits(RealParameter self, Limits limits) -> RealParameter\n" + "\n" + "RealParameter& RealParameter::setLimits(const Limits &limits)\n" + "\n" + ""}, { (char *)"RealParameter_getLimits", _wrap_RealParameter_getLimits, METH_VARARGS, (char *)"\n" "RealParameter_getLimits(RealParameter self) -> Limits\n" "\n" "Limits RealParameter::getLimits() const \n" "\n" ""}, - { (char *)"RealParameter_setLimited", _wrap_RealParameter_setLimited, METH_VARARGS, (char *)"RealParameter_setLimited(RealParameter self, double lower, double upper) -> RealParameter"}, - { (char *)"RealParameter_setPositive", _wrap_RealParameter_setPositive, METH_VARARGS, (char *)"RealParameter_setPositive(RealParameter self) -> RealParameter"}, - { (char *)"RealParameter_setNonnegative", _wrap_RealParameter_setNonnegative, METH_VARARGS, (char *)"RealParameter_setNonnegative(RealParameter self) -> RealParameter"}, + { (char *)"RealParameter_setLimited", _wrap_RealParameter_setLimited, METH_VARARGS, (char *)"\n" + "RealParameter_setLimited(RealParameter self, double lower, double upper) -> RealParameter\n" + "\n" + "RealParameter & RealParameter::setLimited(double lower, double upper)\n" + "\n" + ""}, + { (char *)"RealParameter_setPositive", _wrap_RealParameter_setPositive, METH_VARARGS, (char *)"\n" + "RealParameter_setPositive(RealParameter self) -> RealParameter\n" + "\n" + "RealParameter & RealParameter::setPositive()\n" + "\n" + ""}, + { (char *)"RealParameter_setNonnegative", _wrap_RealParameter_setNonnegative, METH_VARARGS, (char *)"\n" + "RealParameter_setNonnegative(RealParameter self) -> RealParameter\n" + "\n" + "RealParameter & RealParameter::setNonnegative()\n" + "\n" + ""}, { (char *)"RealParameter___eq__", _wrap_RealParameter___eq__, METH_VARARGS, (char *)"RealParameter___eq__(RealParameter self, RealParameter other) -> bool"}, { (char *)"RealParameter___ne__", _wrap_RealParameter___ne__, METH_VARARGS, (char *)"RealParameter___ne__(RealParameter self, RealParameter other) -> bool"}, { (char *)"RealParameter_unit", _wrap_RealParameter_unit, METH_VARARGS, (char *)"\n" "RealParameter_unit(RealParameter self) -> std::string\n" "\n" - "virtual std::string RealParameter::unit() const =0\n" - "\n" - ""}, - { (char *)"delete_RealParameter", _wrap_delete_RealParameter, METH_VARARGS, (char *)"\n" - "delete_RealParameter(RealParameter self)\n" - "\n" - "virtual RealParameter::~RealParameter()\n" + "std::string RealParameter::unit() const \n" "\n" ""}, + { (char *)"delete_RealParameter", _wrap_delete_RealParameter, METH_VARARGS, (char *)"delete_RealParameter(RealParameter self)"}, { (char *)"RealParameter_swigregister", RealParameter_swigregister, METH_VARARGS, NULL}, { (char *)"new_Rectangle", _wrap_new_Rectangle, METH_VARARGS, (char *)"\n" "new_Rectangle(double xlow, double ylow, double xup, double yup) -> Rectangle\n" @@ -113224,7 +113237,7 @@ static PyMethodDef SwigMethods[] = { "registerItem(std::string const & item_key, IFactory< std::string,ISampleBuilder >::CreateItemCallback CreateFn, std::string const & itemDescription) -> bool\n" "SampleBuilderFactory_registerItem(SampleBuilderFactory self, std::string const & item_key, IFactory< std::string,ISampleBuilder >::CreateItemCallback CreateFn) -> bool\n" "\n" - "bool IFactory< Key, AbstractProduct >::registerItem(const Key &item_key, CreateItemCallback CreateFn, const std::string &itemDescription)\n" + "bool IFactory< Key, AbstractProduct >::registerItem(const Key &item_key, CreateItemCallback CreateFn, const std::string &itemDescription=\"\")\n" "\n" "Registers object's creation function and store object description. \n" "\n" @@ -113274,7 +113287,7 @@ static PyMethodDef SwigMethods[] = { "registerItem(std::string const & item_key, IFactory< std::string,GISASSimulation >::CreateItemCallback CreateFn, std::string const & itemDescription) -> bool\n" "SimulationFactory_registerItem(SimulationFactory self, std::string const & item_key, IFactory< std::string,GISASSimulation >::CreateItemCallback CreateFn) -> bool\n" "\n" - "bool IFactory< Key, AbstractProduct >::registerItem(const Key &item_key, CreateItemCallback CreateFn, const std::string &itemDescription)\n" + "bool IFactory< Key, AbstractProduct >::registerItem(const Key &item_key, CreateItemCallback CreateFn, const std::string &itemDescription=\"\")\n" "\n" "Registers object's creation function and store object description. \n" "\n" diff --git a/auto/Wrap/libBornAgainFit.py b/auto/Wrap/libBornAgainFit.py index 6f82c5b6865..d1b81e586be 100644 --- a/auto/Wrap/libBornAgainFit.py +++ b/auto/Wrap/libBornAgainFit.py @@ -1778,7 +1778,7 @@ class Configurable(_object): """ - The Configurable class is a base for storing (int,double,string) options. + A base class for storing (int,double,string) options. C++ includes: Configurable.h @@ -1837,7 +1837,7 @@ class IMinimizer(Configurable): """ - Common interface for all kind minimizer's. + Common interface for all kind minimizers. C++ includes: IMinimizer.h @@ -1861,7 +1861,7 @@ class IMinimizer(Configurable): """ minimize(IMinimizer self) - void IMinimizer::minimize() + virtual void IMinimizer::minimize()=0 run minimization @@ -1873,9 +1873,11 @@ class IMinimizer(Configurable): """ setParameters(IMinimizer self, FitSuiteParameters parameters) - void IMinimizer::setParameters(const FitSuiteParameters ¶meters) + virtual void IMinimizer::setParameters(const FitSuiteParameters ¶meters)=0 - Sets internal minimizer parameters using external parameter list. + Sets internal minimizer parameter. + + Sets internal minimizer parameters using external parameter list """ return _libBornAgainFit.IMinimizer_setParameters(self, parameters) @@ -1885,7 +1887,7 @@ class IMinimizer(Configurable): """ setChiSquaredFunction(IMinimizer self, IMinimizer::function_chi2_t fun_chi2, size_t nparameters) - void IMinimizer::setChiSquaredFunction(function_chi2_t fun_chi2, size_t nparameters) + virtual void IMinimizer::setChiSquaredFunction(function_chi2_t fun_chi2, size_t nparameters)=0 Sets chi squared function to minimize. @@ -1897,7 +1899,7 @@ class IMinimizer(Configurable): """ setGradientFunction(IMinimizer self, IMinimizer::function_gradient_t fun_gradient, size_t nparameters, size_t ndatasize) - void IMinimizer::setGradientFunction(function_gradient_t fun_gradient, size_t nparameters, size_t ndatasize) + virtual void IMinimizer::setGradientFunction(function_gradient_t fun_gradient, size_t nparameters, size_t ndatasize)=0 Sets gradient function to minimize. @@ -1909,7 +1911,7 @@ class IMinimizer(Configurable): """ getNumberOfVariables(IMinimizer self) -> size_t - size_t IMinimizer::getNumberOfVariables() const + virtual size_t IMinimizer::getNumberOfVariables() const =0 Returns number of variables to fit. @@ -1921,9 +1923,11 @@ class IMinimizer(Configurable): """ getValueOfVariablesAtMinimum(IMinimizer self) -> vdouble1d_t - std::vector< double > IMinimizer::getValueOfVariablesAtMinimum() const + virtual std::vector<double> IMinimizer::getValueOfVariablesAtMinimum() const =0 + + Returns minimum function value. - Returns values of parameters at the minimum. + Returns values of parameters at the minimum """ return _libBornAgainFit.IMinimizer_getValueOfVariablesAtMinimum(self) @@ -1933,7 +1937,7 @@ class IMinimizer(Configurable): """ getErrorOfVariables(IMinimizer self) -> vdouble1d_t - std::vector< double > IMinimizer::getErrorOfVariables() const + virtual std::vector<double> IMinimizer::getErrorOfVariables() const =0 Returns errors of variables at minimum. @@ -1945,9 +1949,11 @@ class IMinimizer(Configurable): """ printResults(IMinimizer self) - void IMinimizer::printResults() const + virtual void IMinimizer::printResults() const =0 - Prints fit results. + clear resources (parameters) for consecutives minimizations + + Prints fit results """ return _libBornAgainFit.IMinimizer_printResults(self) @@ -1957,7 +1963,7 @@ class IMinimizer(Configurable): """ getNCalls(IMinimizer self) -> size_t - size_t IMinimizer::getNCalls() const + virtual size_t IMinimizer::getNCalls() const Returns number of calls of minimized function. @@ -1970,7 +1976,7 @@ class IMinimizer(Configurable): getOptions(IMinimizer self) -> MinimizerOptions getOptions(IMinimizer self) -> MinimizerOptions - const MinimizerOptions * IMinimizer::getOptions() const + virtual const MinimizerOptions* IMinimizer::getOptions() const """ return _libBornAgainFit.IMinimizer_getOptions(self, *args) @@ -1980,7 +1986,7 @@ class IMinimizer(Configurable): """ setOptions(IMinimizer self, MinimizerOptions arg2) - void IMinimizer::setOptions(const MinimizerOptions &options) + virtual void IMinimizer::setOptions(const MinimizerOptions &) set minimizer options @@ -1992,7 +1998,7 @@ class IMinimizer(Configurable): """ setOptionString(IMinimizer self, std::string const & arg2) - void IMinimizer::setOptionString(const std::string &options) + virtual void IMinimizer::setOptionString(const std::string &) set minimizer option string @@ -2004,7 +2010,7 @@ class IMinimizer(Configurable): """ isGradientBasedAgorithm(IMinimizer self) -> bool - bool IMinimizer::isGradientBasedAgorithm() + virtual bool IMinimizer::isGradientBasedAgorithm() Returns true if type of algorithm is Levenberg-Marquardt or similar. @@ -2016,7 +2022,7 @@ class IMinimizer(Configurable): """ getMinimizerName(IMinimizer self) -> std::string - std::string IMinimizer::getMinimizerName() const + virtual std::string IMinimizer::getMinimizerName() const =0 return name of the minimizer @@ -2028,7 +2034,7 @@ class IMinimizer(Configurable): """ getAlgorithmName(IMinimizer self) -> std::string - std::string IMinimizer::getAlgorithmName() const + virtual std::string IMinimizer::getAlgorithmName() const =0 return name of the minimization algorithm @@ -2153,7 +2159,7 @@ class FitSuiteParameters(_object): """ - Holds vector of parameters for FitSuite. + Vector of parameters, for FitSuite C++ includes: FitSuiteParameters.h @@ -2192,12 +2198,26 @@ class FitSuiteParameters(_object): def addFitParameter(self, par): - """addFitParameter(FitSuiteParameters self, FitParameter par)""" + """ + addFitParameter(FitSuiteParameters self, FitParameter par) + + void FitSuiteParameters::addFitParameter(FitParameter *par) + + Adds fit parameter. + + """ return _libBornAgainFit.FitSuiteParameters_addFitParameter(self, par) def getFitParameters(self): - """getFitParameters(FitSuiteParameters self) -> std::vector< FitParameter *,std::allocator< FitParameter * > > &""" + """ + getFitParameters(FitSuiteParameters self) -> std::vector< FitParameter *,std::allocator< FitParameter * > > & + + std::vector<FitParameter*>& FitSuiteParameters::getFitParameters() + + Returns all parameters. + + """ return _libBornAgainFit.FitSuiteParameters_getFitParameters(self) @@ -2276,7 +2296,7 @@ class FitSuiteParameters(_object): begin(FitSuiteParameters self) -> std::vector< FitParameter *,std::allocator< FitParameter * > >::iterator begin(FitSuiteParameters self) -> std::vector< FitParameter *,std::allocator< FitParameter * > >::const_iterator - const_iterator FitSuiteParameters::begin() const + std::vector<FitParameter*>::const_iterator FitSuiteParameters::begin() const """ return _libBornAgainFit.FitSuiteParameters_begin(self, *args) @@ -2287,14 +2307,21 @@ class FitSuiteParameters(_object): end(FitSuiteParameters self) -> std::vector< FitParameter *,std::allocator< FitParameter * > >::iterator end(FitSuiteParameters self) -> std::vector< FitParameter *,std::allocator< FitParameter * > >::const_iterator - const_iterator FitSuiteParameters::end() const + std::vector<FitParameter*>::const_iterator FitSuiteParameters::end() const """ return _libBornAgainFit.FitSuiteParameters_end(self, *args) def numberOfFreeFitParameters(self): - """numberOfFreeFitParameters(FitSuiteParameters self) -> size_t""" + """ + numberOfFreeFitParameters(FitSuiteParameters self) -> size_t + + size_t FitSuiteParameters::numberOfFreeFitParameters() const + + Returns number of free parameters. + + """ return _libBornAgainFit.FitSuiteParameters_numberOfFreeFitParameters(self) @@ -2312,7 +2339,14 @@ class FitSuiteParameters(_object): def printFitParameters(self): - """printFitParameters(FitSuiteParameters self)""" + """ + printFitParameters(FitSuiteParameters self) + + void FitSuiteParameters::printFitParameters() const + + Print defined parameters. + + """ return _libBornAgainFit.FitSuiteParameters_printFitParameters(self) @@ -2341,7 +2375,14 @@ class FitSuiteParameters(_object): def setFixed(self, pars, is_fixed): - """setFixed(FitSuiteParameters self, vector_string_t pars, bool is_fixed)""" + """ + setFixed(FitSuiteParameters self, vector_string_t pars, bool is_fixed) + + void FitSuiteParameters::setFixed(const std::vector< std::string > &pars, bool is_fixed) + + Set fixed flag for parameters from the list. + + """ return _libBornAgainFit.FitSuiteParameters_setFixed(self, pars, is_fixed) diff --git a/auto/Wrap/libBornAgainFit_wrap.cpp b/auto/Wrap/libBornAgainFit_wrap.cpp index ee49a38ea43..121755f3c07 100644 --- a/auto/Wrap/libBornAgainFit_wrap.cpp +++ b/auto/Wrap/libBornAgainFit_wrap.cpp @@ -23624,7 +23624,7 @@ static PyMethodDef SwigMethods[] = { { (char *)"IMinimizer_minimize", _wrap_IMinimizer_minimize, METH_VARARGS, (char *)"\n" "IMinimizer_minimize(IMinimizer self)\n" "\n" - "void IMinimizer::minimize()\n" + "virtual void IMinimizer::minimize()=0\n" "\n" "run minimization \n" "\n" @@ -23632,15 +23632,17 @@ static PyMethodDef SwigMethods[] = { { (char *)"IMinimizer_setParameters", _wrap_IMinimizer_setParameters, METH_VARARGS, (char *)"\n" "IMinimizer_setParameters(IMinimizer self, FitSuiteParameters parameters)\n" "\n" - "void IMinimizer::setParameters(const FitSuiteParameters ¶meters)\n" + "virtual void IMinimizer::setParameters(const FitSuiteParameters ¶meters)=0\n" "\n" - "Sets internal minimizer parameters using external parameter list. \n" + "Sets internal minimizer parameter.\n" + "\n" + "Sets internal minimizer parameters using external parameter list \n" "\n" ""}, { (char *)"IMinimizer_setChiSquaredFunction", _wrap_IMinimizer_setChiSquaredFunction, METH_VARARGS, (char *)"\n" "IMinimizer_setChiSquaredFunction(IMinimizer self, IMinimizer::function_chi2_t fun_chi2, size_t nparameters)\n" "\n" - "void IMinimizer::setChiSquaredFunction(function_chi2_t fun_chi2, size_t nparameters)\n" + "virtual void IMinimizer::setChiSquaredFunction(function_chi2_t fun_chi2, size_t nparameters)=0\n" "\n" "Sets chi squared function to minimize. \n" "\n" @@ -23648,7 +23650,7 @@ static PyMethodDef SwigMethods[] = { { (char *)"IMinimizer_setGradientFunction", _wrap_IMinimizer_setGradientFunction, METH_VARARGS, (char *)"\n" "IMinimizer_setGradientFunction(IMinimizer self, IMinimizer::function_gradient_t fun_gradient, size_t nparameters, size_t ndatasize)\n" "\n" - "void IMinimizer::setGradientFunction(function_gradient_t fun_gradient, size_t nparameters, size_t ndatasize)\n" + "virtual void IMinimizer::setGradientFunction(function_gradient_t fun_gradient, size_t nparameters, size_t ndatasize)=0\n" "\n" "Sets gradient function to minimize. \n" "\n" @@ -23656,7 +23658,7 @@ static PyMethodDef SwigMethods[] = { { (char *)"IMinimizer_getNumberOfVariables", _wrap_IMinimizer_getNumberOfVariables, METH_VARARGS, (char *)"\n" "IMinimizer_getNumberOfVariables(IMinimizer self) -> size_t\n" "\n" - "size_t IMinimizer::getNumberOfVariables() const\n" + "virtual size_t IMinimizer::getNumberOfVariables() const =0\n" "\n" "Returns number of variables to fit. \n" "\n" @@ -23664,15 +23666,17 @@ static PyMethodDef SwigMethods[] = { { (char *)"IMinimizer_getValueOfVariablesAtMinimum", _wrap_IMinimizer_getValueOfVariablesAtMinimum, METH_VARARGS, (char *)"\n" "IMinimizer_getValueOfVariablesAtMinimum(IMinimizer self) -> vdouble1d_t\n" "\n" - "std::vector< double > IMinimizer::getValueOfVariablesAtMinimum() const\n" + "virtual std::vector<double> IMinimizer::getValueOfVariablesAtMinimum() const =0\n" + "\n" + "Returns minimum function value.\n" "\n" - "Returns values of parameters at the minimum. \n" + "Returns values of parameters at the minimum \n" "\n" ""}, { (char *)"IMinimizer_getErrorOfVariables", _wrap_IMinimizer_getErrorOfVariables, METH_VARARGS, (char *)"\n" "IMinimizer_getErrorOfVariables(IMinimizer self) -> vdouble1d_t\n" "\n" - "std::vector< double > IMinimizer::getErrorOfVariables() const\n" + "virtual std::vector<double> IMinimizer::getErrorOfVariables() const =0\n" "\n" "Returns errors of variables at minimum. \n" "\n" @@ -23680,15 +23684,17 @@ static PyMethodDef SwigMethods[] = { { (char *)"IMinimizer_printResults", _wrap_IMinimizer_printResults, METH_VARARGS, (char *)"\n" "IMinimizer_printResults(IMinimizer self)\n" "\n" - "void IMinimizer::printResults() const\n" + "virtual void IMinimizer::printResults() const =0\n" + "\n" + "clear resources (parameters) for consecutives minimizations\n" "\n" - "Prints fit results. \n" + "Prints fit results \n" "\n" ""}, { (char *)"IMinimizer_getNCalls", _wrap_IMinimizer_getNCalls, METH_VARARGS, (char *)"\n" "IMinimizer_getNCalls(IMinimizer self) -> size_t\n" "\n" - "size_t IMinimizer::getNCalls() const\n" + "virtual size_t IMinimizer::getNCalls() const\n" "\n" "Returns number of calls of minimized function. \n" "\n" @@ -23697,13 +23703,13 @@ static PyMethodDef SwigMethods[] = { "getOptions() -> MinimizerOptions\n" "IMinimizer_getOptions(IMinimizer self) -> MinimizerOptions\n" "\n" - "const MinimizerOptions * IMinimizer::getOptions() const \n" + "virtual const MinimizerOptions* IMinimizer::getOptions() const \n" "\n" ""}, { (char *)"IMinimizer_setOptions", _wrap_IMinimizer_setOptions, METH_VARARGS, (char *)"\n" "IMinimizer_setOptions(IMinimizer self, MinimizerOptions arg3)\n" "\n" - "void IMinimizer::setOptions(const MinimizerOptions &options)\n" + "virtual void IMinimizer::setOptions(const MinimizerOptions &)\n" "\n" "set minimizer options \n" "\n" @@ -23711,7 +23717,7 @@ static PyMethodDef SwigMethods[] = { { (char *)"IMinimizer_setOptionString", _wrap_IMinimizer_setOptionString, METH_VARARGS, (char *)"\n" "IMinimizer_setOptionString(IMinimizer self, std::string const & arg3)\n" "\n" - "void IMinimizer::setOptionString(const std::string &options)\n" + "virtual void IMinimizer::setOptionString(const std::string &)\n" "\n" "set minimizer option string \n" "\n" @@ -23719,7 +23725,7 @@ static PyMethodDef SwigMethods[] = { { (char *)"IMinimizer_isGradientBasedAgorithm", _wrap_IMinimizer_isGradientBasedAgorithm, METH_VARARGS, (char *)"\n" "IMinimizer_isGradientBasedAgorithm(IMinimizer self) -> bool\n" "\n" - "bool IMinimizer::isGradientBasedAgorithm()\n" + "virtual bool IMinimizer::isGradientBasedAgorithm()\n" "\n" "Returns true if type of algorithm is Levenberg-Marquardt or similar. \n" "\n" @@ -23727,7 +23733,7 @@ static PyMethodDef SwigMethods[] = { { (char *)"IMinimizer_getMinimizerName", _wrap_IMinimizer_getMinimizerName, METH_VARARGS, (char *)"\n" "IMinimizer_getMinimizerName(IMinimizer self) -> std::string\n" "\n" - "std::string IMinimizer::getMinimizerName() const\n" + "virtual std::string IMinimizer::getMinimizerName() const =0\n" "\n" "return name of the minimizer \n" "\n" @@ -23735,7 +23741,7 @@ static PyMethodDef SwigMethods[] = { { (char *)"IMinimizer_getAlgorithmName", _wrap_IMinimizer_getAlgorithmName, METH_VARARGS, (char *)"\n" "IMinimizer_getAlgorithmName(IMinimizer self) -> std::string\n" "\n" - "std::string IMinimizer::getAlgorithmName() const\n" + "virtual std::string IMinimizer::getAlgorithmName() const =0\n" "\n" "return name of the minimization algorithm \n" "\n" @@ -23821,8 +23827,22 @@ static PyMethodDef SwigMethods[] = { "Clears all defined parameters. \n" "\n" ""}, - { (char *)"FitSuiteParameters_addFitParameter", _wrap_FitSuiteParameters_addFitParameter, METH_VARARGS, (char *)"FitSuiteParameters_addFitParameter(FitSuiteParameters self, FitParameter par)"}, - { (char *)"FitSuiteParameters_getFitParameters", _wrap_FitSuiteParameters_getFitParameters, METH_VARARGS, (char *)"FitSuiteParameters_getFitParameters(FitSuiteParameters self) -> std::vector< FitParameter *,std::allocator< FitParameter * > > &"}, + { (char *)"FitSuiteParameters_addFitParameter", _wrap_FitSuiteParameters_addFitParameter, METH_VARARGS, (char *)"\n" + "FitSuiteParameters_addFitParameter(FitSuiteParameters self, FitParameter par)\n" + "\n" + "void FitSuiteParameters::addFitParameter(FitParameter *par)\n" + "\n" + "Adds fit parameter. \n" + "\n" + ""}, + { (char *)"FitSuiteParameters_getFitParameters", _wrap_FitSuiteParameters_getFitParameters, METH_VARARGS, (char *)"\n" + "FitSuiteParameters_getFitParameters(FitSuiteParameters self) -> std::vector< FitParameter *,std::allocator< FitParameter * > > &\n" + "\n" + "std::vector<FitParameter*>& FitSuiteParameters::getFitParameters()\n" + "\n" + "Returns all parameters. \n" + "\n" + ""}, { (char *)"FitSuiteParameters_getFitParameter", _wrap_FitSuiteParameters_getFitParameter, METH_VARARGS, (char *)"\n" "getFitParameter(std::string const & name) -> FitParameter\n" "FitSuiteParameters_getFitParameter(FitSuiteParameters self, std::string const & name) -> FitParameter\n" @@ -23873,17 +23893,24 @@ static PyMethodDef SwigMethods[] = { "begin() -> std::vector< FitParameter *,std::allocator< FitParameter * > >::iterator\n" "FitSuiteParameters_begin(FitSuiteParameters self) -> std::vector< FitParameter *,std::allocator< FitParameter * > >::const_iterator\n" "\n" - "const_iterator FitSuiteParameters::begin() const \n" + "std::vector<FitParameter*>::const_iterator FitSuiteParameters::begin() const \n" "\n" ""}, { (char *)"FitSuiteParameters_end", _wrap_FitSuiteParameters_end, METH_VARARGS, (char *)"\n" "end() -> std::vector< FitParameter *,std::allocator< FitParameter * > >::iterator\n" "FitSuiteParameters_end(FitSuiteParameters self) -> std::vector< FitParameter *,std::allocator< FitParameter * > >::const_iterator\n" "\n" - "const_iterator FitSuiteParameters::end() const \n" + "std::vector<FitParameter*>::const_iterator FitSuiteParameters::end() const \n" + "\n" + ""}, + { (char *)"FitSuiteParameters_numberOfFreeFitParameters", _wrap_FitSuiteParameters_numberOfFreeFitParameters, METH_VARARGS, (char *)"\n" + "FitSuiteParameters_numberOfFreeFitParameters(FitSuiteParameters self) -> size_t\n" + "\n" + "size_t FitSuiteParameters::numberOfFreeFitParameters() const\n" + "\n" + "Returns number of free parameters. \n" "\n" ""}, - { (char *)"FitSuiteParameters_numberOfFreeFitParameters", _wrap_FitSuiteParameters_numberOfFreeFitParameters, METH_VARARGS, (char *)"FitSuiteParameters_numberOfFreeFitParameters(FitSuiteParameters self) -> size_t"}, { (char *)"FitSuiteParameters_valuesAreDifferent", _wrap_FitSuiteParameters_valuesAreDifferent, METH_VARARGS, (char *)"\n" "valuesAreDifferent(double const * pars_valuers, double tolerance_factor=1.0) -> bool\n" "FitSuiteParameters_valuesAreDifferent(FitSuiteParameters self, double const * pars_valuers) -> bool\n" @@ -23893,7 +23920,14 @@ static PyMethodDef SwigMethods[] = { "Returns true if parameters already have the given values. \n" "\n" ""}, - { (char *)"FitSuiteParameters_printFitParameters", _wrap_FitSuiteParameters_printFitParameters, METH_VARARGS, (char *)"FitSuiteParameters_printFitParameters(FitSuiteParameters self)"}, + { (char *)"FitSuiteParameters_printFitParameters", _wrap_FitSuiteParameters_printFitParameters, METH_VARARGS, (char *)"\n" + "FitSuiteParameters_printFitParameters(FitSuiteParameters self)\n" + "\n" + "void FitSuiteParameters::printFitParameters() const\n" + "\n" + "Print defined parameters. \n" + "\n" + ""}, { (char *)"FitSuiteParameters_fixAll", _wrap_FitSuiteParameters_fixAll, METH_VARARGS, (char *)"\n" "FitSuiteParameters_fixAll(FitSuiteParameters self)\n" "\n" @@ -23910,7 +23944,14 @@ static PyMethodDef SwigMethods[] = { "Release all parameters. \n" "\n" ""}, - { (char *)"FitSuiteParameters_setFixed", _wrap_FitSuiteParameters_setFixed, METH_VARARGS, (char *)"FitSuiteParameters_setFixed(FitSuiteParameters self, vector_string_t pars, bool is_fixed)"}, + { (char *)"FitSuiteParameters_setFixed", _wrap_FitSuiteParameters_setFixed, METH_VARARGS, (char *)"\n" + "FitSuiteParameters_setFixed(FitSuiteParameters self, vector_string_t pars, bool is_fixed)\n" + "\n" + "void FitSuiteParameters::setFixed(const std::vector< std::string > &pars, bool is_fixed)\n" + "\n" + "Set fixed flag for parameters from the list. \n" + "\n" + ""}, { (char *)"FitSuiteParameters___getitem__", _wrap_FitSuiteParameters___getitem__, METH_VARARGS, (char *)"\n" "__getitem__(std::string name) -> FitParameter\n" "FitSuiteParameters___getitem__(FitSuiteParameters self, size_t index) -> FitParameter\n" -- GitLab