diff --git a/Base/Math/IntegratorMCMiser.h b/Base/Math/IntegratorMCMiser.h index 83e749708522139437515939eddd2b408386394c..c75b6499e167ab847f21015a361dc3d17cc9fd1b 100644 --- a/Base/Math/IntegratorMCMiser.h +++ b/Base/Math/IntegratorMCMiser.h @@ -24,7 +24,7 @@ #include <memory> //! Alias template for member function with signature double f(double) -template <class T> using miser_integrand = double (T::*)(double*, size_t, void*) const; +template <class T> using miser_integrand = double (T::*)(double*, size_t, const void*) const; //! Template class to use Monte Carlo MISER integration of class member functions. //! @@ -40,8 +40,8 @@ public: //! structure holding the object and possible extra parameters struct CallBackHolder { const T* m_object_pointer; - miser_integrand<T> m_member_function; - void* m_data; + const miser_integrand<T> m_member_function; + const void* m_data; }; //! to integrate p_member_function, which must belong to p_object @@ -49,7 +49,8 @@ public: ~IntegratorMCMiser(); //! perform the actual integration over the ranges [min_array, max_array] - double integrate(double* min_array, double* max_array, void* params, size_t nbr_points); + double integrate(double* min_array, double* max_array, const void* params, + size_t nbr_points) const; private: //! static function that can be passed to gsl integrator @@ -103,8 +104,8 @@ template <class T> IntegratorMCMiser<T>::~IntegratorMCMiser() } template <class T> -double IntegratorMCMiser<T>::integrate(double* min_array, double* max_array, void* params, - size_t nbr_points) +double IntegratorMCMiser<T>::integrate(double* min_array, double* max_array, const void* params, + size_t nbr_points) const { CallBackHolder cb = {m_object, m_member_function, params}; diff --git a/Core/Computation/DWBAComputation.h b/Core/Computation/DWBAComputation.h index f88a2a54afb3f6a9554e4447b44e1510f564f8de..8c657f9c7b8b79f727e1678690249014feabb175 100644 --- a/Core/Computation/DWBAComputation.h +++ b/Core/Computation/DWBAComputation.h @@ -43,7 +43,7 @@ private: //! These iterators define the span of detector bins this simulation will work on std::vector<SimulationElement>::iterator m_begin_it, m_end_it; //! Contains the information, necessary to calculate the Fresnel coefficients. - DWBASingleComputation m_single_computation; + const DWBASingleComputation m_single_computation; }; #endif // BORNAGAIN_CORE_COMPUTATION_DWBACOMPUTATION_H diff --git a/Core/Computation/DWBASingleComputation.cpp b/Core/Computation/DWBASingleComputation.cpp index a4095a7be046d2a3251d856b0a4f78097b13ed4c..88c2f6ccb484e45e13992d0039a6cc5ebe39b658 100644 --- a/Core/Computation/DWBASingleComputation.cpp +++ b/Core/Computation/DWBASingleComputation.cpp @@ -24,11 +24,11 @@ namespace { -std::vector<std::unique_ptr<ParticleLayoutComputation>> +std::vector<std::unique_ptr<const ParticleLayoutComputation>> makeLayoutComputation(const std::vector<ProcessedLayout>& layouts, const SimulationOptions& options, bool polarized) { - std::vector<std::unique_ptr<ParticleLayoutComputation>> result; + std::vector<std::unique_ptr<const ParticleLayoutComputation>> result; for (const ProcessedLayout& layout : layouts) result.emplace_back(new ParticleLayoutComputation(layout, options, polarized)); @@ -51,7 +51,7 @@ DWBASingleComputation::DWBASingleComputation(const ProcessedSample& sample, DWBASingleComputation::~DWBASingleComputation() = default; -void DWBASingleComputation::setProgressHandler(ProgressHandler* progress) +void DWBASingleComputation::setProgressHandler(ProgressHandler* progress) const { m_progress_counter = std::make_unique<DelayedProgressCounter>(progress, 100); } diff --git a/Core/Computation/DWBASingleComputation.h b/Core/Computation/DWBASingleComputation.h index daf0af28c43364af518f3372bb8130186a99ce2e..a136a94807329752bb1f7cf03188de863874b69e 100644 --- a/Core/Computation/DWBASingleComputation.h +++ b/Core/Computation/DWBASingleComputation.h @@ -43,7 +43,7 @@ public: DWBASingleComputation(const DWBASingleComputation&) = delete; ~DWBASingleComputation(); - void setProgressHandler(ProgressHandler* progress); + void setProgressHandler(ProgressHandler* progress) const; void compute(SimulationElement& ele) const; @@ -51,8 +51,8 @@ private: const IFresnelMap* const m_fresnel_map; const std::unique_ptr<const GISASSpecularComputation> m_spec_comp; const std::unique_ptr<const RoughMultiLayerComputation> m_roughness_comp; - const std::vector<std::unique_ptr<ParticleLayoutComputation>> m_layout_comps; - std::unique_ptr<DelayedProgressCounter> m_progress_counter; + const std::vector<std::unique_ptr<const ParticleLayoutComputation>> m_layout_comps; + mutable std::unique_ptr<DelayedProgressCounter> m_progress_counter; }; #endif // BORNAGAIN_CORE_COMPUTATION_DWBASINGLECOMPUTATION_H diff --git a/GUI/Models/TransformationItem.h b/GUI/Models/TransformationItem.h index 0893a2d23c13c4e7711e08e5ec91874f294e1588..f18b3fc49bcfeb9c4730541cc0199cd4bc0ec0a4 100644 --- a/GUI/Models/TransformationItem.h +++ b/GUI/Models/TransformationItem.h @@ -37,8 +37,8 @@ template <typename T> T* TransformationItem::setRotationType() { static_assert(std::is_base_of<RotationItem, T>::value, "Class must be derived from RotationItem"); - + return setGroupPropertyType<T>(P_ROT); } - + #endif // BORNAGAIN_GUI_MODELS_TRANSFORMATIONITEM_H diff --git a/Resample/Interparticle/IInterparticleStrategy.cpp b/Resample/Interparticle/IInterparticleStrategy.cpp index d2396aac1fa2afaa42aa71b6d85a54d9afabc80f..1f7a8a88bf468b03f0b8bcf4ab727c89a0f70b4c 100644 --- a/Resample/Interparticle/IInterparticleStrategy.cpp +++ b/Resample/Interparticle/IInterparticleStrategy.cpp @@ -56,12 +56,12 @@ double IInterparticleStrategy::MCIntegratedEvaluate(const SimulationElement& sim } double IInterparticleStrategy::evaluate_for_fixed_angles(double* fractions, size_t, - void* params) const + const void* params) const { double par0 = fractions[0]; double par1 = fractions[1]; - SimulationElement* pars = static_cast<SimulationElement*>(params); + const auto* pars = static_cast<const SimulationElement*>(params); SimulationElement sim_element = pars->pointElement(par0, par1); return pars->integrationFactor(par0, par1) * evaluateSinglePoint(sim_element); diff --git a/Resample/Interparticle/IInterparticleStrategy.h b/Resample/Interparticle/IInterparticleStrategy.h index d3a3909b8acfe005292e5cb666ee41b60b9f30b6..376db2a89404553725587f81675368db59363a7c 100644 --- a/Resample/Interparticle/IInterparticleStrategy.h +++ b/Resample/Interparticle/IInterparticleStrategy.h @@ -57,13 +57,13 @@ protected: private: double evaluateSinglePoint(const SimulationElement& sim_element) const; double MCIntegratedEvaluate(const SimulationElement& sim_element) const; - double evaluate_for_fixed_angles(double* fractions, size_t dim, void* params) const; + double evaluate_for_fixed_angles(double* fractions, size_t dim, const void* params) const; //! Evaluates the intensity in the scalar case virtual double scalarCalculation(const SimulationElement& sim_element) const = 0; //! Evaluates the intensity in the polarized case virtual double polarizedCalculation(const SimulationElement& sim_element) const = 0; - bool m_polarized; + const bool m_polarized; std::unique_ptr<IntegratorMCMiser<IInterparticleStrategy>> m_integrator; }; diff --git a/auto/Wrap/doxygenBase.i b/auto/Wrap/doxygenBase.i index 2168544733f47efedd752bca243a7706667f13ed..70111543b135009edd3d346d934cfbb0bf60f89a 100644 --- a/auto/Wrap/doxygenBase.i +++ b/auto/Wrap/doxygenBase.i @@ -943,10 +943,10 @@ C++ includes: RectangularPixel.h // File: classSafePointerVector.xml %feature("docstring") SafePointerVector " -The objects pointed to must support the ICloneable interface. - A vector of pointers, owned by *this, with methods to handle them safely. +The objects pointed to must support the ICloneable interface. + C++ includes: SafePointerVector.h "; @@ -1798,7 +1798,7 @@ Checks if value is contained in bin: value in [m_lower, m_upper) // File: IntegratorMCMiser_8h.xml %feature("docstring") make_integrator_miser "P_integrator_miser<T> make_integrator_miser(const T *object, miser_integrand< T > mem_function, size_t dim) -Template function to create an integrator object +Template function to create an integrator object. "; diff --git a/auto/Wrap/doxygenCore.i b/auto/Wrap/doxygenCore.i index 44d66e3057645a0a795b8c51cf9e50dc5aec9b9a..9c9e5c2c12f5571b80bcf92a5b6d01a4ff943933 100644 --- a/auto/Wrap/doxygenCore.i +++ b/auto/Wrap/doxygenCore.i @@ -825,7 +825,7 @@ C++ includes: GISASSpecularComputation.h // File: classIBackground.xml %feature("docstring") IBackground " -Interface for a simulating the background signal +Interface for a simulating the background signal. C++ includes: IBackground.h "; diff --git a/auto/Wrap/doxygenDevice.i b/auto/Wrap/doxygenDevice.i index 92b3d6c67ef0723da05f9bbb294bfbd0d7a8f238..c6a3202a69c6b48110fe3d045accb4bdea274380 100644 --- a/auto/Wrap/doxygenDevice.i +++ b/auto/Wrap/doxygenDevice.i @@ -283,7 +283,7 @@ Creates OutputData array in converter units. // File: classCoordSystem2D.xml %feature("docstring") CoordSystem2D " -Interface for objects that provide axis translations to different units for IDetector objects +Interface for objects that provide axis translations to different units for IDetector objects. C++ includes: CoordSystem2D.h "; @@ -1227,7 +1227,7 @@ Returns index of pixel that contains the specular wavevector. If no pixel contai // File: classIDetectorResolution.xml %feature("docstring") IDetectorResolution " -Interface for detector resolution algorithms +Interface for detector resolution algorithms. C++ includes: IDetectorResolution.h "; diff --git a/auto/Wrap/doxygenParam.i b/auto/Wrap/doxygenParam.i index 57ad93426b66def9e61383c150cadf922012bf22..8d5e63a0c20b6ec401445beb2769955877b63e0b 100644 --- a/auto/Wrap/doxygenParam.i +++ b/auto/Wrap/doxygenParam.i @@ -503,10 +503,10 @@ Returns display name, composed from the name of node and it's copy number. // File: classINodeVisitor.xml %feature("docstring") INodeVisitor " -From visitor pattern to achieve double dispatch. - Visitor interface to visit ISampleNode objects. +From visitor pattern to achieve double dispatch. + C++ includes: INodeVisitor.h "; diff --git a/auto/Wrap/libBornAgainCore.py b/auto/Wrap/libBornAgainCore.py index 8aec86e4e81a148d35ac4ee34b7da3fdfc08041a..8d5e453b2fecdf7436be0976325cdacb1f4d18e9 100644 --- a/auto/Wrap/libBornAgainCore.py +++ b/auto/Wrap/libBornAgainCore.py @@ -4186,7 +4186,7 @@ class IBackground(libBornAgainBase.ICloneable, libBornAgainParam.INode): r""" - Interface for a simulating the background signal + Interface for a simulating the background signal. C++ includes: IBackground.h diff --git a/auto/Wrap/libBornAgainDevice.py b/auto/Wrap/libBornAgainDevice.py index 934933de4d435ab990d68d7514dae43c93c493a7..a7bf54b35257c721eb10d92bc9243f4310cc9fa6 100644 --- a/auto/Wrap/libBornAgainDevice.py +++ b/auto/Wrap/libBornAgainDevice.py @@ -3544,7 +3544,7 @@ class IDetectorResolution(libBornAgainBase.ICloneable, libBornAgainParam.INode): r""" - Interface for detector resolution algorithms + Interface for detector resolution algorithms. C++ includes: IDetectorResolution.h diff --git a/auto/Wrap/libBornAgainParam.py b/auto/Wrap/libBornAgainParam.py index 8b3406368c2a853857d3f0eafae0ee5643f40a81..e780d0c3b9b0c1aba8f523cb84bdb0238018e341 100644 --- a/auto/Wrap/libBornAgainParam.py +++ b/auto/Wrap/libBornAgainParam.py @@ -2812,10 +2812,10 @@ class INodeVisitor(object): r""" - From visitor pattern to achieve double dispatch. - Visitor interface to visit ISampleNode objects. + From visitor pattern to achieve double dispatch. + C++ includes: INodeVisitor.h """