diff --git a/.gitignore b/.gitignore index 8f718aea18f8228889f4966d3e05d98422a63c57..5a12c9f6778a0f6d3d7e41243a29ccdc903a43d4 100644 --- a/.gitignore +++ b/.gitignore @@ -166,7 +166,7 @@ Desktop.ini .tags .tags_sorted_by_file -Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/inc/MantidVatesSimpleGuiViewWidgets/LibHelper.h +Vates/VatesSimpleGui/ViewWidgets/inc/MantidVatesSimpleGuiViewWidgets/LibHelper.h # Make sure Third_Party doesn't get checked into the main repository diff --git a/Framework/API/inc/MantidAPI/IFunction1D.h b/Framework/API/inc/MantidAPI/IFunction1D.h index 61f9ea1d1b7bc85ad7f934af6978782dfa420740..f40d2b454d6d8e75e3f252fc11caffee8d9a4249 100644 --- a/Framework/API/inc/MantidAPI/IFunction1D.h +++ b/Framework/API/inc/MantidAPI/IFunction1D.h @@ -12,9 +12,10 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { class Fit; } - +} namespace API { //---------------------------------------------------------------------- @@ -88,7 +89,7 @@ protected: static Kernel::Logger g_log; /// Making a friend - friend class CurveFitting::Fit; + friend class CurveFitting::Algorithms::Fit; }; typedef boost::shared_ptr<IFunction1D> IFunction1D_sptr; diff --git a/Framework/CurveFitting/CMakeLists.txt b/Framework/CurveFitting/CMakeLists.txt index c7be58f1e72176eed23025ebda88c4a7e00aec8a..dfbff31c86c754d00670840aa2275393a8de0276 100644 --- a/Framework/CurveFitting/CMakeLists.txt +++ b/Framework/CurveFitting/CMakeLists.txt @@ -3,118 +3,119 @@ set ( SRC_FILES # src/SCDPanelErrors.cpp # src/ChebyshevPolynomialBackground.cpp #src/RefinePowderInstrumentParameters.cpp - src/Abragam.cpp + src/Algorithms/CalculateChiSquared.cpp + src/Algorithms/CalculateGammaBackground.cpp + src/Algorithms/CalculateMSVesuvio.cpp + src/Algorithms/ConvertToYSpace.cpp + src/Algorithms/ConvolveWorkspaces.cpp + src/Algorithms/EstimatePeakErrors.cpp + src/Algorithms/EvaluateFunction.cpp + src/Algorithms/Fit.cpp + src/Algorithms/Fit1D.cpp + src/Algorithms/FitPowderDiffPeaks.cpp + src/Algorithms/LeBailFit.cpp + src/Algorithms/LeBailFunction.cpp + src/Algorithms/NormaliseByPeakArea.cpp + src/Algorithms/PawleyFit.cpp + src/Algorithms/PlotPeakByLogValue.cpp + src/Algorithms/RefinePowderInstrumentParameters.cpp + src/Algorithms/RefinePowderInstrumentParameters3.cpp + src/Algorithms/SplineBackground.cpp + src/Algorithms/SplineInterpolation.cpp + src/Algorithms/SplineSmoothing.cpp src/AugmentedLagrangianOptimizer.cpp - src/BFGS_Minimizer.cpp - src/BSpline.cpp - src/BackToBackExponential.cpp - src/BackgroundFunction.cpp - src/BivariateNormal.cpp - src/Bk2BkExpConvPV.cpp - src/BoundaryConstraint.cpp - src/CalculateChiSquared.cpp - src/CalculateGammaBackground.cpp - src/CalculateMSVesuvio.cpp - src/ChebfunBase.cpp - src/Chebyshev.cpp - src/ComptonPeakProfile.cpp - src/ComptonProfile.cpp - src/ComptonScatteringCountRate.cpp - src/ConvertToYSpace.cpp - src/Convolution.cpp - src/ConvolveWorkspaces.cpp - src/CostFuncFitting.cpp - src/CostFuncLeastSquares.cpp - src/CostFuncRwp.cpp - src/CostFuncUnweightedLeastSquares.cpp - src/CubicSpline.cpp - src/DampingMinimizer.cpp - src/DeltaFunction.cpp - src/DerivMinimizer.cpp - src/DiffRotDiscreteCircle.cpp - src/DiffSphere.cpp - src/DynamicKuboToyabe.cpp - src/EndErfc.cpp - src/EstimatePeakErrors.cpp - src/EvaluateFunction.cpp - src/ExpDecay.cpp - src/ExpDecayMuon.cpp - src/ExpDecayOsc.cpp - src/FABADAMinimizer.cpp - src/FRConjugateGradientMinimizer.cpp - src/Fit.cpp - src/Fit1D.cpp + src/Constraints/BoundaryConstraint.cpp + src/CostFunctions/CostFuncFitting.cpp + src/CostFunctions/CostFuncLeastSquares.cpp + src/CostFunctions/CostFuncRwp.cpp + src/CostFunctions/CostFuncUnweightedLeastSquares.cpp src/FitMW.cpp - src/FitPowderDiffPeaks.cpp - src/FlatBackground.cpp - src/FullprofPolynomial.cpp + src/FuncMinimizers/BFGS_Minimizer.cpp + src/FuncMinimizers/DampingMinimizer.cpp + src/FuncMinimizers/DerivMinimizer.cpp + src/FuncMinimizers/FABADAMinimizer.cpp + src/FuncMinimizers/FRConjugateGradientMinimizer.cpp + src/FuncMinimizers/LevenbergMarquardtMDMinimizer.cpp + src/FuncMinimizers/LevenbergMarquardtMinimizer.cpp + src/FuncMinimizers/PRConjugateGradientMinimizer.cpp + src/FuncMinimizers/SimplexMinimizer.cpp + src/FuncMinimizers/SteepestDescentMinimizer.cpp src/FunctionDomain1DSpectrumCreator.cpp + src/Functions/Abragam.cpp + src/Functions/BSpline.cpp + src/Functions/BackToBackExponential.cpp + src/Functions/BackgroundFunction.cpp + src/Functions/BivariateNormal.cpp + src/Functions/Bk2BkExpConvPV.cpp + src/Functions/ChebfunBase.cpp + src/Functions/Chebyshev.cpp + src/Functions/ComptonPeakProfile.cpp + src/Functions/ComptonProfile.cpp + src/Functions/ComptonScatteringCountRate.cpp + src/Functions/Convolution.cpp + src/Functions/CubicSpline.cpp + src/Functions/DeltaFunction.cpp + src/Functions/DiffRotDiscreteCircle.cpp + src/Functions/DiffSphere.cpp + src/Functions/DynamicKuboToyabe.cpp + src/Functions/EndErfc.cpp + src/Functions/ExpDecay.cpp + src/Functions/ExpDecayMuon.cpp + src/Functions/ExpDecayOsc.cpp + src/Functions/FlatBackground.cpp + src/Functions/FullprofPolynomial.cpp + src/Functions/GausDecay.cpp + src/Functions/GausOsc.cpp + src/Functions/Gaussian.cpp + src/Functions/GaussianComptonProfile.cpp + src/Functions/GramCharlierComptonProfile.cpp + src/Functions/IkedaCarpenterPV.cpp + src/Functions/LinearBackground.cpp + src/Functions/LogNormal.cpp + src/Functions/Lorentzian.cpp + src/Functions/Lorentzian1D.cpp + src/Functions/MuonFInteraction.cpp + src/Functions/NeutronBk2BkExpConvPVoigt.cpp + src/Functions/PawleyFunction.cpp + src/Functions/PeakParameterFunction.cpp + src/Functions/Polynomial.cpp + src/Functions/ProcessBackground.cpp + src/Functions/ProductFunction.cpp + src/Functions/ProductLinearExp.cpp + src/Functions/ProductQuadraticExp.cpp + src/Functions/PseudoVoigt.cpp + src/Functions/Quadratic.cpp + src/Functions/ReflectivityMulf.cpp + src/Functions/Resolution.cpp + src/Functions/SimpleChebfun.cpp + src/Functions/StaticKuboToyabe.cpp + src/Functions/StaticKuboToyabeTimesExpDecay.cpp + src/Functions/StaticKuboToyabeTimesGausDecay.cpp + src/Functions/StretchExp.cpp + src/Functions/StretchExpMuon.cpp + src/Functions/TabulatedFunction.cpp + src/Functions/ThermalNeutronBk2BkExpAlpha.cpp + src/Functions/ThermalNeutronBk2BkExpBeta.cpp + src/Functions/ThermalNeutronBk2BkExpConvPVoigt.cpp + src/Functions/ThermalNeutronBk2BkExpSigma.cpp + src/Functions/ThermalNeutronDtoTOFFunction.cpp + src/Functions/UserFunction.cpp + src/Functions/UserFunction1D.cpp + src/Functions/VesuvioResolution.cpp + src/Functions/Voigt.cpp src/GSLFunctions.cpp src/GSLMatrix.cpp src/GSLVector.cpp - src/GausDecay.cpp - src/GausOsc.cpp - src/Gaussian.cpp - src/GaussianComptonProfile.cpp - src/GramCharlierComptonProfile.cpp src/IFittingAlgorithm.cpp - src/IkedaCarpenterPV.cpp src/LatticeDomainCreator.cpp src/LatticeFunction.cpp - src/LeBailFit.cpp - src/LeBailFunction.cpp - src/LevenbergMarquardtMDMinimizer.cpp - src/LevenbergMarquardtMinimizer.cpp - src/LinearBackground.cpp - src/LogNormal.cpp - src/Lorentzian.cpp - src/Lorentzian1D.cpp src/MSVesuvioHelpers.cpp src/MultiDomainCreator.cpp - src/MuonFInteraction.cpp - src/NeutronBk2BkExpConvPVoigt.cpp - src/NormaliseByPeakArea.cpp - src/PRConjugateGradientMinimizer.cpp src/ParDomain.cpp src/ParameterEstimator.cpp - src/PawleyFit.cpp - src/PawleyFunction.cpp - src/PeakParameterFunction.cpp - src/PlotPeakByLogValue.cpp - src/Polynomial.cpp - src/ProcessBackground.cpp - src/ProductFunction.cpp - src/ProductLinearExp.cpp - src/ProductQuadraticExp.cpp - src/PseudoVoigt.cpp - src/Quadratic.cpp - src/RefinePowderInstrumentParameters3.cpp - src/ReflectivityMulf.cpp - src/Resolution.cpp src/SeqDomain.cpp src/SeqDomainSpectrumCreator.cpp - src/SimpleChebfun.cpp - src/SimplexMinimizer.cpp src/SpecialFunctionHelper.cpp - src/SplineBackground.cpp - src/SplineInterpolation.cpp - src/SplineSmoothing.cpp - src/StaticKuboToyabe.cpp - src/StaticKuboToyabeTimesExpDecay.cpp - src/StaticKuboToyabeTimesGausDecay.cpp - src/SteepestDescentMinimizer.cpp - src/StretchExp.cpp - src/StretchExpMuon.cpp - src/TabulatedFunction.cpp - src/ThermalNeutronBk2BkExpAlpha.cpp - src/ThermalNeutronBk2BkExpBeta.cpp - src/ThermalNeutronBk2BkExpConvPVoigt.cpp - src/ThermalNeutronBk2BkExpSigma.cpp - src/ThermalNeutronDtoTOFFunction.cpp - src/UserFunction.cpp - src/UserFunction1D.cpp - src/VesuvioResolution.cpp - src/Voigt.cpp ) set ( SRC_UNITY_IGNORE_FILES src/Fit1D.cpp src/GSLFunctions.cpp ) @@ -124,235 +125,237 @@ set ( INC_FILES # inc/MantidCurveFitting/SCDPanelErrors.h # inc/MantidCurveFitting/ChebyshevPolynomialBackground.h #inc/MantidCurveFitting/RefinePowderInstrumentParameters.h - inc/MantidCurveFitting/Abragam.h + inc/MantidCurveFitting/Algorithms/CalculateChiSquared.h + inc/MantidCurveFitting/Algorithms/CalculateGammaBackground.h + inc/MantidCurveFitting/Algorithms/CalculateMSVesuvio.h + inc/MantidCurveFitting/Algorithms/ConvertToYSpace.h + inc/MantidCurveFitting/Algorithms/ConvolveWorkspaces.h + inc/MantidCurveFitting/Algorithms/EstimatePeakErrors.h + inc/MantidCurveFitting/Algorithms/EvaluateFunction.h + inc/MantidCurveFitting/Algorithms/Fit.h + inc/MantidCurveFitting/Algorithms/Fit1D.h + inc/MantidCurveFitting/Algorithms/FitPowderDiffPeaks.h + inc/MantidCurveFitting/Algorithms/LeBailFit.h + inc/MantidCurveFitting/Algorithms/LeBailFunction.h + inc/MantidCurveFitting/Algorithms/NormaliseByPeakArea.h + inc/MantidCurveFitting/Algorithms/PawleyFit.h + inc/MantidCurveFitting/Algorithms/PlotPeakByLogValue.h + inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters.h + inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters3.h + inc/MantidCurveFitting/Algorithms/SplineBackground.h + inc/MantidCurveFitting/Algorithms/SplineInterpolation.h + inc/MantidCurveFitting/Algorithms/SplineSmoothing.h inc/MantidCurveFitting/AugmentedLagrangianOptimizer.h - inc/MantidCurveFitting/BFGS_Minimizer.h - inc/MantidCurveFitting/BSpline.h - inc/MantidCurveFitting/BackToBackExponential.h - inc/MantidCurveFitting/BackgroundFunction.h - inc/MantidCurveFitting/BivariateNormal.h - inc/MantidCurveFitting/Bk2BkExpConvPV.h - inc/MantidCurveFitting/BoundaryConstraint.h - inc/MantidCurveFitting/CalculateChiSquared.h - inc/MantidCurveFitting/CalculateGammaBackground.h - inc/MantidCurveFitting/CalculateMSVesuvio.h - inc/MantidCurveFitting/ChebfunBase.h - inc/MantidCurveFitting/Chebyshev.h - inc/MantidCurveFitting/ComptonPeakProfile.h - inc/MantidCurveFitting/ComptonProfile.h - inc/MantidCurveFitting/ComptonScatteringCountRate.h - inc/MantidCurveFitting/ConvertToYSpace.h - inc/MantidCurveFitting/Convolution.h - inc/MantidCurveFitting/ConvolveWorkspaces.h - inc/MantidCurveFitting/CostFuncFitting.h - inc/MantidCurveFitting/CostFuncLeastSquares.h - inc/MantidCurveFitting/CostFuncRwp.h - inc/MantidCurveFitting/CostFuncUnweightedLeastSquares.h - inc/MantidCurveFitting/CubicSpline.h - inc/MantidCurveFitting/DampingMinimizer.h - inc/MantidCurveFitting/DeltaFunction.h - inc/MantidCurveFitting/DerivMinimizer.h - inc/MantidCurveFitting/DiffRotDiscreteCircle.h - inc/MantidCurveFitting/DiffSphere.h + inc/MantidCurveFitting/Constraints/BoundaryConstraint.h + inc/MantidCurveFitting/CostFunctions/CostFuncFitting.h + inc/MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h + inc/MantidCurveFitting/CostFunctions/CostFuncRwp.h + inc/MantidCurveFitting/CostFunctions/CostFuncUnweightedLeastSquares.h inc/MantidCurveFitting/DllConfig.h - inc/MantidCurveFitting/DynamicKuboToyabe.h - inc/MantidCurveFitting/EndErfc.h - inc/MantidCurveFitting/EstimatePeakErrors.h - inc/MantidCurveFitting/EvaluateFunction.h - inc/MantidCurveFitting/ExpDecay.h - inc/MantidCurveFitting/ExpDecayMuon.h - inc/MantidCurveFitting/ExpDecayOsc.h - inc/MantidCurveFitting/FABADAMinimizer.h - inc/MantidCurveFitting/FRConjugateGradientMinimizer.h - inc/MantidCurveFitting/Fit.h - inc/MantidCurveFitting/Fit1D.h inc/MantidCurveFitting/FitMW.h - inc/MantidCurveFitting/FitPowderDiffPeaks.h - inc/MantidCurveFitting/FlatBackground.h - inc/MantidCurveFitting/FullprofPolynomial.h + inc/MantidCurveFitting/FuncMinimizers/BFGS_Minimizer.h + inc/MantidCurveFitting/FuncMinimizers/DampingMinimizer.h + inc/MantidCurveFitting/FuncMinimizers/DerivMinimizer.h + inc/MantidCurveFitting/FuncMinimizers/FABADAMinimizer.h + inc/MantidCurveFitting/FuncMinimizers/FRConjugateGradientMinimizer.h + inc/MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMDMinimizer.h + inc/MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMinimizer.h + inc/MantidCurveFitting/FuncMinimizers/PRConjugateGradientMinimizer.h + inc/MantidCurveFitting/FuncMinimizers/SimplexMinimizer.h + inc/MantidCurveFitting/FuncMinimizers/SteepestDescentMinimizer.h inc/MantidCurveFitting/FunctionDomain1DSpectrumCreator.h + inc/MantidCurveFitting/Functions/Abragam.h + inc/MantidCurveFitting/Functions/BSpline.h + inc/MantidCurveFitting/Functions/BackToBackExponential.h + inc/MantidCurveFitting/Functions/BackgroundFunction.h + inc/MantidCurveFitting/Functions/BivariateNormal.h + inc/MantidCurveFitting/Functions/Bk2BkExpConvPV.h + inc/MantidCurveFitting/Functions/ChebfunBase.h + inc/MantidCurveFitting/Functions/Chebyshev.h + inc/MantidCurveFitting/Functions/ComptonPeakProfile.h + inc/MantidCurveFitting/Functions/ComptonProfile.h + inc/MantidCurveFitting/Functions/ComptonScatteringCountRate.h + inc/MantidCurveFitting/Functions/Convolution.h + inc/MantidCurveFitting/Functions/CubicSpline.h + inc/MantidCurveFitting/Functions/DeltaFunction.h + inc/MantidCurveFitting/Functions/DiffRotDiscreteCircle.h + inc/MantidCurveFitting/Functions/DiffSphere.h + inc/MantidCurveFitting/Functions/DynamicKuboToyabe.h + inc/MantidCurveFitting/Functions/EndErfc.h + inc/MantidCurveFitting/Functions/ExpDecay.h + inc/MantidCurveFitting/Functions/ExpDecayMuon.h + inc/MantidCurveFitting/Functions/ExpDecayOsc.h + inc/MantidCurveFitting/Functions/FlatBackground.h + inc/MantidCurveFitting/Functions/FullprofPolynomial.h + inc/MantidCurveFitting/Functions/GausDecay.h + inc/MantidCurveFitting/Functions/GausOsc.h + inc/MantidCurveFitting/Functions/Gaussian.h + inc/MantidCurveFitting/Functions/GaussianComptonProfile.h + inc/MantidCurveFitting/Functions/GramCharlierComptonProfile.h + inc/MantidCurveFitting/Functions/IkedaCarpenterPV.h + inc/MantidCurveFitting/Functions/LinearBackground.h + inc/MantidCurveFitting/Functions/LogNormal.h + inc/MantidCurveFitting/Functions/Lorentzian.h + inc/MantidCurveFitting/Functions/Lorentzian1D.h + inc/MantidCurveFitting/Functions/MuonFInteraction.h + inc/MantidCurveFitting/Functions/NeutronBk2BkExpConvPVoigt.h + inc/MantidCurveFitting/Functions/PawleyFunction.h + inc/MantidCurveFitting/Functions/PeakParameterFunction.h + inc/MantidCurveFitting/Functions/Polynomial.h + inc/MantidCurveFitting/Functions/ProcessBackground.h + inc/MantidCurveFitting/Functions/ProductFunction.h + inc/MantidCurveFitting/Functions/ProductLinearExp.h + inc/MantidCurveFitting/Functions/ProductQuadraticExp.h + inc/MantidCurveFitting/Functions/PseudoVoigt.h + inc/MantidCurveFitting/Functions/Quadratic.h + inc/MantidCurveFitting/Functions/ReflectivityMulf.h + inc/MantidCurveFitting/Functions/Resolution.h + inc/MantidCurveFitting/Functions/SimpleChebfun.h + inc/MantidCurveFitting/Functions/StaticKuboToyabe.h + inc/MantidCurveFitting/Functions/StaticKuboToyabeTimesExpDecay.h + inc/MantidCurveFitting/Functions/StaticKuboToyabeTimesGausDecay.h + inc/MantidCurveFitting/Functions/StretchExp.h + inc/MantidCurveFitting/Functions/StretchExpMuon.h + inc/MantidCurveFitting/Functions/TabulatedFunction.h + inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpAlpha.h + inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpBeta.h + inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpConvPVoigt.h + inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpSigma.h + inc/MantidCurveFitting/Functions/ThermalNeutronDtoTOFFunction.h + inc/MantidCurveFitting/Functions/UserFunction.h + inc/MantidCurveFitting/Functions/UserFunction1D.h + inc/MantidCurveFitting/Functions/VesuvioResolution.h + inc/MantidCurveFitting/Functions/Voigt.h inc/MantidCurveFitting/GSLFunctions.h inc/MantidCurveFitting/GSLJacobian.h inc/MantidCurveFitting/GSLMatrix.h inc/MantidCurveFitting/GSLVector.h - inc/MantidCurveFitting/GausDecay.h - inc/MantidCurveFitting/GausOsc.h - inc/MantidCurveFitting/Gaussian.h - inc/MantidCurveFitting/GaussianComptonProfile.h - inc/MantidCurveFitting/GramCharlierComptonProfile.h inc/MantidCurveFitting/HalfComplex.h inc/MantidCurveFitting/IFittingAlgorithm.h - inc/MantidCurveFitting/IkedaCarpenterPV.h inc/MantidCurveFitting/Jacobian.h inc/MantidCurveFitting/LatticeDomainCreator.h inc/MantidCurveFitting/LatticeFunction.h - inc/MantidCurveFitting/LeBailFit.h - inc/MantidCurveFitting/LeBailFunction.h - inc/MantidCurveFitting/LevenbergMarquardtMDMinimizer.h - inc/MantidCurveFitting/LevenbergMarquardtMinimizer.h - inc/MantidCurveFitting/LinearBackground.h - inc/MantidCurveFitting/LogNormal.h - inc/MantidCurveFitting/Lorentzian.h - inc/MantidCurveFitting/Lorentzian1D.h inc/MantidCurveFitting/MSVesuvioHelpers.h inc/MantidCurveFitting/MultiDomainCreator.h - inc/MantidCurveFitting/MuonFInteraction.h - inc/MantidCurveFitting/NeutronBk2BkExpConvPVoigt.h - inc/MantidCurveFitting/NormaliseByPeakArea.h - inc/MantidCurveFitting/PRConjugateGradientMinimizer.h inc/MantidCurveFitting/ParDomain.h inc/MantidCurveFitting/ParameterEstimator.h - inc/MantidCurveFitting/PawleyFit.h - inc/MantidCurveFitting/PawleyFunction.h - inc/MantidCurveFitting/PeakParameterFunction.h - inc/MantidCurveFitting/PlotPeakByLogValue.h - inc/MantidCurveFitting/Polynomial.h - inc/MantidCurveFitting/ProcessBackground.h - inc/MantidCurveFitting/ProductFunction.h - inc/MantidCurveFitting/ProductLinearExp.h - inc/MantidCurveFitting/ProductQuadraticExp.h - inc/MantidCurveFitting/PseudoVoigt.h - inc/MantidCurveFitting/Quadratic.h - inc/MantidCurveFitting/RefinePowderInstrumentParameters3.h - inc/MantidCurveFitting/ReflectivityMulf.h - inc/MantidCurveFitting/Resolution.h inc/MantidCurveFitting/SeqDomain.h inc/MantidCurveFitting/SeqDomainSpectrumCreator.h - inc/MantidCurveFitting/SimpleChebfun.h - inc/MantidCurveFitting/SimplexMinimizer.h inc/MantidCurveFitting/SpecialFunctionSupport.h - inc/MantidCurveFitting/SplineBackground.h - inc/MantidCurveFitting/SplineInterpolation.h - inc/MantidCurveFitting/SplineSmoothing.h - inc/MantidCurveFitting/StaticKuboToyabe.h - inc/MantidCurveFitting/StaticKuboToyabeTimesExpDecay.h - inc/MantidCurveFitting/StaticKuboToyabeTimesGausDecay.h - inc/MantidCurveFitting/SteepestDescentMinimizer.h - inc/MantidCurveFitting/StretchExp.h - inc/MantidCurveFitting/StretchExpMuon.h - inc/MantidCurveFitting/TabulatedFunction.h - inc/MantidCurveFitting/ThermalNeutronBk2BkExpAlpha.h - inc/MantidCurveFitting/ThermalNeutronBk2BkExpBeta.h - inc/MantidCurveFitting/ThermalNeutronBk2BkExpConvPVoigt.h - inc/MantidCurveFitting/ThermalNeutronBk2BkExpSigma.h - inc/MantidCurveFitting/ThermalNeutronDtoTOFFunction.h - inc/MantidCurveFitting/UserFunction.h - inc/MantidCurveFitting/UserFunction1D.h - inc/MantidCurveFitting/VesuvioResolution.h - inc/MantidCurveFitting/Voigt.h ) set ( TEST_FILES # ChebyshevPolynomialBackgroundTest.h # RefinePowderInstrumentParametersTest.h #SCDPanelErrorsTest.h - AbragamTest.h + Algorithms/CalculateChiSquaredTest.h + Algorithms/CalculateGammaBackgroundTest.h + Algorithms/CalculateMSVesuvioTest.h + Algorithms/ConvertToYSpaceTest.h + Algorithms/ConvolveWorkspacesTest.h + Algorithms/EstimatePeakErrorsTest.h + Algorithms/EvaluateFunctionTest.h + Algorithms/FitPowderDiffPeaksTest.h + Algorithms/FitTest.h + Algorithms/LeBailFitTest.h + Algorithms/LeBailFunctionTest.h + Algorithms/NormaliseByPeakAreaTest.h + Algorithms/PawleyFitTest.h + Algorithms/PlotPeakByLogValueTest.h + Algorithms/RefinePowderInstrumentParameters3Test.h + Algorithms/RefinePowderInstrumentParametersTest.h + Algorithms/SeqDomainSpectrumCreatorTest.h + Algorithms/SplineBackgroundTest.h + Algorithms/SplineInterpolationTest.h + Algorithms/SplineSmoothingTest.h AugmentedLagrangianOptimizerTest.h - BFGSTest.h - BSplineTest.h - BackToBackExponentialTest.h - BivariateNormalTest.h - Bk2BkExpConvPVTest.h - BoundaryConstraintTest.h - CalculateChiSquaredTest.h - CalculateGammaBackgroundTest.h - CalculateMSVesuvioTest.h - ChebfunBaseTest.h - ChebyshevTest.h CompositeFunctionTest.h - ComptonPeakProfileTest.h - ComptonProfileTest.h - ComptonScatteringCountRateTest.h - ConvertToYSpaceTest.h - ConvolutionTest.h - ConvolveWorkspacesTest.h - CostFuncUnweightedLeastSquaresTest.h - CubicSplineTest.h - DampingMinimizerTest.h - DeltaFunctionTest.h - DiffRotDiscreteCircleTest.h - DiffSphereTest.h - DynamicKuboToyabeTest.h - EndErfcTest.h - EstimatePeakErrorsTest.h - EvaluateFunctionTest.h - ExpDecayMuonTest.h - ExpDecayOscTest.h - ExpDecayTest.h - FABADAMinimizerTest.h - FRConjugateGradientTest.h + Constraints/BoundaryConstraintTest.h + CostFunctions/CostFuncUnweightedLeastSquaresTest.h + CostFunctions/LeastSquaresTest.h FitMWTest.h - FitPowderDiffPeaksTest.h - FitTest.h - FlatBackgroundTest.h - FullprofPolynomialTest.h + FuncMinimizers/BFGSTest.h + FuncMinimizers/DampingMinimizerTest.h + FuncMinimizers/FABADAMinimizerTest.h + FuncMinimizers/FRConjugateGradientTest.h + FuncMinimizers/LevenbergMarquardtMDTest.h + FuncMinimizers/LevenbergMarquardtTest.h + FuncMinimizers/PRConjugateGradientTest.h + FuncMinimizers/SimplexTest.h FunctionDomain1DSpectrumCreatorTest.h FunctionFactoryConstraintTest.h FunctionParameterDecoratorFitTest.h + Functions/AbragamTest.h + Functions/BSplineTest.h + Functions/BackToBackExponentialTest.h + Functions/BivariateNormalTest.h + Functions/Bk2BkExpConvPVTest.h + Functions/ChebfunBaseTest.h + Functions/ChebyshevTest.h + Functions/ComptonPeakProfileTest.h + Functions/ComptonProfileTest.h + Functions/ComptonScatteringCountRateTest.h + Functions/ConvolutionTest.h + Functions/CubicSplineTest.h + Functions/DeltaFunctionTest.h + Functions/DiffRotDiscreteCircleTest.h + Functions/DiffSphereTest.h + Functions/DynamicKuboToyabeTest.h + Functions/EndErfcTest.h + Functions/ExpDecayMuonTest.h + Functions/ExpDecayOscTest.h + Functions/ExpDecayTest.h + Functions/FlatBackgroundTest.h + Functions/FullprofPolynomialTest.h + Functions/GausDecayTest.h + Functions/GausOscTest.h + Functions/GaussianComptonProfileTest.h + Functions/GaussianTest.h + Functions/GramCharlierComptonProfileTest.h + Functions/IkedaCarpenterPVTest.h + Functions/LinearBackgroundTest.h + Functions/LogNormalTest.h + Functions/Lorentzian1DTest.h + Functions/LorentzianTest.h + Functions/MuonFInteractionTest.h + Functions/NeutronBk2BkExpConvPVoigtTest.h + Functions/PawleyFunctionTest.h + Functions/PeakParameterFunctionTest.h + Functions/PolynomialTest.h + Functions/ProcessBackgroundTest.h + Functions/ProductFunctionTest.h + Functions/ProductLinearExpTest.h + Functions/ProductQuadraticExpTest.h + Functions/PseudoVoigtTest.h + Functions/QuadraticTest.h + Functions/ReflectivityMulfTest.h + Functions/ResolutionTest.h + Functions/SimpleChebfunTest.h + Functions/StaticKuboToyabeTest.h + Functions/StaticKuboToyabeTimesExpDecayTest.h + Functions/StaticKuboToyabeTimesGausDecayTest.h + Functions/StretchExpMuonTest.h + Functions/StretchExpTest.h + Functions/TabulatedFunctionTest.h + Functions/ThermalNeutronBk2BkExpAlphaTest.h + Functions/ThermalNeutronBk2BkExpBetaTest.h + Functions/ThermalNeutronBk2BkExpConvPVoigtTest.h + Functions/ThermalNeutronBk2BkExpSigmaTest.h + Functions/ThermalNeutronDtoTOFFunctionTest.h + Functions/UserFunction1DTest.h + Functions/UserFunctionTest.h + Functions/VesuvioResolutionTest.h + Functions/VoigtTest.h GSLMatrixTest.h GSLVectorTest.h - GausDecayTest.h - GausOscTest.h - GaussianComptonProfileTest.h - GaussianTest.h - GramCharlierComptonProfileTest.h IPeakFunctionCentreParameterNameTest.h IPeakFunctionIntensityTest.h - IkedaCarpenterPVTest.h LatticeDomainCreatorTest.h LatticeFunctionTest.h - LeBailFitTest.h - LeBailFunctionTest.h - LeastSquaresTest.h - LevenbergMarquardtMDTest.h - LevenbergMarquardtTest.h - LinearBackgroundTest.h - LogNormalTest.h - Lorentzian1DTest.h - LorentzianTest.h MultiDomainCreatorTest.h MultiDomainFunctionTest.h - MuonFInteractionTest.h - NeutronBk2BkExpConvPVoigtTest.h - NormaliseByPeakAreaTest.h - PRConjugateGradientTest.h ParameterEstimatorTest.h - PawleyFitTest.h - PawleyFunctionTest.h - PeakParameterFunctionTest.h - PlotPeakByLogValueTest.h - PolynomialTest.h - ProcessBackgroundTest.h - ProductFunctionTest.h - ProductLinearExpTest.h - ProductQuadraticExpTest.h - PseudoVoigtTest.h - QuadraticTest.h - RefinePowderInstrumentParameters3Test.h - ReflectivityMulfTest.h - ResolutionTest.h - SeqDomainSpectrumCreatorTest.h - SimpleChebfunTest.h - SimplexTest.h SpecialFunctionSupportTest.h - SplineBackgroundTest.h - SplineInterpolationTest.h - SplineSmoothingTest.h - StaticKuboToyabeTest.h - StaticKuboToyabeTimesExpDecayTest.h - StaticKuboToyabeTimesGausDecayTest.h - StretchExpMuonTest.h - StretchExpTest.h - TabulatedFunctionTest.h - ThermalNeutronBk2BkExpAlphaTest.h - ThermalNeutronBk2BkExpBetaTest.h - ThermalNeutronBk2BkExpConvPVoigtTest.h - ThermalNeutronBk2BkExpSigmaTest.h - ThermalNeutronDtoTOFFunctionTest.h - UserFunction1DTest.h - UserFunctionTest.h - VesuvioResolutionTest.h - VoigtTest.h ) if (COVERALLS) diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/CalculateChiSquared.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateChiSquared.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/CalculateChiSquared.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateChiSquared.h index 34d50d67839be92218d2d149aad8272f7c9ce575..867ec832b324d9ad2353e516c3235fc791d48ed4 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/CalculateChiSquared.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateChiSquared.h @@ -6,6 +6,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { /** @@ -51,6 +52,7 @@ private: std::vector<size_t> m_fixedParameters; }; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/CalculateGammaBackground.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateGammaBackground.h similarity index 87% rename from Framework/CurveFitting/inc/MantidCurveFitting/CalculateGammaBackground.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateGammaBackground.h index 4cf7ebc54a20af54e0396148ebdf74ccbca95d21..ac575bb8035a120fd8e0e3cc51739cd693b26f2d 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/CalculateGammaBackground.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateGammaBackground.h @@ -7,11 +7,14 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { +struct ResolutionParams; +} +namespace Algorithms { //--------------------------------------------------------------------------- // Forward declarations //--------------------------------------------------------------------------- struct DetectorParams; -struct ResolutionParams; /** @@ -75,17 +78,17 @@ private: void calculateBackgroundFromFoils(const size_t inputIndex, const size_t outputIndex); /// Compute expected background from single foil for spectrum at wsIndex - void calculateBackgroundSingleFoil(std::vector<double> &ctfoil, - const size_t wsIndex, - const FoilInfo &foilInfo, - const Kernel::V3D &detPos, - const DetectorParams &detPar, - const ResolutionParams &detRes); + void calculateBackgroundSingleFoil( + std::vector<double> &ctfoil, const size_t wsIndex, + const FoilInfo &foilInfo, const Kernel::V3D &detPos, + const DetectorParams &detPar, + const CurveFitting::Functions::ResolutionParams &detRes); /// Compute a TOF spectrum for the given inputs & spectrum - void calculateTofSpectrum(std::vector<double> &result, - std::vector<double> &tmpWork, const size_t wsIndex, - const DetectorParams &detpar, - const ResolutionParams &respar); + void + calculateTofSpectrum(std::vector<double> &result, + std::vector<double> &tmpWork, const size_t wsIndex, + const DetectorParams &detpar, + const CurveFitting::Functions::ResolutionParams &respar); /// Check and store appropriate input data void retrieveInputs(); @@ -133,6 +136,7 @@ private: API::Progress *m_progress; }; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/CalculateMSVesuvio.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateMSVesuvio.h similarity index 93% rename from Framework/CurveFitting/inc/MantidCurveFitting/CalculateMSVesuvio.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateMSVesuvio.h index 71b9767435f032f9d4564ec8ef53d4dd5ee160a6..96d84d452dadbbff40e58b32c09184768055420b 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/CalculateMSVesuvio.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateMSVesuvio.h @@ -9,16 +9,16 @@ namespace Mantid { namespace CurveFitting { -//----------------------------------------------------------------------------- -// CurveFitting forward declarations -//----------------------------------------------------------------------------- -struct DetectorParams; -struct ResolutionParams; namespace MSVesuvioHelper { class RandomNumberGenerator; struct Simulation; struct SimulationWithErrors; } +namespace Functions { +struct ResolutionParams; +} +namespace Algorithms { +struct DetectorParams; /** Calculates the multiple scattering & total scattering contributions @@ -88,12 +88,13 @@ private: void cacheInputs(); void calculateMS(const size_t wsIndex, API::ISpectrum &totalsc, API::ISpectrum &multsc) const; - void simulate(const DetectorParams &detpar, const ResolutionParams &respar, + void simulate(const DetectorParams &detpar, + const Functions::ResolutionParams &respar, MSVesuvioHelper::Simulation &simulCounts) const; void assignToOutput(const MSVesuvioHelper::SimulationWithErrors &avgCounts, API::ISpectrum &totalsc, API::ISpectrum &multsc) const; double calculateCounts(const DetectorParams &detpar, - const ResolutionParams &respar, + const Functions::ResolutionParams &respar, MSVesuvioHelper::Simulation &simulation) const; // single-event helpers @@ -116,7 +117,8 @@ private: const double e1res) const; // Member Variables - MSVesuvioHelper::RandomNumberGenerator *m_randgen; // random number generator + CurveFitting::MSVesuvioHelper::RandomNumberGenerator * + m_randgen; // random number generator size_t m_acrossIdx, m_upIdx, m_beamIdx; // indices of each direction Kernel::V3D m_beamDir; // Directional vector for beam @@ -136,6 +138,7 @@ private: API::MatrixWorkspace_sptr m_inputWS; }; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ConvertToYSpace.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/ConvertToYSpace.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/ConvertToYSpace.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/ConvertToYSpace.h index c548e60ad362f48487a0dfdb134dc85c73cfccdd..6ed4648408a367518609fab46670ec8d4c4dbe18 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ConvertToYSpace.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/ConvertToYSpace.h @@ -5,6 +5,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { /// Simple data structure to store nominal detector values /// It avoids some functions taking a huge number of arguments @@ -101,6 +102,7 @@ private: API::MatrixWorkspace_sptr m_qOutputWS; }; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ConvolveWorkspaces.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/ConvolveWorkspaces.h similarity index 95% rename from Framework/CurveFitting/inc/MantidCurveFitting/ConvolveWorkspaces.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/ConvolveWorkspaces.h index 30ad9f3f040bf284b2274e08dbd3753b665eff41..19fa08127b0e1a54c8fdd6a0a6594e1faba251ec 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ConvolveWorkspaces.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/ConvolveWorkspaces.h @@ -9,12 +9,13 @@ #include "MantidAPI/MatrixWorkspace_fwd.h" #include "MantidDataObjects/EventWorkspace.h" #include "MantidDataObjects/Workspace2D.h" -#include "MantidCurveFitting/CubicSpline.h" +#include "MantidCurveFitting/Functions/CubicSpline.h" #include "MantidAPI/ParamFunction.h" #include "MantidAPI/IFunction1D.h" namespace Mantid { namespace CurveFitting { +namespace Algorithms { /** Convolution of two workspaces Copyright © 2012 ISIS Rutherford Appleton Laboratory, NScD Oak Ridge @@ -65,6 +66,7 @@ private: API::Progress *prog; }; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/EstimatePeakErrors.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimatePeakErrors.h similarity index 96% rename from Framework/CurveFitting/inc/MantidCurveFitting/EstimatePeakErrors.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimatePeakErrors.h index fa886873c50b189aa5aab1cb5bc594f5b5a98c5b..c16a6b037959f973eed6c93204d73d11ed92ac45 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/EstimatePeakErrors.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimatePeakErrors.h @@ -5,6 +5,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { //--------------------------------------------------------------------------- /** @@ -44,6 +45,7 @@ private: void exec(); }; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/EvaluateFunction.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EvaluateFunction.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/EvaluateFunction.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EvaluateFunction.h index 48bfd7abe57983d68d45b5c817c6361fb06313fa..55be4b63901ced996a404c85b2980f8702f52d29 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/EvaluateFunction.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EvaluateFunction.h @@ -6,6 +6,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { /** @@ -44,6 +45,7 @@ private: void execConcrete(); }; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Fit.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/Fit.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/Fit.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/Fit.h index baaf264d06d012cfa0efda8169d7ae9181d28c68..20c76810d8a5affe143d42be189d9fd0b77ca9d6 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/Fit.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/Fit.h @@ -20,6 +20,7 @@ class IFuncMinimizer; } namespace CurveFitting { +namespace Algorithms { /** A generic fitting algorithm. It fits a function to some data in a workspace. @@ -114,6 +115,7 @@ protected: void copyMinimizerOutput(const API::IFuncMinimizer &minimizer); }; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Fit1D.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/Fit1D.h similarity index 99% rename from Framework/CurveFitting/inc/MantidCurveFitting/Fit1D.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/Fit1D.h index 132ce49ede9e9ea965ca0537a32b2925355d4b0c..9cfc546a20c3023fc0d609560b8d3eece550cf72 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/Fit1D.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/Fit1D.h @@ -10,6 +10,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { /** Deprecation notice: instead of using this algorithm please use the Fit algorithm instead. @@ -140,6 +141,7 @@ protected: friend struct FitData; }; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/FitPowderDiffPeaks.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/FitPowderDiffPeaks.h similarity index 77% rename from Framework/CurveFitting/inc/MantidCurveFitting/FitPowderDiffPeaks.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/FitPowderDiffPeaks.h index 1fe1d2551ebe75f32516f0077b138a6c153f8fc3..5436f304f29d3fd7a7076d4dcfca9dab48dd0b03 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/FitPowderDiffPeaks.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/FitPowderDiffPeaks.h @@ -8,13 +8,14 @@ #include "MantidAPI/ITableWorkspace_fwd.h" #include "MantidDataObjects/TableWorkspace.h" #include "MantidDataObjects/Workspace2D.h" -#include "MantidCurveFitting/BackgroundFunction.h" -#include "MantidCurveFitting/Polynomial.h" -#include "MantidCurveFitting/BackToBackExponential.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/Polynomial.h" +#include "MantidCurveFitting/Functions/BackToBackExponential.h" #include "MantidGeometry/Crystal/UnitCell.h" namespace Mantid { namespace CurveFitting { +namespace Algorithms { /** FitPowderDiffPeaks : Fit peaks in powder diffraction pattern. @@ -88,7 +89,7 @@ private: void genPeaksFromTable(DataObjects::TableWorkspace_sptr peakparamws); /// Generate a peak - BackToBackExponential_sptr + Functions::BackToBackExponential_sptr genPeak(std::map<std::string, int> hklmap, std::map<std::string, double> parammap, std::map<std::string, std::string> bk2bk2braggmap, bool &good, @@ -114,62 +115,66 @@ private: void fitPeaksRobust(); /// Fit a single peak - bool fitPeak(BackToBackExponential_sptr peak, - BackgroundFunction_sptr background, double leftdev, + bool fitPeak(Functions::BackToBackExponential_sptr peak, + Functions::BackgroundFunction_sptr background, double leftdev, double rightdev, size_t m_wsIndex, double &chi2); //--------------------------------------------------------------------------- /// Fit single peak in robust mode (no hint) - bool fitSinglePeakRobust(BackToBackExponential_sptr peak, - BackgroundFunction_sptr background, double leftdev, - double rightdev, - std::map<std::string, double> rightpeakparammap, - double &finalchi2); + bool + fitSinglePeakRobust(Functions::BackToBackExponential_sptr peak, + Functions::BackgroundFunction_sptr backgroundfunction, + double leftdev, double rightdev, + std::map<std::string, double> rightpeakparammap, + double &finalchi2); /// Fit signle peak by Monte Carlo/simulated annealing - bool fitSinglePeakSimulatedAnnealing(BackToBackExponential_sptr peak, - std::vector<std::string> paramtodomc); + bool + fitSinglePeakSimulatedAnnealing(Functions::BackToBackExponential_sptr peak, + std::vector<std::string> paramtodomc); /// Fit peak with confidence of the centre - bool fitSinglePeakConfidentX(BackToBackExponential_sptr peak); + bool fitSinglePeakConfidentX(Functions::BackToBackExponential_sptr peak); /// Fit peak with trustful peak parameters - bool fitSinglePeakConfident(BackToBackExponential_sptr peak, - BackgroundFunction_sptr backgroundfunction, - double leftbound, double rightbound, double &chi2, - bool &annhilatedpeak); + bool + fitSinglePeakConfident(Functions::BackToBackExponential_sptr peak, + Functions::BackgroundFunction_sptr backgroundfunction, + double leftbound, double rightbound, double &chi2, + bool &annhilatedpeak); /// Fit peak with confident parameters bool fitSinglePeakConfidentY(DataObjects::Workspace2D_sptr dataws, - BackToBackExponential_sptr peak, + Functions::BackToBackExponential_sptr peak, double dampingfactor); /// Fit peaks with confidence in fwhm and etc. - bool fitOverlappedPeaks(std::vector<BackToBackExponential_sptr> peaks, - BackgroundFunction_sptr backgroundfunction, - double gfwhm); + bool + fitOverlappedPeaks(std::vector<Functions::BackToBackExponential_sptr> peaks, + Functions::BackgroundFunction_sptr backgroundfunction, + double gfwhm); /// Fit multiple (overlapped) peaks - bool doFitMultiplePeaks(DataObjects::Workspace2D_sptr dataws, size_t wsindex, - API::CompositeFunction_sptr peaksfunc, - std::vector<BackToBackExponential_sptr> peakfuncs, - std::vector<bool> &vecfitgood, - std::vector<double> &vecchi2s); + bool doFitMultiplePeaks( + DataObjects::Workspace2D_sptr dataws, size_t wsindex, + API::CompositeFunction_sptr peaksfunc, + std::vector<Functions::BackToBackExponential_sptr> peakfuncs, + std::vector<bool> &vecfitgood, std::vector<double> &vecchi2s); /// Use Le Bail method to estimate and set the peak heights - void estimatePeakHeightsLeBail(DataObjects::Workspace2D_sptr dataws, - size_t wsindex, - std::vector<BackToBackExponential_sptr> peaks); + void estimatePeakHeightsLeBail( + DataObjects::Workspace2D_sptr dataws, size_t wsindex, + std::vector<Functions::BackToBackExponential_sptr> peaks); /// Set constraints on a group of overlapped peaks for fitting - void - setOverlappedPeaksConstraints(std::vector<BackToBackExponential_sptr> peaks); + void setOverlappedPeaksConstraints( + std::vector<Functions::BackToBackExponential_sptr> peaks); /// Fit 1 peak by 1 minimizer of 1 call of minimzer (simple version) bool doFit1PeakSimple(DataObjects::Workspace2D_sptr dataws, size_t workspaceindex, - BackToBackExponential_sptr peakfunction, + Functions::BackToBackExponential_sptr peakfunction, std::string minimzername, size_t maxiteration, double &chi2); @@ -181,25 +186,26 @@ private: // string minimzername, size_t maxiteration, double &chi2); /// Fit single peak with background to raw data - bool doFit1PeakBackground(DataObjects::Workspace2D_sptr dataws, - size_t wsindex, BackToBackExponential_sptr peak, - BackgroundFunction_sptr backgroundfunction, - double &chi2); + bool + doFit1PeakBackground(DataObjects::Workspace2D_sptr dataws, size_t wsindex, + Functions::BackToBackExponential_sptr peak, + Functions::BackgroundFunction_sptr backgroundfunction, + double &chi2); /// Fit 1 peak by using a sequential of minimizer bool doFit1PeakSequential(DataObjects::Workspace2D_sptr dataws, size_t workspaceindex, - BackToBackExponential_sptr peakfunction, + Functions::BackToBackExponential_sptr peakfunction, std::vector<std::string> minimzernames, std::vector<size_t> maxiterations, std::vector<double> dampfactors, double &chi2); /// Fit N overlapped peaks in a simple manner - bool doFitNPeaksSimple(DataObjects::Workspace2D_sptr dataws, size_t wsindex, - API::CompositeFunction_sptr peaksfunc, - std::vector<BackToBackExponential_sptr> peakfuncs, - std::string minimizername, size_t maxiteration, - double &chi2); + bool doFitNPeaksSimple( + DataObjects::Workspace2D_sptr dataws, size_t wsindex, + API::CompositeFunction_sptr peaksfunc, + std::vector<Functions::BackToBackExponential_sptr> peakfuncs, + std::string minimizername, size_t maxiteration, double &chi2); /// Store the function's parameter values to a map void storeFunctionParameters(API::IFunction_sptr function, @@ -241,15 +247,15 @@ private: // double leftbound, double rightbound); /// Estimate the range of a single peak - bool estimateSinglePeakRange(BackToBackExponential_sptr peak, - BackgroundFunction_sptr background, - BackToBackExponential_sptr rightpeak, + bool estimateSinglePeakRange(Functions::BackToBackExponential_sptr peak, + Functions::BackgroundFunction_sptr background, + Functions::BackToBackExponential_sptr rightpeak, double fwhm, bool ismostright, size_t m_wsIndex, double &chi2); /// Observe peak range with hint from right peak's properties - void observePeakRange(BackToBackExponential_sptr thispeak, - BackToBackExponential_sptr rightpeak, + void observePeakRange(Functions::BackToBackExponential_sptr thispeak, + Functions::BackToBackExponential_sptr rightpeak, double refpeakshift, double &peakleftbound, double &peakrightbound); @@ -266,17 +272,19 @@ private: /// Fit background function by removing the peak properly bool doFitBackground(DataObjects::Workspace2D_sptr dataws, - BackgroundFunction_sptr background, double leftpeakbound, - double rightpeakbound); + Functions::BackgroundFunction_sptr background, + double leftpeakbound, double rightpeakbound); /// Fit single peak without background - std::pair<bool, double> doFitPeak_Old(DataObjects::Workspace2D_sptr dataws, - BackToBackExponential_sptr peak, - double guessedfwhm, bool calchi2); + std::pair<bool, double> + doFitPeak_Old(DataObjects::Workspace2D_sptr dataws, + Functions::BackToBackExponential_sptr peak, double guessedfwhm, + bool calchi2); - std::pair<bool, double> doFitPeak(DataObjects::Workspace2D_sptr dataws, - BackToBackExponential_sptr peakfunction, - double guessedfwhm); + std::pair<bool, double> + doFitPeak(DataObjects::Workspace2D_sptr dataws, + Functions::BackToBackExponential_sptr peakfunction, + double guessedfwhm); /// Fit background-removed peak by Gaussian bool doFitGaussianPeak(DataObjects::Workspace2D_sptr dataws, size_t m_wsIndex, @@ -289,7 +297,7 @@ private: /// Calcualte the value of a single peak in a given range. void calculate1PeakGroup(std::vector<size_t> peakindexes, - BackgroundFunction_sptr background); + Functions::BackgroundFunction_sptr background); /// Parse the fitting result std::string parseFitResult(API::IAlgorithm_sptr fitalg, double &chi2, @@ -312,7 +320,7 @@ private: /// Plot a single peak to output vector void plotFunction(API::IFunction_sptr peakfunction, - BackgroundFunction_sptr background, + Functions::BackgroundFunction_sptr background, API::FunctionDomain1DVector domain); //----------------------------------------------------------------------------------------------- @@ -331,8 +339,9 @@ private: // CurveFitting::BackToBackExponential_sptr> m_peaksmap; /// Sorted vector for peaks. double = d_h, vector = (HKL), peak - std::vector<std::pair< - double, std::pair<std::vector<int>, BackToBackExponential_sptr>>> + std::vector< + std::pair<double, std::pair<std::vector<int>, + Functions::BackToBackExponential_sptr>>> m_vecPeakFunctions; /// Peak fitting information @@ -415,7 +424,7 @@ inline double linearInterpolateY(double x0, double xf, double y0, double yf, /// Estimate background for a pattern in a coarse mode void estimateBackgroundCoarse(DataObjects::Workspace2D_sptr dataws, - BackgroundFunction_sptr background, + Functions::BackgroundFunction_sptr background, size_t wsindexraw, size_t wsindexbkgd, size_t wsindexpeak); @@ -434,6 +443,7 @@ size_t findMaxValue(API::MatrixWorkspace_sptr dataws, size_t wsindex, /// Get function parameter name, value and etc information in string std::string getFunctionInfo(API::IFunction_sptr function); +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/LeBailFit.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/LeBailFit.h similarity index 96% rename from Framework/CurveFitting/inc/MantidCurveFitting/LeBailFit.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/LeBailFit.h index cd60219519794d3d0e53e12965233f4402904dfb..dd92a572da7db455acf9c7552bbc80132b9fb799 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/LeBailFit.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/LeBailFit.h @@ -3,19 +3,20 @@ #include "MantidKernel/System.h" #include "MantidAPI/Algorithm.h" -#include "MantidCurveFitting/LeBailFunction.h" +#include "MantidCurveFitting/Algorithms/LeBailFunction.h" #include "MantidDataObjects/TableWorkspace.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/MatrixWorkspace_fwd.h" -#include "MantidCurveFitting/ThermalNeutronBk2BkExpConvPVoigt.h" +#include "MantidCurveFitting/Functions/ThermalNeutronBk2BkExpConvPVoigt.h" #include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" #include "MantidAPI/ITableWorkspace_fwd.h" #include "MantidAPI/IFunction.h" #include <gsl/gsl_sf_erf.h> namespace Mantid { namespace CurveFitting { +namespace Algorithms { /** LeBailFit : Algorithm to do Le Bail Fit. The workflow and architecture of this algorithm is different from LeBailFit, @@ -136,7 +137,7 @@ private: /// Examine whether the insturment parameter set to a peak can cause a valid /// set of peak profile of that peak bool examinInstrumentParameterValid( - CurveFitting::ThermalNeutronBk2BkExpConvPVoigt_sptr peak, double &d_h, + Functions::ThermalNeutronBk2BkExpConvPVoigt_sptr peak, double &d_h, double &tof_h, std::string &errmsg); /// Set parameters to each peak @@ -161,14 +162,13 @@ private: /// Group peaks together void groupPeaks(std::vector<std::vector< - std::pair<double, CurveFitting::ThermalNeutronBk2BkExpConvPVoigt_sptr>>> & + std::pair<double, Functions::ThermalNeutronBk2BkExpConvPVoigt_sptr>>> & peakgroupvec); /// Calcualate the peak heights of a group of overlapped peaks bool calculateGroupPeakIntensities( std::vector<std::pair< - double, CurveFitting::ThermalNeutronBk2BkExpConvPVoigt_sptr>> - peakgroup, + double, Functions::ThermalNeutronBk2BkExpConvPVoigt_sptr>> peakgroup, API::MatrixWorkspace_sptr dataws, size_t wsindex, bool zerobackground, std::vector<double> &allpeaksvalues); @@ -343,7 +343,7 @@ private: -------------------------------*/ /// Background function - CurveFitting::BackgroundFunction_sptr m_backgroundFunction; + Functions::BackgroundFunction_sptr m_backgroundFunction; /// Function parameters updated by fit std::map<std::string, Parameter> @@ -474,6 +474,7 @@ void convertTableWorkspaceToMaps( std::vector<std::map<std::string, std::string>> strmaps, std::vector<std::map<std::string, double>> dblmaps); +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/LeBailFunction.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/LeBailFunction.h similarity index 96% rename from Framework/CurveFitting/inc/MantidCurveFitting/LeBailFunction.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/LeBailFunction.h index 3b46dfb4dd6b4312a2783cad39b6ece8344d76e7..656bdc5066bd66ef1a1f9d93a07be215c3e1447c 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/LeBailFunction.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/LeBailFunction.h @@ -5,14 +5,17 @@ #include "MantidAPI/CompositeFunction.h" #include "MantidAPI/MatrixWorkspace_fwd.h" #include "MantidAPI/IPowderDiffPeakFunction.h" -#include "MantidCurveFitting/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" namespace Mantid { namespace CurveFitting { +namespace Algorithms { /** LeBailFunction : LeBailFunction is to calculate peak intensities in a composite * function including neutron peak and background functions. + * Note: This is not a Mantid Fit Function, just a helper + * class to the algorithm @date 2013-04-26 : original LeBailFunction is not used by any other functions. And thus @@ -174,7 +177,7 @@ private: /// Composite functions for all peaks and background API::CompositeFunction_sptr m_compsiteFunction; /// Background function - BackgroundFunction_sptr m_background; + Functions::BackgroundFunction_sptr m_background; /// Parameters std::map<std::string, double> m_functionParameters; @@ -212,6 +215,7 @@ private: typedef boost::shared_ptr<LeBailFunction> LeBailFunction_sptr; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/NormaliseByPeakArea.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/NormaliseByPeakArea.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/NormaliseByPeakArea.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/NormaliseByPeakArea.h index 56ae1b98d345e495576ea53cf04931ecaebae29d..4cfac079922ccc7d1b7579199dad4aae0f9fc293 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/NormaliseByPeakArea.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/NormaliseByPeakArea.h @@ -6,6 +6,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { /** @@ -87,6 +88,7 @@ private: API::Progress *m_progress; }; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/PawleyFit.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PawleyFit.h similarity index 87% rename from Framework/CurveFitting/inc/MantidCurveFitting/PawleyFit.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PawleyFit.h index c1c78b1044cd34e7e7a24c9d3277b1ae0b9098ba..7bddf3ec39884df67505bda3e8c5f800eda0ed2e 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/PawleyFit.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PawleyFit.h @@ -5,11 +5,12 @@ #include "MantidAPI/Algorithm.h" #include "MantidAPI/ITableWorkspace_fwd.h" #include "MantidAPI/TableRow.h" -#include "MantidCurveFitting/PawleyFunction.h" +#include "MantidCurveFitting/Functions/PawleyFunction.h" #include "MantidKernel/Unit.h" namespace Mantid { namespace CurveFitting { +namespace Algorithms { /** @class V3DFromHKLColumnExtractor @@ -76,18 +77,18 @@ public: protected: double getTransformedCenter(double d, const Kernel::Unit_sptr &unit) const; - void addHKLsToFunction(PawleyFunction_sptr &pawleyFn, + void addHKLsToFunction(Functions::PawleyFunction_sptr &pawleyFn, const API::ITableWorkspace_sptr &tableWs, const Kernel::Unit_sptr &unit, double startX, double endX) const; API::ITableWorkspace_sptr - getLatticeFromFunction(const PawleyFunction_sptr &pawleyFn) const; - API::ITableWorkspace_sptr - getPeakParametersFromFunction(const PawleyFunction_sptr &pawleyFn) const; + getLatticeFromFunction(const Functions::PawleyFunction_sptr &pawleyFn) const; + API::ITableWorkspace_sptr getPeakParametersFromFunction( + const Functions::PawleyFunction_sptr &pawleyFn) const; API::IFunction_sptr - getCompositeFunction(const PawleyFunction_sptr &pawleyFn) const; + getCompositeFunction(const Functions::PawleyFunction_sptr &pawleyFn) const; void init(); void exec(); @@ -95,6 +96,7 @@ protected: Kernel::Unit_sptr m_dUnit; }; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/PlotPeakByLogValue.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PlotPeakByLogValue.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/PlotPeakByLogValue.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PlotPeakByLogValue.h index 891f455c6e78482bd644cc1a74e8a563730eded7..0c0acc74d34543a09c5202729c92f1c91aebdfaf 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/PlotPeakByLogValue.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PlotPeakByLogValue.h @@ -9,6 +9,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { /** Takes a workspace group and fits the same spectrum in all workspaces with @@ -119,6 +120,7 @@ private: std::map<std::string, std::vector<std::string>> m_minimizerWorkspaces; }; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/RefinePowderInstrumentParameters.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters.h similarity index 94% rename from Framework/CurveFitting/inc/MantidCurveFitting/RefinePowderInstrumentParameters.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters.h index eb79e0eaf8958e42e80b0abcc7362c135d35783e..9d3eeba57a4f02f257190c767a07f51f4f6f6df0 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/RefinePowderInstrumentParameters.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters.h @@ -8,15 +8,16 @@ #include "MantidAPI/ITableWorkspace_fwd.h" #include "MantidDataObjects/TableWorkspace.h" #include "MantidDataObjects/Workspace2D.h" -#include "MantidCurveFitting/BackgroundFunction.h" -#include "MantidCurveFitting/Polynomial.h" -#include "MantidCurveFitting/BackToBackExponential.h" -#include "MantidCurveFitting/ThermalNeutronDtoTOFFunction.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/Polynomial.h" +#include "MantidCurveFitting/Functions/BackToBackExponential.h" +#include "MantidCurveFitting/Functions/ThermalNeutronDtoTOFFunction.h" #include "MantidAPI/FunctionDomain.h" #include "MantidAPI/FunctionValues.h" namespace Mantid { namespace CurveFitting { +namespace Algorithms { /** RefinePowderInstrumentParameters : Algorithm to refine instrument geometry parameters only. @@ -154,7 +155,7 @@ private: DataObjects::Workspace2D_sptr m_dataWS; /// Map for all peaks to fit individually - std::map<std::vector<int>, CurveFitting::BackToBackExponential_sptr> m_Peaks; + std::map<std::vector<int>, Functions::BackToBackExponential_sptr> m_Peaks; /// Map for all peaks' error (fitted vs. experimental): [HKL]: Chi^2 std::map<std::vector<int>, double> m_PeakErrors; @@ -187,7 +188,7 @@ private: size_t m_MaxNumberStoredParameters; /// Modelling function - CurveFitting::ThermalNeutronDtoTOFFunction_sptr m_Function; + Functions::ThermalNeutronDtoTOFFunction_sptr m_Function; }; /** Formular for linear iterpolation: X = [(xf-x0)*Y - (xf*y0-x0*yf)]/(yf-y0) @@ -206,6 +207,7 @@ inline double linearInterpolateY(double x0, double xf, double y0, double yf, return y; } +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/RefinePowderInstrumentParameters3.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters3.h similarity index 96% rename from Framework/CurveFitting/inc/MantidCurveFitting/RefinePowderInstrumentParameters3.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters3.h index 3af13a083e66cdfd186c9115c029b3ade0b6a252..56875c6c88568c1c49d67c13d29018a34627fb3b 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/RefinePowderInstrumentParameters3.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters3.h @@ -8,12 +8,13 @@ #include "MantidDataObjects/Workspace2D.h" #include "MantidDataObjects/TableWorkspace.h" -#include "MantidCurveFitting/LeBailFit.h" -#include "MantidCurveFitting/ThermalNeutronDtoTOFFunction.h" -#include "MantidCurveFitting/BoundaryConstraint.h" +#include "MantidCurveFitting/Algorithms/LeBailFit.h" +#include "MantidCurveFitting/Functions/ThermalNeutronDtoTOFFunction.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" namespace Mantid { namespace CurveFitting { +namespace Algorithms { /** RefinePowderInstrumentParameters3 : @@ -183,7 +184,7 @@ private: std::map<std::string, Parameter> m_profileParameters; /// My function for peak positions - ThermalNeutronDtoTOFFunction_sptr m_positionFunc; + Functions::ThermalNeutronDtoTOFFunction_sptr m_positionFunc; /// Damping factor double m_dampingFactor; @@ -226,6 +227,7 @@ double calculateFunctionChiSquare(const std::vector<double> &modelY, const std::vector<double> &dataY, const std::vector<double> &dataE); +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/SplineBackground.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineBackground.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/SplineBackground.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineBackground.h index 53d877e613b3670c049e7683fa8f5c8c83114ca1..9aa91c96228c809036a56bac61cf5da9e9e01a36 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/SplineBackground.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineBackground.h @@ -9,6 +9,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { /** SplineBackground @@ -61,6 +62,7 @@ private: void exec(); }; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/SplineInterpolation.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineInterpolation.h similarity index 95% rename from Framework/CurveFitting/inc/MantidCurveFitting/SplineInterpolation.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineInterpolation.h index b75259124c0cd45b1a657154a0b15d23a784cbe2..fbb797729d6c07784b7d6fa7efed53a4bfec8d2f 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/SplineInterpolation.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineInterpolation.h @@ -3,10 +3,11 @@ #include "MantidKernel/System.h" #include "MantidAPI/Algorithm.h" -#include "MantidCurveFitting/CubicSpline.h" +#include "MantidCurveFitting/Functions/CubicSpline.h" namespace Mantid { namespace CurveFitting { +namespace Algorithms { /** Takes two workspaces as input. One contain a set of points which define a spline, @@ -62,7 +63,7 @@ private: void exec(); /// CubicSpline member used to perform interpolation - boost::shared_ptr<CubicSpline> m_cspline; + boost::shared_ptr<Functions::CubicSpline> m_cspline; /// setup an output workspace using meta data from inws and taking a number of /// spectra @@ -91,6 +92,7 @@ private: int order) const; }; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/SplineSmoothing.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineSmoothing.h similarity index 96% rename from Framework/CurveFitting/inc/MantidCurveFitting/SplineSmoothing.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineSmoothing.h index 3c95fe4d0f927d458811de8854ffba1ab3ea2b70..ee17aa3dca0fb55f9ece30aee9b9fb5fc0cc8503 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/SplineSmoothing.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineSmoothing.h @@ -4,10 +4,11 @@ #include "MantidKernel/System.h" #include "MantidAPI/Algorithm.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidCurveFitting/BSpline.h" +#include "MantidCurveFitting/Functions/BSpline.h" namespace Mantid { namespace CurveFitting { +namespace Algorithms { /** Takes a 2D workspace and produces an output workspace containing a smoothed version of the data by selecting @@ -106,7 +107,7 @@ private: void performAdditionalFitting(API::MatrixWorkspace_sptr ws, const int row); /// CubicSpline member used to perform smoothing - boost::shared_ptr<BSpline> m_cspline; + boost::shared_ptr<Functions::BSpline> m_cspline; /// pointer to the input workspace API::MatrixWorkspace_sptr m_inputWorkspace; /// pointer to the input workspace converted to point data @@ -117,6 +118,7 @@ private: API::MatrixWorkspace_sptr m_outputWorkspace; }; +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/BoundaryConstraint.h b/Framework/CurveFitting/inc/MantidCurveFitting/Constraints/BoundaryConstraint.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/BoundaryConstraint.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Constraints/BoundaryConstraint.h index 2b3301fa8ea844eea8951a2583b47df936d45c83..ef798c50e1afbe87ad21d94ee77fdd088c0bfa47 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/BoundaryConstraint.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Constraints/BoundaryConstraint.h @@ -8,6 +8,7 @@ namespace Mantid { namespace CurveFitting { +namespace Constraints { //---------------------------------------------------------------------- // Forward Declaration //---------------------------------------------------------------------- @@ -142,6 +143,7 @@ private: double m_upperBound; }; +} // namespace Constraints } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/CostFuncFitting.h b/Framework/CurveFitting/inc/MantidCurveFitting/CostFunctions/CostFuncFitting.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/CostFuncFitting.h rename to Framework/CurveFitting/inc/MantidCurveFitting/CostFunctions/CostFuncFitting.h index 7bbc76c8bb8e07885624d8244efddb334a28d9d0..41cc8170906b0b63a589a46c417aa0fb4442a974 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/CostFuncFitting.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/CostFunctions/CostFuncFitting.h @@ -12,6 +12,7 @@ namespace Mantid { namespace CurveFitting { +namespace CostFunctions { /** A semi-abstract class for a cost function for fitting functions. Implement val(), deriv(), and valAndDeriv() methods in a concrete class. @@ -100,6 +101,7 @@ protected: mutable bool m_dirtyHessian; /// dirty hessian flag }; +} // namespace CostFunctions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/CostFuncIgnorePosPeaks.h b/Framework/CurveFitting/inc/MantidCurveFitting/CostFunctions/CostFuncIgnorePosPeaks.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/CostFuncIgnorePosPeaks.h rename to Framework/CurveFitting/inc/MantidCurveFitting/CostFunctions/CostFuncIgnorePosPeaks.h index ffef9d6666730776e3cc435975acfafa650cf799..2a38310ecf35d42be1781cc744f35b342ffdfbb6 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/CostFuncIgnorePosPeaks.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/CostFunctions/CostFuncIgnorePosPeaks.h @@ -8,6 +8,7 @@ namespace Mantid { namespace CurveFitting { +namespace CostFunctions { /** Cost function which allows positive peaks to be ignored and is suitable for e.g. fitting the background @@ -61,6 +62,7 @@ private: const std::string m_name; }; +} // namespace CostFunctions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/CostFuncLeastSquares.h b/Framework/CurveFitting/inc/MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h similarity index 94% rename from Framework/CurveFitting/inc/MantidCurveFitting/CostFuncLeastSquares.h rename to Framework/CurveFitting/inc/MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h index be05dae8779b0db76f5cd7ba9060ae7850cb4e99..9478d2ab3be0dd7fc4ee4b47e5d147f139741c96 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/CostFuncLeastSquares.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h @@ -4,7 +4,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/CostFuncFitting.h" +#include "MantidCurveFitting/CostFunctions/CostFuncFitting.h" #include "MantidCurveFitting/GSLMatrix.h" #include "MantidCurveFitting/GSLVector.h" @@ -13,6 +13,7 @@ namespace CurveFitting { class SeqDomain; class ParDomain; +namespace CostFunctions { /** Cost function for least squares @author Anders Markvardsen, ISIS, RAL @@ -101,12 +102,13 @@ protected: mutable double m_pushedValue; mutable GSLVector m_pushedParams; - friend class SeqDomain; - friend class ParDomain; + friend class CurveFitting::SeqDomain; + friend class CurveFitting::ParDomain; double m_factor; }; +} // namespace CostFunctions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/CostFuncRwp.h b/Framework/CurveFitting/inc/MantidCurveFitting/CostFunctions/CostFuncRwp.h similarity index 94% rename from Framework/CurveFitting/inc/MantidCurveFitting/CostFuncRwp.h rename to Framework/CurveFitting/inc/MantidCurveFitting/CostFunctions/CostFuncRwp.h index a58da7c674ccf477b2ff508921c8a133308e392d..4c5b04e99c27543c1150e0f06421ed9d57d418fb 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/CostFuncRwp.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/CostFunctions/CostFuncRwp.h @@ -4,7 +4,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/CostFuncLeastSquares.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" #include "MantidCurveFitting/GSLMatrix.h" #include "MantidCurveFitting/GSLVector.h" @@ -16,6 +16,8 @@ namespace CurveFitting { class SeqDomain; class ParDomain; +namespace CostFunctions { + /** Cost function for Rwp = (sum_i (( obs_i - cal_i )/sigma_i)**2 ) / (sum_i (obs_i/sigma_i)**2) @@ -68,6 +70,7 @@ private: double calSqrtW(API::FunctionValues_sptr values) const; }; +} // namespace CostFunctions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/CostFuncUnweightedLeastSquares.h b/Framework/CurveFitting/inc/MantidCurveFitting/CostFunctions/CostFuncUnweightedLeastSquares.h similarity index 94% rename from Framework/CurveFitting/inc/MantidCurveFitting/CostFuncUnweightedLeastSquares.h rename to Framework/CurveFitting/inc/MantidCurveFitting/CostFunctions/CostFuncUnweightedLeastSquares.h index 17fc016bb426d6e2c37c534c89f796124d3bb7a5..85f979e8876e3206414b27f2a3173d1c7f0f20bf 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/CostFuncUnweightedLeastSquares.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/CostFunctions/CostFuncUnweightedLeastSquares.h @@ -2,10 +2,11 @@ #define MANTID_CURVEFITTING_COSTFUNCUNWEIGHTEDLEASTSQUARES_H_ #include "MantidKernel/System.h" -#include "MantidCurveFitting/CostFuncLeastSquares.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" namespace Mantid { namespace CurveFitting { +namespace CostFunctions { /** @class CostFuncUnweightedLeastSquares * @@ -53,6 +54,7 @@ protected: double getResidualVariance() const; }; +} // namespace CostFunctions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/BFGS_Minimizer.h b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/BFGS_Minimizer.h similarity index 94% rename from Framework/CurveFitting/inc/MantidCurveFitting/BFGS_Minimizer.h rename to Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/BFGS_Minimizer.h index dbafd43e1a5452b7c3d9efdf9a74de52dbb6a3aa..137e3f2f08b1f4fd5f36f13a801eda26cb229bf1 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/BFGS_Minimizer.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/BFGS_Minimizer.h @@ -5,10 +5,11 @@ // Includes //---------------------------------------------------------------------- #include "MantidCurveFitting/DllConfig.h" -#include "MantidCurveFitting/DerivMinimizer.h" +#include "MantidCurveFitting/FuncMinimizers/DerivMinimizer.h" namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { /** Implementing Broyden-Fletcher-Goldfarb-Shanno (BFGS) algorithm by wrapping the IFuncMinimizer interface around the GSL implementation of this algorithm. @@ -52,6 +53,7 @@ protected: static Kernel::Logger &g_log; }; +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/DampingMinimizer.h b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/DampingMinimizer.h similarity index 92% rename from Framework/CurveFitting/inc/MantidCurveFitting/DampingMinimizer.h rename to Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/DampingMinimizer.h index 4c8be89a8f28e194246585da2ad52351ad28abb4..a09325d17a0556d65ff8fe3c8f925ccfd394c18d 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/DampingMinimizer.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/DampingMinimizer.h @@ -10,8 +10,10 @@ namespace Mantid { namespace CurveFitting { - +namespace CostFunctions { class CostFuncLeastSquares; +} // namespace CostFunctions +namespace FuncMinimisers { /** Implements a least squares minimization algorithm with damping. @@ -56,13 +58,13 @@ public: private: /// Pointer to the cost function. Must be the least squares. - boost::shared_ptr<CostFuncLeastSquares> m_leastSquares; + boost::shared_ptr<CostFunctions::CostFuncLeastSquares> m_leastSquares; /// Relative tolerance. double m_relTol; /// The damping mu parameter in the Levenberg-Marquardt method. // double m_damping; }; - +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/DerivMinimizer.h b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/DerivMinimizer.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/DerivMinimizer.h rename to Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/DerivMinimizer.h index f894626253e6974c47a3a924af6c6d0923f3c67a..2da8b40ba41cf1e55c5a3a9fe27ba0822cc7e428 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/DerivMinimizer.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/DerivMinimizer.h @@ -12,6 +12,7 @@ namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { /** A wrapper around the GSL functions implementing a minimizer using derivatives. Concrete classes must implement the getGSLMinimizerType() method. @@ -94,6 +95,7 @@ private: void initGSLMMin(); }; +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/FABADAMinimizer.h b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/FABADAMinimizer.h similarity index 93% rename from Framework/CurveFitting/inc/MantidCurveFitting/FABADAMinimizer.h rename to Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/FABADAMinimizer.h index 751e195e233676fd8a9f8be9af86c8a123189af1..c2c5b5ebfb75a997919a933003aff9b3beee60ea 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/FABADAMinimizer.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/FABADAMinimizer.h @@ -10,7 +10,16 @@ namespace Mantid { namespace CurveFitting { +namespace CostFunctions { +/// Forward Declaration class CostFuncLeastSquares; +} +} +} + +namespace Mantid { +namespace CurveFitting { +namespace FuncMinimisers { /** FABADA : TODO: DESCRIPTION @@ -56,7 +65,7 @@ private: /// Pointer to the cost function. Must be the least squares. /// Intentar encontrar una manera de sacar aqui el numero de parametros que /// no sea necesaria la cost function - boost::shared_ptr<CostFuncLeastSquares> m_leastSquares; + boost::shared_ptr<CostFunctions::CostFuncLeastSquares> m_leastSquares; /// The number of iterations done. size_t m_counter; /// @@ -88,6 +97,8 @@ private: /// Maximum number of iterations size_t m_max_iter; }; + +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/FRConjugateGradientMinimizer.h b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/FRConjugateGradientMinimizer.h similarity index 94% rename from Framework/CurveFitting/inc/MantidCurveFitting/FRConjugateGradientMinimizer.h rename to Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/FRConjugateGradientMinimizer.h index cbe9ac8d9d7f1af2789f5a2aa0a1377a517d15ed..683b3a8c3b0521ab38b2be2e29d0831b84f844a3 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/FRConjugateGradientMinimizer.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/FRConjugateGradientMinimizer.h @@ -5,10 +5,11 @@ // Includes //---------------------------------------------------------------------- #include "MantidCurveFitting/DllConfig.h" -#include "MantidCurveFitting/DerivMinimizer.h" +#include "MantidCurveFitting/FuncMinimizers/DerivMinimizer.h" namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { /** Implementing Fletcher-Reeves flavour of the conjugate gradient algorithm by wrapping the IFuncMinimizer interface around the GSL implementation of this algorithm. @@ -51,6 +52,7 @@ protected: virtual const gsl_multimin_fdfminimizer_type *getGSLMinimizerType(); }; +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/LevenbergMarquardtMDMinimizer.h b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMDMinimizer.h similarity index 93% rename from Framework/CurveFitting/inc/MantidCurveFitting/LevenbergMarquardtMDMinimizer.h rename to Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMDMinimizer.h index 5d39606ed1f013a8041f9abb79ea943fe2c3f2c1..139b82aff0229675b5193519173860073e388008 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/LevenbergMarquardtMDMinimizer.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMDMinimizer.h @@ -10,9 +10,11 @@ namespace Mantid { namespace CurveFitting { - +namespace CostFunctions { class CostFuncLeastSquares; +} // namespace CostFunctions +namespace FuncMinimisers { /** Implementing Levenberg-Marquardt algorithm. Uses the normal system calculate the corrections to the parameters. Expects a cost function that can evaluate the value, the derivatives and the hessian matrix. @@ -57,7 +59,7 @@ public: private: /// Pointer to the cost function. Must be the least squares. - boost::shared_ptr<CostFuncLeastSquares> m_leastSquares; + boost::shared_ptr<CostFunctions::CostFuncLeastSquares> m_leastSquares; /// The tau parameter in the Levenberg-Marquardt method. double m_tau; /// The damping mu parameter in the Levenberg-Marquardt method. @@ -71,6 +73,7 @@ private: std::vector<double> m_D; }; +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/LevenbergMarquardtMinimizer.h b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMinimizer.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/LevenbergMarquardtMinimizer.h rename to Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMinimizer.h index a5af8ed98820db924555df0d58ef32974ad5c18c..e2c786adb32c18a7f1b32bb90f7d2813405df4c3 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/LevenbergMarquardtMinimizer.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMinimizer.h @@ -11,6 +11,7 @@ namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { /** Implementing Levenberg-Marquardt by wrapping the IFuncMinimizer interface around the GSL implementation of this algorithm. @@ -79,6 +80,7 @@ private: double m_relError; }; +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/PRConjugateGradientMinimizer.h b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/PRConjugateGradientMinimizer.h similarity index 94% rename from Framework/CurveFitting/inc/MantidCurveFitting/PRConjugateGradientMinimizer.h rename to Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/PRConjugateGradientMinimizer.h index 80d5feaf207f6260087c35404fed96b97c6de952..99f37e47c2b7f46d35eb3fb2e36c7b0b9040e846 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/PRConjugateGradientMinimizer.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/PRConjugateGradientMinimizer.h @@ -5,10 +5,11 @@ // Includes //---------------------------------------------------------------------- #include "MantidCurveFitting/DllConfig.h" -#include "MantidCurveFitting/DerivMinimizer.h" +#include "MantidCurveFitting/FuncMinimizers/DerivMinimizer.h" namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { /** Implementing Polak-Ribiere flavour of the conjugate gradient algorithm by wrapping the IFuncMinimizer interface around the GSL implementation of this algorithm. @@ -49,6 +50,7 @@ protected: virtual const gsl_multimin_fdfminimizer_type *getGSLMinimizerType(); }; +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/SimplexMinimizer.h b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/SimplexMinimizer.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/SimplexMinimizer.h rename to Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/SimplexMinimizer.h index 5ca099ae2b281a22b1d70aecade9fea5fb4a732f..14e637fd956804ea8580a0ebd7a6cc656b9c1942 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/SimplexMinimizer.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/SimplexMinimizer.h @@ -10,6 +10,7 @@ namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { /** Implementing Simplex by wrapping the IFuncMinimizer interface around the GSL implementation of this algorithm. @@ -87,6 +88,7 @@ private: gsl_multimin_function gslContainer; }; +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/SteepestDescentMinimizer.h b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/SteepestDescentMinimizer.h similarity index 94% rename from Framework/CurveFitting/inc/MantidCurveFitting/SteepestDescentMinimizer.h rename to Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/SteepestDescentMinimizer.h index 7e319e65c8427794ee1d1ee9eefac848983f0e82..a251a9eae3b7ec077233b9ce66b96812aead1e81 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/SteepestDescentMinimizer.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/FuncMinimizers/SteepestDescentMinimizer.h @@ -5,10 +5,11 @@ // Includes //---------------------------------------------------------------------- #include "MantidCurveFitting/DllConfig.h" -#include "MantidCurveFitting/DerivMinimizer.h" +#include "MantidCurveFitting/FuncMinimizers/DerivMinimizer.h" namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { /** Implementing the steepest descent algorithm by wrapping the IFuncMinimizer interface around the GSL implementation of this algorithm. @@ -51,6 +52,7 @@ protected: static Kernel::Logger &g_log; }; +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Abragam.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Abragam.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/Abragam.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/Abragam.h index 426c69d337e2ee0bc9964f7d04a401f4aca6fcaf..0bfcade021dcda28e4a3e875a4fcb048d8bc1c48 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/Abragam.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Abragam.h @@ -12,6 +12,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide Abragam fitting function for muon scientists @@ -64,6 +65,7 @@ protected: virtual void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/BSpline.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/BSpline.h similarity index 96% rename from Framework/CurveFitting/inc/MantidCurveFitting/BSpline.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/BSpline.h index a2a59dad6354494d31ddefa4cb73735db5244192..b45302749aaad9b49e7ca5082d9f4dbe64c7afc5 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/BSpline.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/BSpline.h @@ -4,7 +4,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" #include <boost/shared_ptr.hpp> #include <gsl/gsl_errno.h> @@ -12,6 +12,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** A wrapper around GSL functions implementing a B-spline. @@ -75,6 +76,7 @@ private: m_bsplineDerivWorkspace; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/BackToBackExponential.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/BackToBackExponential.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/BackToBackExponential.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/BackToBackExponential.h index 103d8679b413e23627156e4151a577b52331b48b..83910c281dbe962f7dcfabaad1d381c90f90ffcf 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/BackToBackExponential.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/BackToBackExponential.h @@ -8,6 +8,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide BackToBackExponential peak shape function interface to IPeakFunction. That is the function: @@ -87,6 +88,7 @@ protected: typedef boost::shared_ptr<BackToBackExponential> BackToBackExponential_sptr; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/BackgroundFunction.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/BackgroundFunction.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/BackgroundFunction.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/BackgroundFunction.h index 46f9f2f25c32946dd9b517e80a2f24b58f67ecff..fc373fc1331bff0219d8f2d477db154ef6c9c97b 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/BackgroundFunction.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/BackgroundFunction.h @@ -13,6 +13,7 @@ class Parser; namespace Mantid { namespace CurveFitting { +namespace Functions { /** A background function. Functions that are intended to be used as backgrounds should inherit from this class to enable certain features. E.g. querying @@ -74,6 +75,7 @@ public: typedef boost::shared_ptr<BackgroundFunction> BackgroundFunction_sptr; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/BivariateNormal.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/BivariateNormal.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/BivariateNormal.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/BivariateNormal.h index 5404e669d06fa3f1f9909bf8350dfd6d46f01481..59fd0db97239581ebaa53d4a3a430e70b2536390 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/BivariateNormal.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/BivariateNormal.h @@ -4,15 +4,16 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/UserFunction.h" +#include "MantidCurveFitting/Functions/UserFunction.h" #include "MantidAPI/IFunctionMW.h" #include "MantidAPI/IFunction1D.h" #include "MantidAPI/ParamFunction.h" #include "MantidKernel/cow_ptr.h" -#include "MantidCurveFitting/BoundaryConstraint.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" namespace Mantid { namespace CurveFitting { +namespace Functions { /** * Provide peak shape function interface a Peak shape on one time slice of a @@ -176,6 +177,7 @@ protected: expCoeffxy; //<Other common values used in calculating values and //<derivatives }; +} // namespace Functions } } diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Bk2BkExpConvPV.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Bk2BkExpConvPV.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/Bk2BkExpConvPV.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/Bk2BkExpConvPV.h index f7511c3810a8eda9e2cdd4fda957c04f9d581253..be7ed03f4ad95d00407a788af69241ca74bbe386 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/Bk2BkExpConvPV.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Bk2BkExpConvPV.h @@ -8,6 +8,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Bk2BkExpConvPV : Peak profile as tback-to-back exponential convoluted with pseudo-Voigt. @@ -92,6 +93,7 @@ private: typedef boost::shared_ptr<Bk2BkExpConvPV> Bk2BkExpConvPV_sptr; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ChebfunBase.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ChebfunBase.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/ChebfunBase.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ChebfunBase.h index 37eafa709eb65aa33d783d805ca48f5ed320a53d..92dd84b3ddf1deda279dc2435e33092d12c71afa 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ChebfunBase.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ChebfunBase.h @@ -1,8 +1,8 @@ #ifndef MANTID_CURVEFITTING_CHEBFUNBASE_H #define MANTID_CURVEFITTING_CHEBFUNBASE_H -#include "DllConfig.h" -#include "GSLMatrix.h" +#include "MantidCurveFitting/DllConfig.h" +#include "MantidCurveFitting/GSLMatrix.h" #include <boost/shared_ptr.hpp> #include <vector> @@ -15,6 +15,7 @@ class IFunction; } namespace CurveFitting { +namespace Functions { /// Type of the approximated function typedef std::function<double(double)> ChebfunFunctionType; @@ -213,6 +214,7 @@ boost::shared_ptr<ChebfunBase> ChebfunBase::bestFitAnyTolerance( return ChebfunBase_sptr(); } +} // namespace Functions } // CurveFitting } // Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Chebyshev.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Chebyshev.h similarity index 95% rename from Framework/CurveFitting/inc/MantidCurveFitting/Chebyshev.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/Chebyshev.h index 100a00197e1a218cf4d7016a7c45d16e38430f72..0b4209636d5883ea7112815e5e7d0e2369da0144 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/Chebyshev.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Chebyshev.h @@ -4,11 +4,12 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" #include <valarray> namespace Mantid { namespace CurveFitting { +namespace Functions { /** Implements Chebyshev polynomial expansion. @@ -72,6 +73,7 @@ private: typedef boost::shared_ptr<Chebyshev> Chebyshev_sptr; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ComptonPeakProfile.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ComptonPeakProfile.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/ComptonPeakProfile.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ComptonPeakProfile.h index 22d9514f8f6749ea7e5a5d9d6153613673be7005..a3a8d2dfb1853fa9ef4fa58a698c0702fc809f7d 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ComptonPeakProfile.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ComptonPeakProfile.h @@ -8,6 +8,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** This implements a resolution function for fitting a single mass in a compton scattering spectrum. The @@ -81,6 +82,7 @@ private: double m_hwhmLorentz; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ComptonProfile.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ComptonProfile.h similarity index 94% rename from Framework/CurveFitting/inc/MantidCurveFitting/ComptonProfile.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ComptonProfile.h index c533219940a0172149577792504bae5ea9c88330..58f9e65ab1ff2aaad49b01da28636e012b8158dd 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ComptonProfile.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ComptonProfile.h @@ -2,18 +2,21 @@ #define MANTID_CURVEFITTING_COMPTONPROFILE_H_ #include "MantidCurveFitting/DllConfig.h" -#include "MantidCurveFitting/VesuvioResolution.h" +#include "MantidCurveFitting/Functions/VesuvioResolution.h" #include "MantidAPI/IPeakFunction.h" #include "MantidAPI/MatrixWorkspace_fwd.h" #include "MantidAPI/ParamFunction.h" namespace Mantid { namespace CurveFitting { +namespace Algorithms { //--------------------------------------------------------------------------- // Forward declarations //--------------------------------------------------------------------------- struct DetectorParams; +} +namespace Functions { /** This class serves as a base-class for ComptonProfile type functions. @see GaussianComptonProfile, GramCharlierComptonProfile @@ -59,13 +62,14 @@ public: /// Pre-calculate the Y-space values with specified resolution parameters void cacheYSpaceValues(const std::vector<double> &tseconds, - const bool isHistogram, const DetectorParams &detpar, + const bool isHistogram, + const Algorithms::DetectorParams &detpar, const ResolutionParams &respar); /// Pre-calculate the Y-space values virtual void cacheYSpaceValues(const std::vector<double> &tseconds, const bool isHistogram, - const DetectorParams &detpar); + const Algorithms::DetectorParams &detpar); /// Turn off logger void disableLogging() { m_log.setEnabled(false); } ///@} @@ -133,6 +137,7 @@ protected: ///@} }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ComptonScatteringCountRate.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ComptonScatteringCountRate.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/ComptonScatteringCountRate.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ComptonScatteringCountRate.h index 1b3c42cfd9cf84997e60c8a747676fe23bfe542f..a34ee169656166cbcd099378c4ca6a7214c248cc 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ComptonScatteringCountRate.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ComptonScatteringCountRate.h @@ -2,12 +2,13 @@ #define MANTID_CURVEFITTING_COMPTONSCATTERINGCOUNTRATE_H_ #include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/ComptonProfile.h" +#include "MantidCurveFitting/Functions/ComptonProfile.h" #include "MantidKernel/ClassMacros.h" #include "MantidKernel/Matrix.h" namespace Mantid { namespace CurveFitting { +namespace Functions { /** Implements a specialized function that encapsulates the combination of @@ -92,6 +93,7 @@ private: std::vector<double> m_dataErrorRatio; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Convolution.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Convolution.h similarity index 99% rename from Framework/CurveFitting/inc/MantidCurveFitting/Convolution.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/Convolution.h index 499d426d8bbcccc70ac5f21e8e8c68a572c651b9..b1e5791269a82fcdc5fbef17b757ab8b22b24a85 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/Convolution.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Convolution.h @@ -11,6 +11,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Performes convolution of two functions. @@ -151,6 +152,7 @@ private: mutable std::vector<double> m_resolution; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/CubicSpline.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/CubicSpline.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/CubicSpline.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/CubicSpline.h index 0ad0f34ccc00de17b46e5f28653f5e07a34d4ccc..3dbaa2c4dc2cbae2236fac99393de0856a271c1d 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/CubicSpline.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/CubicSpline.h @@ -4,7 +4,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" #include <boost/scoped_array.hpp> #include <gsl/gsl_errno.h> @@ -13,6 +13,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** A wrapper around GSL functions implementing cubic spline interpolation. @@ -117,6 +118,7 @@ private: typedef boost::shared_ptr<CubicSpline> CubicSpline_sptr; typedef const boost::shared_ptr<CubicSpline> CubicSpline_const_sptr; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/DeltaFunction.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/DeltaFunction.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/DeltaFunction.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/DeltaFunction.h index 1f0b682f088492ab13765438ac147bfd7f53aecb..9f98b9cafbcffd02ce3fa9281323ae05918054c5 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/DeltaFunction.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/DeltaFunction.h @@ -10,6 +10,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Delta function. Makes sence in Convolution only. @@ -78,6 +79,7 @@ protected: } }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/DiffRotDiscreteCircle.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/DiffRotDiscreteCircle.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/DiffRotDiscreteCircle.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/DiffRotDiscreteCircle.h index 8b1c38f194acfe816aa5e15788132eb720c86413..0157a963217c46f6cc209ebef4c09d2e9e195b5d 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/DiffRotDiscreteCircle.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/DiffRotDiscreteCircle.h @@ -10,6 +10,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** @author Jose Borreguero, NScD @date December 02 2013 @@ -125,6 +126,7 @@ private: boost::shared_ptr<InelasticDiffRotDiscreteCircle> m_inelastic; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/DiffSphere.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/DiffSphere.h similarity index 99% rename from Framework/CurveFitting/inc/MantidCurveFitting/DiffSphere.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/DiffSphere.h index 7db3b4e805332c1280f709fc4f2da9b277e82a66..b7eeb4b57e017333dd7ac416b11752691c7693f2 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/DiffSphere.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/DiffSphere.h @@ -14,6 +14,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** @author Jose Borreguero, NScD @date 11/14/2011 @@ -172,6 +173,7 @@ private: m_inelastic; // inelastic intensity of the DiffSphere structure factor }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/DynamicKuboToyabe.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/DynamicKuboToyabe.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/DynamicKuboToyabe.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/DynamicKuboToyabe.h index 7b24a53770f71e84d18c280f07f50843b2764987..9865dd6b967b0f8104c7d4c385ac8fe4a9265fb9 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/DynamicKuboToyabe.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/DynamicKuboToyabe.h @@ -11,6 +11,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide Dynamic Kubo Toyabe function interface to IFunction1D for muon scientists. @@ -87,6 +88,7 @@ private: double m_minEps, m_maxEps; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/EndErfc.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/EndErfc.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/EndErfc.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/EndErfc.h index 490ab7dba3c2a0c120b0f083e356e2437ebca4f7..1519739ca40c79dbaa5616264e928a7407fed088 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/EndErfc.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/EndErfc.h @@ -9,6 +9,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide Errore function erfc()for calibrating the end of a tube. @@ -57,6 +58,7 @@ protected: virtual void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ExpDecay.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ExpDecay.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/ExpDecay.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ExpDecay.h index 60ccb117530cc9b2da7b49617b9eb27e012aa7e6..45732a7d1124801438877998d3b7e6b93e8df03a 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ExpDecay.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ExpDecay.h @@ -9,6 +9,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide exponential decay function: h*exp(-(x-c)/t) @@ -56,6 +57,7 @@ protected: const size_t nData); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ExpDecayMuon.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ExpDecayMuon.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/ExpDecayMuon.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ExpDecayMuon.h index b12e4e30a1224464520fb86898ae1df7dda76562..7a42e6a9aaf3058eda3bf8a9ab9877feb10150c4 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ExpDecayMuon.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ExpDecayMuon.h @@ -9,6 +9,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide exponential decay function: h*exp(-lambda.x) @@ -59,6 +60,7 @@ protected: virtual void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ExpDecayOsc.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ExpDecayOsc.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/ExpDecayOsc.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ExpDecayOsc.h index 9f896924044cb2578fda36b0e6a93e150e60d760..07d3ad4d03a47a66ed337c142a60e9cf21012683 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ExpDecayOsc.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ExpDecayOsc.h @@ -9,6 +9,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide oscillating exponential decay function: h*exp(-lambda.x)*(cos(2pi*f*x+phi)) @@ -61,6 +62,7 @@ protected: virtual void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/FlatBackground.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/FlatBackground.h similarity index 93% rename from Framework/CurveFitting/inc/MantidCurveFitting/FlatBackground.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/FlatBackground.h index 1de1aba3bd9ee7a9c61ee04dd1151e4e9381fa3b..cb1add3374562c945fe024946ec3079fdb382742 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/FlatBackground.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/FlatBackground.h @@ -1,11 +1,12 @@ #ifndef MANTID_CURVEFITTING_FLATBACKGROUND_H_ #define MANTID_CURVEFITTING_FLATBACKGROUND_H_ -#include "MantidCurveFitting/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" #include "MantidKernel/System.h" namespace Mantid { namespace CurveFitting { +namespace Functions { /** FlatBackground : TODO: DESCRIPTION @@ -47,6 +48,7 @@ private: void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/FullprofPolynomial.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/FullprofPolynomial.h similarity index 96% rename from Framework/CurveFitting/inc/MantidCurveFitting/FullprofPolynomial.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/FullprofPolynomial.h index 114437e08a4a6e6aee0465c1d92866fd9822b91e..8a5f52c3953d950f5b62cf7a0b981b4f84c2e7ad 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/FullprofPolynomial.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/FullprofPolynomial.h @@ -2,10 +2,11 @@ #define MANTID_CURVEFITTING_FULLPROFPOLYNOMIAL_H_ #include "MantidKernel/System.h" -#include "MantidCurveFitting/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" namespace Mantid { namespace CurveFitting { +namespace Functions { /** FullprofPolynomial : Polynomial background defined in Fullprof @@ -75,6 +76,7 @@ private: typedef boost::shared_ptr<FullprofPolynomial> FullprofPolynomial_sptr; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/GausDecay.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/GausDecay.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/GausDecay.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/GausDecay.h index ac17d7122184a9f52292a9c78d746ff4437fde4f..053d65163a9f60a0e561be628579b227d1035913 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/GausDecay.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/GausDecay.h @@ -9,6 +9,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide gaussian decay function: A*exp(-(sigma.x)^2)) @@ -59,6 +60,7 @@ protected: virtual void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/GausOsc.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/GausOsc.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/GausOsc.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/GausOsc.h index a80e5df087e7bc3e06fb5704268eab30bfc6731d..b54279a77ada4db8cfb55bbf53a1d1fe9b482049 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/GausOsc.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/GausOsc.h @@ -9,6 +9,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide gaussian decay function: A*exp(-(sigma.x)^2)) @@ -59,6 +60,7 @@ protected: virtual void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Gaussian.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Gaussian.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/Gaussian.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/Gaussian.h index da8d2b4914c7e01e33c5ef83cd1e7e2944a40f29..c56f8618d54c3feca5e7bbc3937ae6456b771c58 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/Gaussian.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Gaussian.h @@ -9,6 +9,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide gaussian peak shape function interface to IPeakFunction. I.e. the function: Height*exp(-0.5*((x-PeakCentre)/Sigma)^2). @@ -79,6 +80,7 @@ protected: virtual void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/GaussianComptonProfile.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/GaussianComptonProfile.h similarity index 96% rename from Framework/CurveFitting/inc/MantidCurveFitting/GaussianComptonProfile.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/GaussianComptonProfile.h index 4030a64cac4039f4307b3b07fd9ed045985d06dc..60c6ffe5f6266ade00fef84d9785ab66e12588ea 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/GaussianComptonProfile.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/GaussianComptonProfile.h @@ -2,10 +2,11 @@ #define MANTID_CURVEFITTING_GAUSSIANCOMPTONPROFILE_H_ #include "MantidCurveFitting/DllConfig.h" -#include "MantidCurveFitting/ComptonProfile.h" +#include "MantidCurveFitting/Functions/ComptonProfile.h" namespace Mantid { namespace CurveFitting { +namespace Functions { /** Implements a function to calculate the Compton profile of a nucleus using a @@ -64,6 +65,7 @@ private: const double amplitude) const; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/GramCharlierComptonProfile.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/GramCharlierComptonProfile.h similarity index 94% rename from Framework/CurveFitting/inc/MantidCurveFitting/GramCharlierComptonProfile.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/GramCharlierComptonProfile.h index bc8e1b4fd01d4ac647b5c2afd8812084adbd850b..14cbb33b841dfca79fb96e8da8705c1d25da2012 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/GramCharlierComptonProfile.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/GramCharlierComptonProfile.h @@ -2,10 +2,11 @@ #define MANTID_CURVEFITTING_GRAMCHARLIERCOMPTONPROFILE_H_ #include "MantidCurveFitting/DllConfig.h" -#include "MantidCurveFitting/ComptonProfile.h" +#include "MantidCurveFitting/Functions/ComptonProfile.h" namespace Mantid { namespace CurveFitting { +namespace Functions { /** Implements a function to calculate the Compton profile of a nucleus using a @@ -75,7 +76,8 @@ private: size_t wi, double startX, double endX); /// Pre-calculate the Y-space values void cacheYSpaceValues(const std::vector<double> &tseconds, - const bool isHistogram, const DetectorParams &detpar); + const bool isHistogram, + const Algorithms::DetectorParams &detpar); /// The active hermite coefficents std::vector<short> m_hermite; @@ -95,6 +97,7 @@ private: bool m_userFixedFSE; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/IkedaCarpenterPV.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/IkedaCarpenterPV.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/IkedaCarpenterPV.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/IkedaCarpenterPV.h index ecb2f57bc9166e4d8232bfdd9bc90ef2208496eb..bc8cc43f3e66a697a9e61977a4b8c037736306bb 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/IkedaCarpenterPV.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/IkedaCarpenterPV.h @@ -9,6 +9,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide Ikeda-Carpenter-pseudo-Voigt peak shape function interface to IPeakFunction. See wiki @@ -96,6 +97,7 @@ private: double &eta) const; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/LinearBackground.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/LinearBackground.h similarity index 95% rename from Framework/CurveFitting/inc/MantidCurveFitting/LinearBackground.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/LinearBackground.h index 3919c08b16233c0625e92ec5e7496e8280a9ce86..e8ba0edd4443cd9bf9277159cf528a001dd62fb9 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/LinearBackground.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/LinearBackground.h @@ -4,10 +4,11 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide linear function interface to IFunction. I.e. the function: A0+A1*x. @@ -61,6 +62,7 @@ protected: virtual void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/LogNormal.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/LogNormal.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/LogNormal.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/LogNormal.h index 6816b53db955c049ce4ae2e8d83230f99e43eb47..90273384e73961fbff8ab34e0fea5f01e0bb5adf 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/LogNormal.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/LogNormal.h @@ -9,6 +9,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide Log Normal function: h*exp(-(log(x)-t)^2 / (2*b^2) )/x @@ -54,6 +55,7 @@ protected: const size_t nData); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Lorentzian.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Lorentzian.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/Lorentzian.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/Lorentzian.h index b6b816d9d1fbd762e8d01d271bfa37ed305b06e3..132408dee74bf59f15c532d86ac917d00b2d32da 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/Lorentzian.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Lorentzian.h @@ -8,6 +8,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide lorentzian peak shape function interface to IPeakFunction. I.e. the function: \f$ \frac{A}{\pi}( \Gamma/2((x-PeakCentre)^2+(\Gamma/2)^2) @@ -69,6 +70,7 @@ protected: virtual void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Lorentzian1D.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Lorentzian1D.h similarity index 95% rename from Framework/CurveFitting/inc/MantidCurveFitting/Lorentzian1D.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/Lorentzian1D.h index 66fb65e18476ca6e7ad6bb53eb9cd19e8b8b7bc0..6211f2d053b617abcf03f5084cc31ee7966ec979 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/Lorentzian1D.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Lorentzian1D.h @@ -4,10 +4,11 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/Fit1D.h" +#include "MantidCurveFitting/Algorithms/Fit1D.h" namespace Mantid { namespace CurveFitting { +namespace Functions { /** Deprecation notice: instead of using this algorithm please use the Fit algorithm where the Function parameter of this algorithm is used @@ -50,7 +51,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. File change history is stored at: <https://github.com/mantidproject/mantid> Code Documentation is available at: <http://doxygen.mantidproject.org> */ -class DLLExport Lorentzian1D : public Fit1D { +class DLLExport Lorentzian1D : public Algorithms::Fit1D { public: /// Destructor virtual ~Lorentzian1D(){}; @@ -80,6 +81,7 @@ private: const double *xValues, const size_t nData); }; +} // namespace Functions } // namespace Algorithm } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/MuonFInteraction.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/MuonFInteraction.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/MuonFInteraction.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/MuonFInteraction.h index 508ea9d2279cf4635302d25f6a90425c4bb7a156..f474266b5605ce12a87c96a79e392d5410ac75dc 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/MuonFInteraction.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/MuonFInteraction.h @@ -9,6 +9,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide Muon F Interaction fitting function @@ -57,6 +58,7 @@ protected: virtual void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/NeutronBk2BkExpConvPVoigt.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/NeutronBk2BkExpConvPVoigt.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/NeutronBk2BkExpConvPVoigt.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/NeutronBk2BkExpConvPVoigt.h index 93933ea8871a7327b1b0ceee740fc07591c25cc5..7ddc907fdabb05231397f386d2bff50dab3e7d54 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/NeutronBk2BkExpConvPVoigt.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/NeutronBk2BkExpConvPVoigt.h @@ -6,6 +6,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** NeutronBk2BkExpConvPVoigt : Back-to-back exponential function convoluted with pseudo-voigt @@ -128,6 +129,7 @@ private: mutable double m_N; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/PawleyFunction.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/PawleyFunction.h similarity index 99% rename from Framework/CurveFitting/inc/MantidCurveFitting/PawleyFunction.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/PawleyFunction.h index a9e3214fd494c581db6725e82b1b4c62cd5ca66d..a56373b31075af5abccf29966b2c68b123f557a1 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/PawleyFunction.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/PawleyFunction.h @@ -13,6 +13,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** @class PawleyParameterFunction @@ -173,6 +174,7 @@ protected: typedef boost::shared_ptr<PawleyFunction> PawleyFunction_sptr; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/PeakParameterFunction.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/PeakParameterFunction.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/PeakParameterFunction.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/PeakParameterFunction.h index 22621031ef1242d457f5d30003eb08aeec097836..e0d34610fbf5f7bd3b948b584c0691614dc68058 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/PeakParameterFunction.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/PeakParameterFunction.h @@ -8,6 +8,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** PeakParameterFunction : @@ -62,6 +63,7 @@ protected: API::IPeakFunction_sptr m_peakFunction; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Polynomial.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Polynomial.h similarity index 95% rename from Framework/CurveFitting/inc/MantidCurveFitting/Polynomial.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/Polynomial.h index 94cfa29b53e326a109883a9d444bfd66183698fc..fcb944652788d7d91509eb50452853cf582f13ea 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/Polynomial.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Polynomial.h @@ -2,11 +2,12 @@ #define MANTID_CURVEFITTING_POLYNOMIAL_H_ #include "MantidKernel/System.h" -#include "MantidCurveFitting/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { /** Polynomial : N-th polynomial background function. @@ -73,6 +74,7 @@ private: typedef boost::shared_ptr<Polynomial> Polynomial_sptr; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ProcessBackground.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ProcessBackground.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/ProcessBackground.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ProcessBackground.h index 3b9c09886fefe4018ceac089427213d4f95f24a2..e5b8e1dd27201ed2404d63fb88e4992e592dcea6 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ProcessBackground.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ProcessBackground.h @@ -3,7 +3,7 @@ #include "MantidKernel/System.h" #include "MantidAPI/Algorithm.h" -#include "MantidCurveFitting/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidDataObjects/TableWorkspace.h" #include "MantidKernel/ArrayProperty.h" @@ -13,6 +13,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { class RemovePeaks { public: @@ -141,6 +142,7 @@ private: void fitBackgroundFunction(std::string bkgdfunctiontype); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ProductFunction.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ProductFunction.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/ProductFunction.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ProductFunction.h index 83ca1c3239d57117d8822d75ee2ed884e5f1adc7..cef21a282322ecfe74c8250d2db5ac344b69a72f 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ProductFunction.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ProductFunction.h @@ -10,6 +10,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Allow user to create a fit function which is the product of two or more other fit functions. @@ -62,6 +63,7 @@ protected: virtual void init(){}; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ProductLinearExp.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ProductLinearExp.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/ProductLinearExp.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ProductLinearExp.h index b49be7f9b1dfbc992b354277ca51ef82959c2d33..2e54ad0d69c2253c092fe8008ab60508fb24dd51 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ProductLinearExp.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ProductLinearExp.h @@ -7,6 +7,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** ProductLinearExp : Function that evauates the product of an exponential and linear function. @@ -49,6 +50,7 @@ protected: const size_t nData) const; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ProductQuadraticExp.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ProductQuadraticExp.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/ProductQuadraticExp.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ProductQuadraticExp.h index 257482ed18ecc744075382591895133bad6913d8..ac047a16d192d738949c4ad1af2bc1485e970f4f 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ProductQuadraticExp.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ProductQuadraticExp.h @@ -7,6 +7,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** ProductQuadraticExp : Function that evauates the product of an exponential and quadratic function. @@ -49,6 +50,7 @@ protected: const size_t nData) const; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/PseudoVoigt.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/PseudoVoigt.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/PseudoVoigt.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/PseudoVoigt.h index 6c970c4b17c2b18b4f6ae5c6e8780428e36b3164..53a3f331d2bd26ced8e7eca0260cb55ed230009f 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/PseudoVoigt.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/PseudoVoigt.h @@ -6,6 +6,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** PseudoVoigt @@ -71,6 +72,7 @@ protected: void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Quadratic.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Quadratic.h similarity index 95% rename from Framework/CurveFitting/inc/MantidCurveFitting/Quadratic.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/Quadratic.h index 0e1e6f08553667bcb36cc7f9f922da615d2d5cbd..41eb1812f44767733cd18005bc0c6b2a9147a8c1 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/Quadratic.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Quadratic.h @@ -4,10 +4,11 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide quadratic function interface to IFunction. I.e. the function: A0+A1*x+A2*x^2 @@ -60,6 +61,7 @@ protected: virtual void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ReflectivityMulf.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ReflectivityMulf.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/ReflectivityMulf.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ReflectivityMulf.h index 0ccf77e23f6d2639013ba29334afbcaa7794d71c..b1c6fb99b986b55055e602d648be001b8ab03b76 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ReflectivityMulf.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ReflectivityMulf.h @@ -10,6 +10,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** ReflectivityMulf : Calculate the ReflectivityMulf from a simple layer model. @@ -59,6 +60,7 @@ private: typedef boost::shared_ptr<ReflectivityMulf> ReflectivityMulf_sptr; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Resolution.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Resolution.h similarity index 96% rename from Framework/CurveFitting/inc/MantidCurveFitting/Resolution.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/Resolution.h index fd7237629dd03edb73858578fc5fa931afc2ab55..bfb2f49bc06f0f68c352223eca731199f136b809 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/Resolution.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Resolution.h @@ -4,10 +4,11 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/TabulatedFunction.h" +#include "MantidCurveFitting/Functions/TabulatedFunction.h" namespace Mantid { namespace CurveFitting { +namespace Functions { /** Resolution function. It is implemented in terms of TabulatedFunction but doesn't inherit form it. @@ -67,6 +68,7 @@ private: TabulatedFunction m_fun; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/SimpleChebfun.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/SimpleChebfun.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/SimpleChebfun.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/SimpleChebfun.h index 5da29131ea0bbc5f41d67d8e7ef924dde747f6a2..e05bfbcd112c0541933de0e440b03217a2e6d67c 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/SimpleChebfun.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/SimpleChebfun.h @@ -2,10 +2,11 @@ #define MANTID_CURVEFITTING_SIMPLECHEBFUN_H_ #include "MantidKernel/System.h" -#include "MantidCurveFitting/ChebfunBase.h" +#include "MantidCurveFitting/Functions/ChebfunBase.h" namespace Mantid { namespace CurveFitting { +namespace Functions { /** SimpleChebfun : approximates smooth 1d functions and provides methods to manipulate them. @@ -94,6 +95,7 @@ private: bool m_badFit; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/StaticKuboToyabe.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/StaticKuboToyabe.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/StaticKuboToyabe.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/StaticKuboToyabe.h index b959aa5ecf47e81356d1188da75598381b6fe764..b6beff8a18a795ef96eb64ab6cc427a7f5336910 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/StaticKuboToyabe.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/StaticKuboToyabe.h @@ -9,6 +9,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide static Kubo Toyabe fitting function @@ -57,6 +58,7 @@ protected: virtual void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/StaticKuboToyabeTimesExpDecay.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/StaticKuboToyabeTimesExpDecay.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/StaticKuboToyabeTimesExpDecay.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/StaticKuboToyabeTimesExpDecay.h index 143973e3c742846f82b86e3963db8aa2314f8173..0ceebf0aa2ecec4259996780b29d09d45a8dc251 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/StaticKuboToyabeTimesExpDecay.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/StaticKuboToyabeTimesExpDecay.h @@ -6,6 +6,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** StaticKuboToyabeTimesExpDecay fitting function @@ -51,6 +52,7 @@ protected: virtual void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/StaticKuboToyabeTimesGausDecay.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/StaticKuboToyabeTimesGausDecay.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/StaticKuboToyabeTimesGausDecay.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/StaticKuboToyabeTimesGausDecay.h index 0b4d63300dcb6c717fbc06db0986a5ace4c70838..6f9370af94cadbeff4d3fa1b48fd050e2d6901d3 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/StaticKuboToyabeTimesGausDecay.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/StaticKuboToyabeTimesGausDecay.h @@ -6,6 +6,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** StaticKuboToyabeTimesGausDecay fitting function. @@ -51,6 +52,7 @@ protected: virtual void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/StretchExp.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/StretchExp.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/StretchExp.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/StretchExp.h index 7f61f545b008744c2e7a173de94ea3ad86e473cc..43677513e130aeb2df4d37dcc7753d5f06b417f3 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/StretchExp.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/StretchExp.h @@ -9,6 +9,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide Streteched Exponential fitting function: h*exp(-(x/t)^b ) @@ -55,6 +56,7 @@ protected: const size_t nData); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/StretchExpMuon.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/StretchExpMuon.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/StretchExpMuon.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/StretchExpMuon.h index 433965a34874a6ce489df33ee7a2d1317bd2711b..4816212d1a4a8840e2538c9e249c829f96f39e43 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/StretchExpMuon.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/StretchExpMuon.h @@ -8,6 +8,7 @@ #include "MantidAPI/IFunction1D.h" namespace Mantid { namespace CurveFitting { +namespace Functions { /** Provide stetch exponential function for Muon scientists @@ -52,6 +53,7 @@ protected: virtual void init(); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/TabulatedFunction.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/TabulatedFunction.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/TabulatedFunction.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/TabulatedFunction.h index 2fe8d9ae5d15127e1e7f3e2687d4dfe2a3b0fcc9..a4e4812efbeb5b7ca51bc888c8f604f1af4503da 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/TabulatedFunction.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/TabulatedFunction.h @@ -19,6 +19,7 @@ class MatrixWorkspace; } namespace CurveFitting { +namespace Functions { /** A function which takes its values from a file or a workspace. The values atr @@ -124,6 +125,7 @@ private: mutable bool m_setupFinished; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ThermalNeutronBk2BkExpAlpha.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpAlpha.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/ThermalNeutronBk2BkExpAlpha.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpAlpha.h index a8b2aee386cb1ee75b40be77b19b5085fd089919..5ee5b6e50b500c5dfa5e7a0c9b76294195214587 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ThermalNeutronBk2BkExpAlpha.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpAlpha.h @@ -7,6 +7,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** ThermalNeutronBk2BkExpAlpha : Function to calculate Alpha of Bk2Bk Exponential function from @@ -71,6 +72,7 @@ private: typedef boost::shared_ptr<ThermalNeutronBk2BkExpAlpha> ThermalNeutronBk2BkExpAlpha_sptr; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ThermalNeutronBk2BkExpBeta.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpBeta.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/ThermalNeutronBk2BkExpBeta.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpBeta.h index f88f29f5001131df88a7b0030389647467642562..31e1d7efd7975e0257a0fab7d6865f37a9225fa5 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ThermalNeutronBk2BkExpBeta.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpBeta.h @@ -7,6 +7,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** ThermalNeutronBk2BkExpBETA : Function to calculate Beta of Bk2Bk Exponential function from @@ -71,6 +72,7 @@ private: typedef boost::shared_ptr<ThermalNeutronBk2BkExpBeta> ThermalNeutronBk2BkExpBeta_sptr; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ThermalNeutronBk2BkExpConvPVoigt.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpConvPVoigt.h similarity index 99% rename from Framework/CurveFitting/inc/MantidCurveFitting/ThermalNeutronBk2BkExpConvPVoigt.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpConvPVoigt.h index e36a938cb9b8f0b12cad3306ff2d0a6112d73ba2..267f3ab7819f647cbdf717fe422fcc9a1315e0a1 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ThermalNeutronBk2BkExpConvPVoigt.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpConvPVoigt.h @@ -8,6 +8,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** ThermalNeutronBk2BkExpConvPVoigt : Back-to-back exponential convoluted with pseudo Voigt for thermal neutron @@ -196,6 +197,7 @@ inline double calCubicDSpace(double a, int h, int k, int l) /// Integral for Gamma // std::complex<double> E1X(std::complex<double> z); +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ThermalNeutronBk2BkExpSigma.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpSigma.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/ThermalNeutronBk2BkExpSigma.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpSigma.h index c4534681d1b727069a4d88299628dae824655d1e..412ea0d44021b1cacac2edfdc884cf7a9b61e604 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ThermalNeutronBk2BkExpSigma.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ThermalNeutronBk2BkExpSigma.h @@ -7,6 +7,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** ThermalNeutronBk2BkExpSIGMA : Function to calculate Sigma of Bk2Bk Exponential function from @@ -70,6 +71,7 @@ private: typedef boost::shared_ptr<ThermalNeutronBk2BkExpSigma> ThermalNeutronBk2BkExpSigma_sptr; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ThermalNeutronDtoTOFFunction.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ThermalNeutronDtoTOFFunction.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/ThermalNeutronDtoTOFFunction.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/ThermalNeutronDtoTOFFunction.h index 0fef3abbf8c1175838de6a4166e51d3bc25ea1f2..8d0c4a2ed846b5bcd0b3636a287ceb33606ef2a5 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ThermalNeutronDtoTOFFunction.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/ThermalNeutronDtoTOFFunction.h @@ -14,6 +14,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** ThermalNeutronDtoTOFFunction : TODO: DESCRIPTION @@ -98,6 +99,7 @@ inline double calThermalNeutronTOF(double dh, double dtt1, double dtt1t, return tof_h; } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/UserFunction.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/UserFunction.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/UserFunction.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/UserFunction.h index ca9c41550d92e490dab933ad1a5f55767af82f58..cd6e468fee151c7a2463f3e30729b01f0a54bcb3 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/UserFunction.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/UserFunction.h @@ -14,6 +14,7 @@ class Parser; namespace Mantid { namespace CurveFitting { +namespace Functions { /** A user defined function. @@ -95,6 +96,7 @@ private: static double *AddVariable(const char *varName, void *pufun); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/UserFunction1D.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/UserFunction1D.h similarity index 97% rename from Framework/CurveFitting/inc/MantidCurveFitting/UserFunction1D.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/UserFunction1D.h index 1c27d36a0a15df1a6b5f40eae0db12c9faefbef0..fefde7f6549aa277abcce768ea6d1d2a5f6d7a43 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/UserFunction1D.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/UserFunction1D.h @@ -4,12 +4,13 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/Fit1D.h" +#include "MantidCurveFitting/Algorithms/Fit1D.h" #include "MantidGeometry/muParser_Silent.h" #include <boost/shared_array.hpp> namespace Mantid { namespace CurveFitting { +namespace Functions { /** Deprecation notice: instead of using this algorithm please use the Fit algorithm where the Function parameter of this algorithm is used @@ -70,7 +71,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. File change history is stored at: <https://github.com/mantidproject/mantid> Code Documentation is available at: <http://doxygen.mantidproject.org> */ -class UserFunction1D : public Fit1D { +class UserFunction1D : public Algorithms::Fit1D { public: /// Constructor UserFunction1D() @@ -121,6 +122,7 @@ private: boost::shared_array<double> m_tmp1; }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/VesuvioResolution.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/VesuvioResolution.h similarity index 96% rename from Framework/CurveFitting/inc/MantidCurveFitting/VesuvioResolution.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/VesuvioResolution.h index 02f62fb838f4303c62d893c1d86b769f6dedb560..18576a11ca4f5a8cbb79c07d2bd034470e901cd3 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/VesuvioResolution.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/VesuvioResolution.h @@ -8,10 +8,13 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { //--------------------------------------------------------------------------- // Forward declarations //--------------------------------------------------------------------------- struct DetectorParams; +} +namespace Functions { //--------------------------------------------------------------------------- /// Simple data structure to store resolution parameter values @@ -81,7 +84,7 @@ public: setMatrixWorkspace(boost::shared_ptr<const API::MatrixWorkspace> workspace, size_t wi, double startX, double endX); /// Pre-calculate the resolution components values - void cacheResolutionComponents(const DetectorParams &detpar, + void cacheResolutionComponents(const Algorithms::DetectorParams &detpar, const ResolutionParams &respar); /// Turn off logger void disableLogging() { m_log.setEnabled(false); } @@ -118,6 +121,7 @@ private: ///@} }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Voigt.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Voigt.h similarity index 98% rename from Framework/CurveFitting/inc/MantidCurveFitting/Voigt.h rename to Framework/CurveFitting/inc/MantidCurveFitting/Functions/Voigt.h index 192bcb12d02833b47a6b2e1defb1d34e1f80c41f..780771239cdf771d7854ff0918fab2af18cf2ab4 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/Voigt.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/Voigt.h @@ -6,6 +6,7 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { /** Implements an analytical approximation to the Voigt function. @@ -66,6 +67,7 @@ private: void setFwhm(const double value); }; +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/GSLFunctions.h b/Framework/CurveFitting/inc/MantidCurveFitting/GSLFunctions.h index 259599a19010f6dc76c6e803aef871e5763c01d4..bde389d04c861786ba31393bf215c6d456523b21 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/GSLFunctions.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/GSLFunctions.h @@ -7,7 +7,7 @@ #include <gsl/gsl_blas.h> #include "MantidAPI/IFunction.h" #include "MantidAPI/ICostFunction.h" -#include "MantidCurveFitting/CostFuncLeastSquares.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" namespace Mantid { namespace CurveFitting { @@ -85,7 +85,7 @@ public: /// Structure to contain least squares data and used by GSL struct GSL_FitData { /// Constructor - GSL_FitData(boost::shared_ptr<CostFuncLeastSquares> cf); + GSL_FitData(boost::shared_ptr<CostFunctions::CostFuncLeastSquares> cf); /// Destructor ~GSL_FitData(); /// number of points to be fitted (size of X, Y and sqrtWeightData arrays) @@ -94,14 +94,14 @@ struct GSL_FitData { size_t p; /// Pointer to the function API::IFunction_sptr function; - boost::shared_ptr<CostFuncLeastSquares> costFunction; + boost::shared_ptr<CostFunctions::CostFuncLeastSquares> costFunction; /// Initial function parameters gsl_vector *initFuncParams; /// Jacobi matrix interface JacobianImpl1 J; // this is presently commented out in the implementation - // gsl_matrix *holdCalculatedJacobian; ///< cache of the claculated jacobian + // gsl_matrix *holdCalculatedJacobian; ///< cache of the calculated jacobian }; int gsl_f(const gsl_vector *x, void *params, gsl_vector *f); diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/LatticeFunction.h b/Framework/CurveFitting/inc/MantidCurveFitting/LatticeFunction.h index dda2fcf1d8358f0e60023c855a4eb5080a758447..3c8886b0b648fe6475b0312904f2987fe694581e 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/LatticeFunction.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/LatticeFunction.h @@ -4,7 +4,7 @@ #include "MantidKernel/System.h" #include "MantidAPI/ILatticeFunction.h" -#include "MantidCurveFitting/PawleyFunction.h" +#include "MantidCurveFitting/Functions/PawleyFunction.h" namespace Mantid { namespace CurveFitting { @@ -61,7 +61,7 @@ protected: void beforeDecoratedFunctionSet(const API::IFunction_sptr &fn); private: - PawleyParameterFunction_sptr m_cellParameters; + Functions::PawleyParameterFunction_sptr m_cellParameters; }; typedef boost::shared_ptr<LatticeFunction> LatticeFunction_sptr; diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/MultiBG.h b/Framework/CurveFitting/inc/MantidCurveFitting/MultiBG.h deleted file mode 100644 index 506d7e7f047a3cc6dccba054d32ed6ec93e21e94..0000000000000000000000000000000000000000 --- a/Framework/CurveFitting/inc/MantidCurveFitting/MultiBG.h +++ /dev/null @@ -1,110 +0,0 @@ -#ifndef MANTID_CURVEFITTING_MULTIBG_H_ -#define MANTID_CURVEFITTING_MULTIBG_H_ - -//---------------------------------------------------------------------- -// Includes -//---------------------------------------------------------------------- -#include "MantidAPI/CompositeFunction.h" -#include "MantidAPI/IFunctionMW.h" -#include "MantidAPI/MatrixWorkspace_fwd.h" - -#ifdef _WIN32 -#pragma warning(disable : 4250) -#endif - -namespace Mantid { - -namespace API { -class WorkspaceGroup; -} - -namespace CurveFitting { -/** A composite function. - - @author Roman Tolchenov, Tessella Support Services plc - @date 19/08/2011 - - Copyright © 2009 ISIS Rutherford Appleton Laboratory, NScD Oak Ridge - National Laboratory & European Spallation Source - - This file is part of Mantid. - - Mantid is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - Mantid is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - - File change history is stored at: <https://github.com/mantidproject/mantid>. - Code Documentation is available at: <http://doxygen.mantidproject.org> -*/ -class DLLExport MultiBG : public API::CompositeFunction { -public: - /// Default constructor - MultiBG() : API::CompositeFunction() {} - /// Destructor - virtual ~MultiBG(); - - /* Overriden methods */ - - using CompositeFunction::setWorkspace; - virtual void setWorkspace(boost::shared_ptr<const API::Workspace>) {} - /// Set the workspace - void setWorkspace(boost::shared_ptr<const API::Workspace> ws, bool copyData); - void setSlicing(const std::string &slicing); - virtual boost::shared_ptr<const API::Workspace> getWorkspace() const { - return m_spectra[0].first; - } - /// Returns the function's name - std::string name() const { return "MultiBG"; } - /// Returns the function's category - virtual const std::string category() const { return "Background"; } - - virtual void function(API::FunctionDomain &) const {} - - /// Returns the size of the fitted data (number of double values returned by - /// the function) - virtual size_t dataSize() const { return m_data.size(); } - /// Returns a reference to the fitted data. These data are taken from the - /// workspace set by setWorkspace() method. - virtual const double *getData() const { return &m_data[0]; } - virtual const double *getWeights() const { return &m_weights[0]; } - /// Function you want to fit to. - void function(double *out) const; - /// Derivatives of function with respect to active parameters - void functionDeriv(API::Jacobian *out); - void functionDeriv(API::FunctionDomain &domain, API::Jacobian &jacobian) { - API::IFunction::functionDeriv(domain, jacobian); - } - -protected: - boost::shared_ptr<API::WorkspaceGroup> createCalculatedWorkspaceGroup( - const std::vector<double> &sd = std::vector<double>()); - - boost::shared_ptr<const API::MatrixWorkspace> m_workspace; - - /// to collect different workspaces found in child functions - std::vector<std::pair<boost::shared_ptr<const API::MatrixWorkspace>, size_t>> - m_spectra; - /// to store function indices to workspaces: m_funIndex[i] gives vector of - /// indexes of m_spectra for function i - std::vector<std::vector<size_t>> m_funIndex; - /// the data vector which is a composition of all fitted spectra - std::vector<double> m_data; - /// the vector of fitting weights, one for each value in m_data - std::vector<double> m_weights; - /// offsets of particular workspaces in the m_data and m_weights arrays - std::vector<size_t> m_offset; -}; - -} // namespace CurveFitting -} // namespace Mantid - -#endif /*MANTID_CURVEFITTING_MULTIBG_H_*/ diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/ParDomain.h b/Framework/CurveFitting/inc/MantidCurveFitting/ParDomain.h index bda5ec1da7cc7a89ee1a20eeb634b7eca1a483a7..c695e7c06bdb07dae06f7888c0898215e8318819 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/ParDomain.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/ParDomain.h @@ -43,12 +43,13 @@ public: virtual void getDomainAndValues(size_t i, API::FunctionDomain_sptr &domain, API::FunctionValues_sptr &values) const; /// Calculate the value of a least squares cost function - virtual void leastSquaresVal(const CostFuncLeastSquares &leastSquares); + virtual void + leastSquaresVal(const CostFunctions::CostFuncLeastSquares &leastSquares); /// Calculate the value, first and second derivatives of a least squares cost /// function - virtual void - leastSquaresValDerivHessian(const CostFuncLeastSquares &leastSquares, - bool evalDeriv, bool evalHessian); + virtual void leastSquaresValDerivHessian( + const CostFunctions::CostFuncLeastSquares &leastSquares, bool evalDeriv, + bool evalHessian); }; } // namespace CurveFitting diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/SeqDomain.h b/Framework/CurveFitting/inc/MantidCurveFitting/SeqDomain.h index 5e451efdf3324c3b6d47fd4e9a35f32f9550336f..7066b276f113f0883a8e7dc08376f473dfead9ec 100644 --- a/Framework/CurveFitting/inc/MantidCurveFitting/SeqDomain.h +++ b/Framework/CurveFitting/inc/MantidCurveFitting/SeqDomain.h @@ -8,8 +8,8 @@ #include "MantidAPI/FunctionDomain.h" #include "MantidAPI/FunctionValues.h" #include "MantidAPI/IDomainCreator.h" -#include "MantidCurveFitting/CostFuncLeastSquares.h" -#include "MantidCurveFitting/CostFuncRwp.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" +#include "MantidCurveFitting/CostFunctions/CostFuncRwp.h" #include <stdexcept> #include <vector> @@ -57,16 +57,17 @@ public: /// Add new domain creator void addCreator(API::IDomainCreator_sptr creator); /// Calculate the value of a least squares cost function - virtual void leastSquaresVal(const CostFuncLeastSquares &leastSquares); + virtual void + leastSquaresVal(const CostFunctions::CostFuncLeastSquares &leastSquares); /// Calculate the value, first and second derivatives of a least squares cost /// function - virtual void - leastSquaresValDerivHessian(const CostFuncLeastSquares &leastSquares, - bool evalDeriv, bool evalHessian); + virtual void leastSquaresValDerivHessian( + const CostFunctions::CostFuncLeastSquares &leastSquares, bool evalDeriv, + bool evalHessian); /// Calculate the value of a Rwp cost function - void rwpVal(const CostFuncRwp &rwp); + void rwpVal(const CostFunctions::CostFuncRwp &rwp); /// Calculate the value, first and second derivatives of a RWP cost function - void rwpValDerivHessian(const CostFuncRwp &rwp, bool evalDeriv, + void rwpValDerivHessian(const CostFunctions::CostFuncRwp &rwp, bool evalDeriv, bool evalHessian); /// Create an instance of SeqDomain in one of two forms: either SeqDomain for diff --git a/Framework/CurveFitting/src/CalculateChiSquared.cpp b/Framework/CurveFitting/src/Algorithms/CalculateChiSquared.cpp similarity index 98% rename from Framework/CurveFitting/src/CalculateChiSquared.cpp rename to Framework/CurveFitting/src/Algorithms/CalculateChiSquared.cpp index 0f65e00127775c1c352363f77ef26f0476887d81..17104a9e4b23dd8223a42f8cc5647bc397ee9d10 100644 --- a/Framework/CurveFitting/src/CalculateChiSquared.cpp +++ b/Framework/CurveFitting/src/Algorithms/CalculateChiSquared.cpp @@ -1,16 +1,18 @@ -#include "MantidCurveFitting/CalculateChiSquared.h" +#include "MantidCurveFitting/Algorithms/CalculateChiSquared.h" #include "MantidAPI/ITableWorkspace.h" #include "MantidAPI/WorkspaceFactory.h" #include "MantidAPI/Column.h" #include "MantidAPI/TableRow.h" -#include "MantidCurveFitting/ChebfunBase.h" +#include "MantidCurveFitting/Functions/ChebfunBase.h" #include "MantidCurveFitting/GSLJacobian.h" namespace Mantid { namespace CurveFitting { +namespace Algorithms { -using namespace Mantid::Kernel; -using namespace Mantid::API; +using namespace Kernel; +using namespace API; +using namespace Functions; // Register the algorithm into the AlgorithmFactory DECLARE_ALGORITHM(CalculateChiSquared) @@ -651,5 +653,6 @@ void CalculateChiSquared::refixParameters() { } } +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/CalculateGammaBackground.cpp b/Framework/CurveFitting/src/Algorithms/CalculateGammaBackground.cpp similarity index 95% rename from Framework/CurveFitting/src/CalculateGammaBackground.cpp rename to Framework/CurveFitting/src/Algorithms/CalculateGammaBackground.cpp index d4dfeb2503d74d64dcf47b5655128fc95fc281c3..a6281e12576ea6a561de2189adf28c38e98ac59f 100644 --- a/Framework/CurveFitting/src/CalculateGammaBackground.cpp +++ b/Framework/CurveFitting/src/Algorithms/CalculateGammaBackground.cpp @@ -1,7 +1,7 @@ -#include "MantidCurveFitting/CalculateGammaBackground.h" -#include "MantidCurveFitting/ComptonProfile.h" -#include "MantidCurveFitting/ConvertToYSpace.h" -#include "MantidCurveFitting/VesuvioResolution.h" +#include "MantidCurveFitting/Algorithms/CalculateGammaBackground.h" +#include "MantidCurveFitting/Algorithms/ConvertToYSpace.h" +#include "MantidCurveFitting/Functions/ComptonProfile.h" +#include "MantidCurveFitting/Functions/VesuvioResolution.h" #include "MantidAPI/CompositeFunction.h" #include "MantidAPI/FunctionProperty.h" @@ -16,8 +16,12 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { using namespace API; using namespace Kernel; +using namespace CurveFitting; +using namespace CurveFitting::Functions; +using namespace BOOST_FUNCTION_STD_NS; using namespace std; // Subscription @@ -227,8 +231,9 @@ void CalculateGammaBackground::calculateSpectrumFromDetector( // -- Setup detector & resolution parameters -- DetectorParams detPar = ConvertToYSpace::getDetectorParameters(m_inputWS, inputIndex); - ResolutionParams detRes = - VesuvioResolution::getResolutionParameters(m_inputWS, inputIndex); + CurveFitting::Functions::ResolutionParams detRes = + CurveFitting::Functions::VesuvioResolution::getResolutionParameters( + m_inputWS, inputIndex); // Compute a time of flight spectrum convolved with a Voigt resolution // function for each mass @@ -254,8 +259,9 @@ void CalculateGammaBackground::calculateBackgroundFromFoils( // -- Setup detector & resolution parameters -- DetectorParams detPar = ConvertToYSpace::getDetectorParameters(m_inputWS, inputIndex); - ResolutionParams detRes = - VesuvioResolution::getResolutionParameters(m_inputWS, inputIndex); + CurveFitting::Functions::ResolutionParams detRes = + CurveFitting::Functions::VesuvioResolution::getResolutionParameters( + m_inputWS, inputIndex); const size_t nxvalues = m_backgroundWS->blocksize(); std::vector<double> foilSpectrum(nxvalues); @@ -320,7 +326,7 @@ void CalculateGammaBackground::calculateBackgroundSingleFoil( // Structs to hold geometry & resolution information DetectorParams foilPar = detPar; // copy foilPar.t0 = 0.0; - ResolutionParams foilRes = detRes; // copy + CurveFitting::Functions::ResolutionParams foilRes = detRes; // copy foilRes.dEnGauss = foilInfo.gaussWidth; foilRes.dEnLorentz = foilInfo.lorentzWidth; @@ -388,8 +394,9 @@ void CalculateGammaBackground::calculateTofSpectrum( FunctionFactory::Instance().createInitialized(m_profileFunction)); for (size_t i = 0; i < m_npeaks; ++i) { - auto profile = boost::dynamic_pointer_cast<ComptonProfile>( - profileFunction->getFunction(i)); + auto profile = + boost::dynamic_pointer_cast<CurveFitting::Functions::ComptonProfile>( + profileFunction->getFunction(i)); profile->disableLogging(); profile->setUpForFit(); profile->cacheYSpaceValues(tseconds, false, detpar, respar); @@ -422,8 +429,9 @@ void CalculateGammaBackground::retrieveInputs() { boost::dynamic_pointer_cast<CompositeFunction>(profileFunction)) { m_npeaks = composite->nFunctions(); for (size_t i = 0; i < m_npeaks; ++i) { - auto single = boost::dynamic_pointer_cast<ComptonProfile>( - composite->getFunction(i)); + auto single = + boost::dynamic_pointer_cast<CurveFitting::Functions::ComptonProfile>( + composite->getFunction(i)); if (!single) { throw std::invalid_argument("Invalid function. Composite must contain " "only ComptonProfile functions"); @@ -595,5 +603,6 @@ std::pair<double, double> CalculateGammaBackground::calculateThetaRange( return std::make_pair(theta - dtheta, theta + dtheta); } +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/CalculateMSVesuvio.cpp b/Framework/CurveFitting/src/Algorithms/CalculateMSVesuvio.cpp similarity index 96% rename from Framework/CurveFitting/src/CalculateMSVesuvio.cpp rename to Framework/CurveFitting/src/Algorithms/CalculateMSVesuvio.cpp index 1b9aea72dde7c708db9ec294cd7861830a9b50c6..c34d6b66b7caf69f416a7fb04af6a6f341c9a881 100644 --- a/Framework/CurveFitting/src/CalculateMSVesuvio.cpp +++ b/Framework/CurveFitting/src/Algorithms/CalculateMSVesuvio.cpp @@ -1,11 +1,11 @@ //----------------------------------------------------------------------------- // Includes //----------------------------------------------------------------------------- -#include "MantidCurveFitting/CalculateMSVesuvio.h" +#include "MantidCurveFitting/Algorithms/CalculateMSVesuvio.h" // Use helpers for storing detector/resolution parameters -#include "MantidCurveFitting/ConvertToYSpace.h" +#include "MantidCurveFitting/Algorithms/ConvertToYSpace.h" #include "MantidCurveFitting/MSVesuvioHelpers.h" -#include "MantidCurveFitting/VesuvioResolution.h" +#include "MantidCurveFitting/Functions/VesuvioResolution.h" #include "MantidAPI/SampleShapeValidator.h" #include "MantidAPI/WorkspaceValidators.h" @@ -25,8 +25,11 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { using namespace API; using namespace Kernel; +using namespace CurveFitting; +using namespace CurveFitting::Functions; using Geometry::Link; using Geometry::ParameterMap; using Geometry::Track; @@ -137,7 +140,8 @@ void CalculateMSVesuvio::exec() { MatrixWorkspace_sptr multsc = WorkspaceFactory::Instance().create(m_inputWS); // Initialize random number generator - m_randgen = new MSVesuvioHelper::RandomNumberGenerator(getProperty("Seed")); + m_randgen = new CurveFitting::MSVesuvioHelper::RandomNumberGenerator( + getProperty("Seed")); // Setup progress const size_t nhist = m_inputWS->getNumberHistograms(); @@ -319,11 +323,11 @@ void CalculateMSVesuvio::calculateMS(const size_t wsIndex, DetectorParams detpar = ConvertToYSpace::getDetectorParameters(m_inputWS, wsIndex); detpar.t0 *= 1e6; // t0 in microseconds here - ResolutionParams respar = - VesuvioResolution::getResolutionParameters(m_inputWS, wsIndex); + Functions::ResolutionParams respar = + Functions::VesuvioResolution::getResolutionParameters(m_inputWS, wsIndex); // Final counts averaged over all simulations - MSVesuvioHelper::SimulationAggregator accumulator(m_nruns); + CurveFitting::MSVesuvioHelper::SimulationAggregator accumulator(m_nruns); for (size_t i = 0; i < m_nruns; ++i) { m_progress->report("MS calculation: idx=" + boost::lexical_cast<std::string>(wsIndex) + ", run=" + @@ -338,7 +342,8 @@ void CalculateMSVesuvio::calculateMS(const size_t wsIndex, } // Average over all runs and assign to output workspaces - MSVesuvioHelper::SimulationWithErrors avgCounts = accumulator.average(); + CurveFitting::MSVesuvioHelper::SimulationWithErrors avgCounts = + accumulator.average(); avgCounts.normalise(); assignToOutput(avgCounts, totalsc, multsc); } @@ -354,7 +359,7 @@ void CalculateMSVesuvio::calculateMS(const size_t wsIndex, */ void CalculateMSVesuvio::simulate( const DetectorParams &detpar, const ResolutionParams &respar, - MSVesuvioHelper::Simulation &simulCounts) const { + CurveFitting::MSVesuvioHelper::Simulation &simulCounts) const { for (size_t i = 0; i < m_nevents; ++i) { calculateCounts(detpar, respar, simulCounts); } @@ -369,7 +374,7 @@ void CalculateMSVesuvio::simulate( * scattering contribution */ void CalculateMSVesuvio::assignToOutput( - const MSVesuvioHelper::SimulationWithErrors &avgCounts, + const CurveFitting::MSVesuvioHelper::SimulationWithErrors &avgCounts, API::ISpectrum &totalsc, API::ISpectrum &multsc) const { // Sum up all multiple scatter events auto &msscatY = multsc.dataY(); @@ -404,7 +409,7 @@ void CalculateMSVesuvio::assignToOutput( */ double CalculateMSVesuvio::calculateCounts( const DetectorParams &detpar, const ResolutionParams &respar, - MSVesuvioHelper::Simulation &simulation) const { + CurveFitting::MSVesuvioHelper::Simulation &simulation) const { double weightSum(0.0); // moderator coord in lab frame @@ -785,13 +790,14 @@ double CalculateMSVesuvio::generateE1(const double angle, const double e1nom, const double randv = m_randgen->flat(); if (e1nom < 5000.0) { if (angle > 90.0) - return MSVesuvioHelper::finalEnergyAuDD(randv); + return CurveFitting::MSVesuvioHelper::finalEnergyAuDD(randv); else - return MSVesuvioHelper::finalEnergyAuYap(randv); + return CurveFitting::MSVesuvioHelper::finalEnergyAuYap(randv); } else { - return MSVesuvioHelper::finalEnergyUranium(randv); + return CurveFitting::MSVesuvioHelper::finalEnergyUranium(randv); } } } // namespace Algorithms +} // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ConvertToYSpace.cpp b/Framework/CurveFitting/src/Algorithms/ConvertToYSpace.cpp similarity index 98% rename from Framework/CurveFitting/src/ConvertToYSpace.cpp rename to Framework/CurveFitting/src/Algorithms/ConvertToYSpace.cpp index e7c099c6f5d44cb04c4c958dc3115f5c79776928..1124ff0504e39bf341dc6e2d45f958ec507eeda8 100644 --- a/Framework/CurveFitting/src/ConvertToYSpace.cpp +++ b/Framework/CurveFitting/src/Algorithms/ConvertToYSpace.cpp @@ -1,4 +1,4 @@ -#include "MantidCurveFitting/ConvertToYSpace.h" +#include "MantidCurveFitting/Algorithms/ConvertToYSpace.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidGeometry/Instrument/DetectorGroup.h" @@ -8,6 +8,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { // Register the algorithm into the AlgorithmFactory DECLARE_ALGORITHM(ConvertToYSpace) @@ -299,5 +300,6 @@ void ConvertToYSpace::cacheInstrumentGeometry() { m_samplePos = sample->getPos(); } +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ConvolveWorkspaces.cpp b/Framework/CurveFitting/src/Algorithms/ConvolveWorkspaces.cpp similarity index 92% rename from Framework/CurveFitting/src/ConvolveWorkspaces.cpp rename to Framework/CurveFitting/src/Algorithms/ConvolveWorkspaces.cpp index c8bc4034617b52b04c993398b9051a33012d4ca1..860d527201a1ef0c1501070ca0fb35f7b680b631 100644 --- a/Framework/CurveFitting/src/ConvolveWorkspaces.cpp +++ b/Framework/CurveFitting/src/Algorithms/ConvolveWorkspaces.cpp @@ -1,9 +1,9 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/ConvolveWorkspaces.h" -#include "MantidCurveFitting/Convolution.h" -#include "MantidCurveFitting/TabulatedFunction.h" +#include "MantidCurveFitting/Algorithms/ConvolveWorkspaces.h" +#include "MantidCurveFitting/Functions/Convolution.h" +#include "MantidCurveFitting/Functions/TabulatedFunction.h" #include <sstream> #include <gsl/gsl_errno.h> #include <gsl/gsl_fft_real.h> @@ -11,6 +11,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { // Register the algorithm into the AlgorithmFactory DECLARE_ALGORITHM(ConvolveWorkspaces) @@ -25,6 +26,7 @@ using namespace Kernel; using namespace API; using namespace DataObjects; using namespace Geometry; +using namespace Functions; void ConvolveWorkspaces::init() { declareProperty( @@ -96,4 +98,5 @@ void ConvolveWorkspaces::exec() { } } // namespace Algorithms +} // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/EstimatePeakErrors.cpp b/Framework/CurveFitting/src/Algorithms/EstimatePeakErrors.cpp similarity index 97% rename from Framework/CurveFitting/src/EstimatePeakErrors.cpp rename to Framework/CurveFitting/src/Algorithms/EstimatePeakErrors.cpp index f9f0903ea3654a519c2d13286627ca44b6275f50..3990ef3fbabf9c2d809877eac4c9ca43622d12b0 100644 --- a/Framework/CurveFitting/src/EstimatePeakErrors.cpp +++ b/Framework/CurveFitting/src/Algorithms/EstimatePeakErrors.cpp @@ -1,6 +1,6 @@ -#include "MantidCurveFitting/EstimatePeakErrors.h" +#include "MantidCurveFitting/Algorithms/EstimatePeakErrors.h" #include "MantidCurveFitting/GSLMatrix.h" -#include "MantidCurveFitting/PeakParameterFunction.h" +#include "MantidCurveFitting/Functions/PeakParameterFunction.h" #include "MantidAPI/CompositeFunction.h" #include "MantidAPI/FunctionProperty.h" @@ -12,6 +12,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { using namespace API; using namespace Kernel; using namespace std; @@ -164,5 +165,6 @@ void EstimatePeakErrors::exec() { setProperty("OutputWorkspace", results); } +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/EvaluateFunction.cpp b/Framework/CurveFitting/src/Algorithms/EvaluateFunction.cpp similarity index 94% rename from Framework/CurveFitting/src/EvaluateFunction.cpp rename to Framework/CurveFitting/src/Algorithms/EvaluateFunction.cpp index d5c5e9e7099de52de4bcca1fd6203f2ed22cc061..9e072bd88875299e3e259ac3f7b024717c91d27e 100644 --- a/Framework/CurveFitting/src/EvaluateFunction.cpp +++ b/Framework/CurveFitting/src/Algorithms/EvaluateFunction.cpp @@ -1,7 +1,8 @@ -#include "MantidCurveFitting/EvaluateFunction.h" +#include "MantidCurveFitting/Algorithms/EvaluateFunction.h" namespace Mantid { namespace CurveFitting { +namespace Algorithms { using namespace Mantid::Kernel; using namespace Mantid::API; @@ -55,5 +56,6 @@ void EvaluateFunction::execConcrete() { setProperty("OutputWorkspace", outputWS); } +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/Fit.cpp b/Framework/CurveFitting/src/Algorithms/Fit.cpp similarity index 97% rename from Framework/CurveFitting/src/Fit.cpp rename to Framework/CurveFitting/src/Algorithms/Fit.cpp index c37debe935c3074b8cce0224b27cff1c2ae5a4a2..b10b66a8a918dca32327fc32d80a04a0136e399e 100644 --- a/Framework/CurveFitting/src/Fit.cpp +++ b/Framework/CurveFitting/src/Algorithms/Fit.cpp @@ -1,8 +1,8 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/Fit.h" -#include "MantidCurveFitting/CostFuncFitting.h" +#include "MantidCurveFitting/Algorithms/Fit.h" +#include "MantidCurveFitting/CostFunctions/CostFuncFitting.h" #include "MantidAPI/CostFunctionFactory.h" #include "MantidAPI/FuncMinimizerFactory.h" @@ -18,6 +18,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { // Register the class into the algorithm factory DECLARE_ALGORITHM(Fit) @@ -63,7 +64,7 @@ void Fit::initConcrete() { API::CostFunctionFactory::Instance().getKeys(); // select only CostFuncFitting variety for (auto it = costFuncOptions.begin(); it != costFuncOptions.end(); ++it) { - auto costFunc = boost::dynamic_pointer_cast<CostFuncFitting>( + auto costFunc = boost::dynamic_pointer_cast<CostFunctions::CostFuncFitting>( API::CostFunctionFactory::Instance().create(*it)); if (!costFunc) { *it = ""; @@ -152,8 +153,8 @@ void Fit::execConcrete() { const size_t maxIterations = static_cast<size_t>(intMaxIterations); // get the cost function which must be a CostFuncFitting - boost::shared_ptr<CostFuncFitting> costFunc = - boost::dynamic_pointer_cast<CostFuncFitting>( + boost::shared_ptr<CostFunctions::CostFuncFitting> costFunc = + boost::dynamic_pointer_cast<CostFunctions::CostFuncFitting>( API::CostFunctionFactory::Instance().create( getPropertyValue("CostFunction"))); @@ -362,5 +363,6 @@ void Fit::execConcrete() { progress(1.0); } -} // namespace Algorithm +} // namespace Algorithms +} // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/Fit1D.cpp b/Framework/CurveFitting/src/Algorithms/Fit1D.cpp similarity index 99% rename from Framework/CurveFitting/src/Fit1D.cpp rename to Framework/CurveFitting/src/Algorithms/Fit1D.cpp index d6db35e872a292e107331397fa707c1a23b3e5bd..3f3db8ff573c4ba24d9da29b069138b950125401 100644 --- a/Framework/CurveFitting/src/Fit1D.cpp +++ b/Framework/CurveFitting/src/Algorithms/Fit1D.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/Fit1D.h" +#include "MantidCurveFitting/Algorithms/Fit1D.h" #include <sstream> #include <numeric> #include <cmath> @@ -20,6 +20,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { using namespace Kernel; using API::WorkspaceProperty; @@ -776,5 +777,6 @@ FitData::FitData(Fit1D *fit, const std::string &fixed) J.m_map[i] = -1; } -} // namespace Algorithm +} // namespace Algorithms +} // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/FitPowderDiffPeaks.cpp b/Framework/CurveFitting/src/Algorithms/FitPowderDiffPeaks.cpp similarity index 99% rename from Framework/CurveFitting/src/FitPowderDiffPeaks.cpp rename to Framework/CurveFitting/src/Algorithms/FitPowderDiffPeaks.cpp index e24430a6d96c91e439b21d0938cc7e25b45582ab..b69b92fdba2ae6bc11c07eaadbd5e5c46d75924d 100644 --- a/Framework/CurveFitting/src/FitPowderDiffPeaks.cpp +++ b/Framework/CurveFitting/src/Algorithms/FitPowderDiffPeaks.cpp @@ -1,4 +1,4 @@ -#include "MantidCurveFitting/FitPowderDiffPeaks.h" +#include "MantidCurveFitting/Algorithms/FitPowderDiffPeaks.h" #include "MantidKernel/ListValidator.h" #include "MantidKernel/ArrayProperty.h" @@ -16,16 +16,16 @@ #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/TextAxis.h" -#include "MantidCurveFitting/Fit.h" -#include "MantidCurveFitting/BackgroundFunction.h" -#include "MantidCurveFitting/ThermalNeutronDtoTOFFunction.h" -#include "MantidCurveFitting/Polynomial.h" -#include "MantidCurveFitting/BoundaryConstraint.h" -#include "MantidCurveFitting/Gaussian.h" -#include "MantidCurveFitting/BackToBackExponential.h" -#include "MantidCurveFitting/ThermalNeutronBk2BkExpConvPVoigt.h" -#include "MantidCurveFitting/DampingMinimizer.h" -#include "MantidCurveFitting/CostFuncFitting.h" +#include "MantidCurveFitting/Algorithms/Fit.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/ThermalNeutronDtoTOFFunction.h" +#include "MantidCurveFitting/Functions/Polynomial.h" +#include "MantidCurveFitting/Functions/Gaussian.h" +#include "MantidCurveFitting/Functions/BackToBackExponential.h" +#include "MantidCurveFitting/Functions/ThermalNeutronBk2BkExpConvPVoigt.h" +#include "MantidCurveFitting/FuncMinimizers/DampingMinimizer.h" +#include "MantidCurveFitting/CostFunctions/CostFuncFitting.h" #include <boost/algorithm/string.hpp> #include <boost/algorithm/string/split.hpp> @@ -50,11 +50,14 @@ using namespace Mantid; using namespace Mantid::API; using namespace Mantid::Kernel; using namespace Mantid::DataObjects; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::Constraints; using namespace std; namespace Mantid { namespace CurveFitting { +namespace Algorithms { DECLARE_ALGORITHM(FitPowderDiffPeaks) @@ -590,7 +593,7 @@ void FitPowderDiffPeaks::observePeakRange(BackToBackExponential_sptr thispeak, * Assumption: * 1. peak must be in the range of [input peak center - leftdev, + rightdev] * - * Prerequisit: + * Prerequisites: * ---- NONE! * * Algorithms: @@ -1853,10 +1856,9 @@ bool FitPowderDiffPeaks::doFitGaussianPeak(DataObjects::Workspace2D_sptr dataws, // b) Constraint double centerleftend = in_center - leftfwhm * 0.5; double centerrightend = in_center + rightfwhm * 0.5; - CurveFitting::BoundaryConstraint *centerbound = - new CurveFitting::BoundaryConstraint(gaussianpeak.get(), "PeakCentre", - centerleftend, centerrightend, - false); + Constraints::BoundaryConstraint *centerbound = + new Constraints::BoundaryConstraint(gaussianpeak.get(), "PeakCentre", + centerleftend, centerrightend, false); gaussianpeak->addConstraint(centerbound); // 3. Fit @@ -2811,7 +2813,7 @@ FitPowderDiffPeaks::genPeak(map<string, int> hklmap, map<string, string> bk2bk2braggmap, bool &good, vector<int> &hkl, double &d_h) { // Generate a peak function - CurveFitting::BackToBackExponential newpeak; + BackToBackExponential newpeak; newpeak.initialize(); BackToBackExponential_sptr newpeakptr = boost::make_shared<BackToBackExponential>(newpeak); @@ -3447,5 +3449,6 @@ size_t findMaxValue(MatrixWorkspace_sptr dataws, size_t wsindex, return imax; } +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/LeBailFit.cpp b/Framework/CurveFitting/src/Algorithms/LeBailFit.cpp similarity index 99% rename from Framework/CurveFitting/src/LeBailFit.cpp rename to Framework/CurveFitting/src/Algorithms/LeBailFit.cpp index 9996f8049856bb1e88c279037da696b41d2c2f57..60e3d731b21978a1bb9b3ed92ab4deb36575ab06 100644 --- a/Framework/CurveFitting/src/LeBailFit.cpp +++ b/Framework/CurveFitting/src/Algorithms/LeBailFit.cpp @@ -4,15 +4,15 @@ * COMMIT NOTES */ -#include "MantidCurveFitting/LeBailFit.h" +#include "MantidCurveFitting/Algorithms/LeBailFit.h" #include "MantidKernel/ListValidator.h" #include "MantidAPI/TableRow.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/FuncMinimizerFactory.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidKernel/ArrayProperty.h" #include "MantidKernel/VisibleWhenProperty.h" -#include "MantidCurveFitting/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" #include "MantidAPI/TextAxis.h" #include <boost/algorithm/string.hpp> @@ -43,6 +43,7 @@ using namespace std; namespace Mantid { namespace CurveFitting { +namespace Algorithms { const Rfactor badR(DBL_MAX, DBL_MAX); @@ -2691,5 +2692,6 @@ void writeRfactorsToFile(vector<double> vecX, vector<Rfactor> vecR, return; } +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/LeBailFunction.cpp b/Framework/CurveFitting/src/Algorithms/LeBailFunction.cpp similarity index 99% rename from Framework/CurveFitting/src/LeBailFunction.cpp rename to Framework/CurveFitting/src/Algorithms/LeBailFunction.cpp index bed2bfd968fe5c19504ed0b82621c91502ef595e..0d9ee16925a41aaa4efb24ce3524080ca49365b9 100644 --- a/Framework/CurveFitting/src/LeBailFunction.cpp +++ b/Framework/CurveFitting/src/Algorithms/LeBailFunction.cpp @@ -1,9 +1,9 @@ #include "MantidAPI/Algorithm.h" -#include "MantidCurveFitting/LeBailFunction.h" +#include "MantidCurveFitting/Algorithms/LeBailFunction.h" #include "MantidKernel/System.h" #include "MantidAPI/FunctionFactory.h" -#include "MantidCurveFitting/BoundaryConstraint.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include <sstream> @@ -18,6 +18,7 @@ const double NEG_DBL_MAX(-1. * DBL_MAX); namespace Mantid { namespace CurveFitting { +namespace Algorithms { namespace { const double PEAKRANGECONSTANT = 5.0; @@ -894,7 +895,8 @@ void LeBailFunction::addBackgroundFunction( // Create background function from factory auto background = FunctionFactory::Instance().createFunction(backgroundtype); - m_background = boost::dynamic_pointer_cast<BackgroundFunction>(background); + m_background = + boost::dynamic_pointer_cast<Functions::BackgroundFunction>(background); // Set order and initialize m_background->setAttributeValue("n", static_cast<int>(order)); @@ -946,7 +948,7 @@ void LeBailFunction::setFitProfileParameter(string paramname, double minvalue, std::stringstream parss; parss << "f0." << paramname; string parnamef0 = parss.str(); - CurveFitting::BoundaryConstraint *bc = new BoundaryConstraint( + Constraints::BoundaryConstraint *bc = new Constraints::BoundaryConstraint( m_compsiteFunction.get(), parnamef0, minvalue, maxvalue); m_compsiteFunction->addConstraint(bc); @@ -1153,4 +1155,5 @@ double LeBailFunction::getPeakMaximumValue(std::vector<int> hkl, } } // namespace Mantid +} // namespace Algorithms } // namespace CurveFitting diff --git a/Framework/CurveFitting/src/NormaliseByPeakArea.cpp b/Framework/CurveFitting/src/Algorithms/NormaliseByPeakArea.cpp similarity index 99% rename from Framework/CurveFitting/src/NormaliseByPeakArea.cpp rename to Framework/CurveFitting/src/Algorithms/NormaliseByPeakArea.cpp index f3a7522bbfac8b7f93e12d9980b70f9c502b4814..780f0feb4261bf251d0c137fae577124e818ec44 100644 --- a/Framework/CurveFitting/src/NormaliseByPeakArea.cpp +++ b/Framework/CurveFitting/src/Algorithms/NormaliseByPeakArea.cpp @@ -1,4 +1,4 @@ -#include "MantidCurveFitting/NormaliseByPeakArea.h" +#include "MantidCurveFitting/Algorithms/NormaliseByPeakArea.h" #include "MantidAPI/IFunction.h" #include "MantidAPI/FunctionFactory.h" @@ -10,6 +10,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { /// Starting value of peak position in y-space for fit double PEAK_POS_GUESS = -0.1; @@ -381,5 +382,6 @@ void NormaliseByPeakArea::symmetriseYSpace() { } } +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/PawleyFit.cpp b/Framework/CurveFitting/src/Algorithms/PawleyFit.cpp similarity index 94% rename from Framework/CurveFitting/src/PawleyFit.cpp rename to Framework/CurveFitting/src/Algorithms/PawleyFit.cpp index 19cfd18fd2cbb7d9e1c079d6d2aa2c33ddde2979..22b87ff3efafd815630d8527b13152414abfe9cc 100644 --- a/Framework/CurveFitting/src/PawleyFit.cpp +++ b/Framework/CurveFitting/src/Algorithms/PawleyFit.cpp @@ -1,7 +1,7 @@ -#include "MantidCurveFitting/PawleyFit.h" +#include "MantidCurveFitting/Algorithms/PawleyFit.h" #include "MantidAPI/FunctionFactory.h" -#include "MantidCurveFitting/PawleyFunction.h" +#include "MantidCurveFitting/Functions/PawleyFunction.h" #include "MantidAPI/ITableWorkspace.h" #include "MantidAPI/TableRow.h" @@ -14,6 +14,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { using namespace API; using namespace Kernel; @@ -62,7 +63,7 @@ double PawleyFit::getTransformedCenter(double d, const Unit_sptr &unit) const { * @param startX :: Lowest allowed x-value for reflection position. * @param endX :: Highest allowed x-value for reflection position. */ -void PawleyFit::addHKLsToFunction(PawleyFunction_sptr &pawleyFn, +void PawleyFit::addHKLsToFunction(Functions::PawleyFunction_sptr &pawleyFn, const ITableWorkspace_sptr &tableWs, const Unit_sptr &unit, double startX, double endX) const { @@ -105,8 +106,8 @@ void PawleyFit::addHKLsToFunction(PawleyFunction_sptr &pawleyFn, /// Creates a table containing the cell parameters stored in the supplied /// function. -ITableWorkspace_sptr -PawleyFit::getLatticeFromFunction(const PawleyFunction_sptr &pawleyFn) const { +ITableWorkspace_sptr PawleyFit::getLatticeFromFunction( + const Functions::PawleyFunction_sptr &pawleyFn) const { if (!pawleyFn) { throw std::invalid_argument( "Cannot extract lattice parameters from null function."); @@ -119,7 +120,7 @@ PawleyFit::getLatticeFromFunction(const PawleyFunction_sptr &pawleyFn) const { latticeParameterTable->addColumn("double", "Value"); latticeParameterTable->addColumn("double", "Error"); - PawleyParameterFunction_sptr parameters = + Functions::PawleyParameterFunction_sptr parameters = pawleyFn->getPawleyParameterFunction(); for (size_t i = 0; i < parameters->nParams(); ++i) { @@ -133,7 +134,7 @@ PawleyFit::getLatticeFromFunction(const PawleyFunction_sptr &pawleyFn) const { /// Extracts all profile parameters from the supplied function. ITableWorkspace_sptr PawleyFit::getPeakParametersFromFunction( - const PawleyFunction_sptr &pawleyFn) const { + const Functions::PawleyFunction_sptr &pawleyFn) const { if (!pawleyFn) { throw std::invalid_argument( "Cannot extract peak parameters from null function."); @@ -167,8 +168,8 @@ ITableWorkspace_sptr PawleyFit::getPeakParametersFromFunction( /// Returns a composite function consisting of the Pawley function and Chebyshev /// background if enabled in the algorithm. -IFunction_sptr -PawleyFit::getCompositeFunction(const PawleyFunction_sptr &pawleyFn) const { +IFunction_sptr PawleyFit::getCompositeFunction( + const Functions::PawleyFunction_sptr &pawleyFn) const { CompositeFunction_sptr composite = boost::make_shared<CompositeFunction>(); composite->addFunction(pawleyFn); @@ -271,8 +272,9 @@ void PawleyFit::init() { /// Execution of algorithm. void PawleyFit::exec() { // Setup PawleyFunction with cell from input parameters - PawleyFunction_sptr pawleyFn = boost::dynamic_pointer_cast<PawleyFunction>( - FunctionFactory::Instance().createFunction("PawleyFunction")); + Functions::PawleyFunction_sptr pawleyFn = + boost::dynamic_pointer_cast<Functions::PawleyFunction>( + FunctionFactory::Instance().createFunction("PawleyFunction")); g_log.information() << "Setting up Pawley function..." << std::endl; std::string profileFunction = getProperty("PeakProfileFunction"); @@ -286,7 +288,7 @@ void PawleyFit::exec() { << std::endl; pawleyFn->setUnitCell(getProperty("InitialCell")); - PawleyParameterFunction_sptr pawleyParameterFunction = + Functions::PawleyParameterFunction_sptr pawleyParameterFunction = pawleyFn->getPawleyParameterFunction(); g_log.information() << " Initial unit cell: " @@ -416,5 +418,6 @@ V3D V3DFromHKLColumnExtractor::getHKLFromString( return hkl; } +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/PlotPeakByLogValue.cpp b/Framework/CurveFitting/src/Algorithms/PlotPeakByLogValue.cpp similarity index 99% rename from Framework/CurveFitting/src/PlotPeakByLogValue.cpp rename to Framework/CurveFitting/src/Algorithms/PlotPeakByLogValue.cpp index 152331bab772848b2fb6d7efc2446d16b335564e..1478d845126c02fd1f1acc413dd612f3e9d521e8 100644 --- a/Framework/CurveFitting/src/PlotPeakByLogValue.cpp +++ b/Framework/CurveFitting/src/Algorithms/PlotPeakByLogValue.cpp @@ -10,7 +10,7 @@ #include <boost/lexical_cast.hpp> #include <boost/algorithm/string/replace.hpp> -#include "MantidCurveFitting/PlotPeakByLogValue.h" +#include "MantidCurveFitting/Algorithms/PlotPeakByLogValue.h" #include "MantidAPI/IFuncMinimizer.h" #include "MantidAPI/AlgorithmManager.h" #include "MantidAPI/FuncMinimizerFactory.h" @@ -35,6 +35,7 @@ Mantid::Kernel::Logger g_log("PlotPeakByLogValue"); namespace Mantid { namespace CurveFitting { +namespace Algorithms { using namespace Kernel; using namespace API; @@ -618,5 +619,6 @@ PlotPeakByLogValue::getMinimizerString(const std::string &wsName, return format; } +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/RefinePowderInstrumentParameters.cpp b/Framework/CurveFitting/src/Algorithms/RefinePowderInstrumentParameters.cpp similarity index 97% rename from Framework/CurveFitting/src/RefinePowderInstrumentParameters.cpp rename to Framework/CurveFitting/src/Algorithms/RefinePowderInstrumentParameters.cpp index 36283c03f21b9dfa9d0361311be9bbe6d31ca3c6..4ccf36c181713ade97f6829c869b01ed826bdb29 100644 --- a/Framework/CurveFitting/src/RefinePowderInstrumentParameters.cpp +++ b/Framework/CurveFitting/src/Algorithms/RefinePowderInstrumentParameters.cpp @@ -1,4 +1,4 @@ -#include "MantidCurveFitting/RefinePowderInstrumentParameters.h" +#include "MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters.h" #include "MantidKernel/ListValidator.h" #include "MantidKernel/ArrayProperty.h" @@ -14,11 +14,11 @@ #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/TextAxis.h" -#include "MantidCurveFitting/Fit.h" -#include "MantidCurveFitting/BackgroundFunction.h" -#include "MantidCurveFitting/Polynomial.h" -#include "MantidCurveFitting/BoundaryConstraint.h" -#include "MantidCurveFitting/Gaussian.h" +#include "MantidCurveFitting/Algorithms/Fit.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/Polynomial.h" +#include "MantidCurveFitting/Functions/Gaussian.h" #include "MantidGeometry/Crystal/UnitCell.h" @@ -33,11 +33,15 @@ using namespace Mantid; using namespace Mantid::API; using namespace Mantid::Kernel; using namespace Mantid::DataObjects; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::Constraints; using namespace std; namespace Mantid { namespace CurveFitting { +namespace Algorithms { DECLARE_ALGORITHM(RefinePowderInstrumentParameters) @@ -45,7 +49,7 @@ DECLARE_ALGORITHM(RefinePowderInstrumentParameters) /** Constructor */ RefinePowderInstrumentParameters::RefinePowderInstrumentParameters() - : m_BestGSLChi2(0.0), m_MinSigma(0.0), m_MinNumFittedm_Peaks(0), + : m_BestGSLChi2(0.0), m_MinSigma(0.0), m_MinNumFittedPeaks(0), m_MaxNumberStoredParameters(0) {} //---------------------------------------------------------------------------------------------- @@ -151,7 +155,7 @@ void RefinePowderInstrumentParameters::exec() { << " is too small. " << endl; throw std::invalid_argument("Input MinNumberFittedm_Peaks is too small."); } - m_MinNumFittedm_Peaks = static_cast<size_t>(tempint); + m_MinNumFittedPeaks = static_cast<size_t>(tempint); tempint = getProperty("NumberBestFitRecorded"); if (tempint <= 0) @@ -169,7 +173,7 @@ void RefinePowderInstrumentParameters::exec() { "MonteCarlo are not supported."); // 2. Parse input table workspace - genm_PeaksFromTable(peakWS); + genPeaksFromTable(peakWS); importParametersFromTable(parameterWS, m_FuncParameters); m_OrigParameters = m_FuncParameters; @@ -225,9 +229,8 @@ void RefinePowderInstrumentParameters::fitInstrumentParameters() { << endl; // 1. Initialize the fitting function - CurveFitting::ThermalNeutronDtoTOFFunction rawfunc; - m_Function = - boost::make_shared<CurveFitting::ThermalNeutronDtoTOFFunction>(rawfunc); + ThermalNeutronDtoTOFFunction rawfunc; + m_Function = boost::make_shared<ThermalNeutronDtoTOFFunction>(rawfunc); m_Function->initialize(); API::FunctionDomain1DVector domain(m_dataWS->readX(1)); @@ -804,7 +807,7 @@ void RefinePowderInstrumentParameters::getD2TOFFuncParamNames( parnames.clear(); // 2. Get the parameter names from function - CurveFitting::ThermalNeutronDtoTOFFunction d2toffunc; + ThermalNeutronDtoTOFFunction d2toffunc; d2toffunc.initialize(); std::vector<std::string> funparamnames = d2toffunc.getParameterNames(); @@ -862,7 +865,7 @@ double RefinePowderInstrumentParameters::calculateD2TOFFunction( /** Genearte peaks from input workspace * m_Peaks are stored in a map. (HKL) is the key */ -void RefinePowderInstrumentParameters::genm_PeaksFromTable( +void RefinePowderInstrumentParameters::genPeaksFromTable( DataObjects::TableWorkspace_sptr peakparamws) { // 1. Check and clear input and output if (!peakparamws) { @@ -872,7 +875,7 @@ void RefinePowderInstrumentParameters::genm_PeaksFromTable( "Invalid input table workspace for peak parameters"); } - mm_Peaks.clear(); + m_Peaks.clear(); // 2. Parse table workspace rows to generate peaks vector<string> colnames = peakparamws->getColumnNames(); @@ -880,7 +883,7 @@ void RefinePowderInstrumentParameters::genm_PeaksFromTable( for (size_t ir = 0; ir < numrows; ++ir) { // a) Generate peak - CurveFitting::BackToBackExponential newpeak; + BackToBackExponential newpeak; newpeak.initialize(); // b) Parse parameters @@ -931,15 +934,15 @@ void RefinePowderInstrumentParameters::genm_PeaksFromTable( newpeak.setParameter("I", height); // d) Make to share pointer and set to instance data structure (map) - CurveFitting::BackToBackExponential_sptr newpeakptr = - boost::make_shared<CurveFitting::BackToBackExponential>(newpeak); + BackToBackExponential_sptr newpeakptr = + boost::make_shared<BackToBackExponential>(newpeak); std::vector<int> hkl; hkl.push_back(h); hkl.push_back(k); hkl.push_back(l); - mm_Peaks.insert(std::make_pair(hkl, newpeakptr)); + m_Peaks.insert(std::make_pair(hkl, newpeakptr)); m_PeakErrors.insert(make_pair(hkl, chi2)); @@ -1169,14 +1172,13 @@ void RefinePowderInstrumentParameters::genPeakCentersWorkspace( throw runtime_error(errss.str()); } - std::map<std::vector<int>, CurveFitting::BackToBackExponential_sptr>::iterator - peakiter; + std::map<std::vector<int>, BackToBackExponential_sptr>::iterator peakiter; std::vector<std::pair<double, std::pair<double, double>>> peakcenters; // d_h [TOF_h, CHI2] Geometry::UnitCell unitcell(lattice, lattice, lattice, 90.0, 90.0, 90.0); - for (peakiter = mm_Peaks.begin(); peakiter != mm_Peaks.end(); ++peakiter) { + for (peakiter = m_Peaks.begin(); peakiter != m_Peaks.end(); ++peakiter) { vector<int> hkl = peakiter->first; BackToBackExponential_sptr peak = peakiter->second; @@ -1301,5 +1303,6 @@ RefinePowderInstrumentParameters::genOutputInstrumentParameterTable() { return newtablews; } +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/RefinePowderInstrumentParameters3.cpp b/Framework/CurveFitting/src/Algorithms/RefinePowderInstrumentParameters3.cpp similarity index 99% rename from Framework/CurveFitting/src/RefinePowderInstrumentParameters3.cpp rename to Framework/CurveFitting/src/Algorithms/RefinePowderInstrumentParameters3.cpp index b2f339bc14ef4a88622e1565a4df50765cee08ee..a5c35c1f331d71bca31643d8fc85b77d7bf7b2fd 100644 --- a/Framework/CurveFitting/src/RefinePowderInstrumentParameters3.cpp +++ b/Framework/CurveFitting/src/Algorithms/RefinePowderInstrumentParameters3.cpp @@ -1,4 +1,4 @@ -#include "MantidCurveFitting/RefinePowderInstrumentParameters3.h" +#include "MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters3.h" #include "MantidAPI/Axis.h" #include "MantidAPI/TextAxis.h" @@ -7,12 +7,14 @@ using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::DataObjects; using namespace Mantid::Kernel; using namespace std; namespace Mantid { namespace CurveFitting { +namespace Algorithms { DECLARE_ALGORITHM(RefinePowderInstrumentParameters3) @@ -1266,8 +1268,9 @@ void RefinePowderInstrumentParameters3::setFunctionParameterFitSetups( double upperbound = param.maxvalue; if (lowerbound >= -DBL_MAX * 0.1 || upperbound <= DBL_MAX * 0.1) { // If there is a boundary - BoundaryConstraint *bc = new BoundaryConstraint( - function.get(), parname, lowerbound, upperbound, false); + Constraints::BoundaryConstraint *bc = + new Constraints::BoundaryConstraint( + function.get(), parname, lowerbound, upperbound, false); function->addConstraint(bc); } } else { @@ -1428,5 +1431,6 @@ void restoreFunctionParameterValue( return; } +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/SplineBackground.cpp b/Framework/CurveFitting/src/Algorithms/SplineBackground.cpp similarity index 97% rename from Framework/CurveFitting/src/SplineBackground.cpp rename to Framework/CurveFitting/src/Algorithms/SplineBackground.cpp index d3eddbab62067a8297f96e73f2911bfccfe6eab8..93b2e86016a7320e17d3ae657789ec49ad86da6f 100644 --- a/Framework/CurveFitting/src/SplineBackground.cpp +++ b/Framework/CurveFitting/src/Algorithms/SplineBackground.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/SplineBackground.h" +#include "MantidCurveFitting/Algorithms/SplineBackground.h" #include <gsl/gsl_bspline.h> #include <gsl/gsl_multifit.h> #include <gsl/gsl_statistics.h> @@ -9,6 +9,7 @@ namespace Mantid { namespace CurveFitting { +namespace Algorithms { DECLARE_ALGORITHM(SplineBackground) @@ -170,5 +171,6 @@ void SplineBackground::exec() { setProperty("OutputWorkspace", outWS); } -} // namespace Algorithm +} // namespace Algorithms +} // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/SplineInterpolation.cpp b/Framework/CurveFitting/src/Algorithms/SplineInterpolation.cpp similarity index 98% rename from Framework/CurveFitting/src/SplineInterpolation.cpp rename to Framework/CurveFitting/src/Algorithms/SplineInterpolation.cpp index 63731d8bd084bc41f9eda55f90669c0b41b494d1..9d1a1bc531c9d0dc3c765ddf3a904e1bf1955a7c 100644 --- a/Framework/CurveFitting/src/SplineInterpolation.cpp +++ b/Framework/CurveFitting/src/Algorithms/SplineInterpolation.cpp @@ -2,16 +2,18 @@ #include "MantidAPI/NumericAxis.h" #include "MantidAPI/Progress.h" #include "MantidKernel/BoundedValidator.h" -#include "MantidCurveFitting/SplineInterpolation.h" +#include "MantidCurveFitting/Algorithms/SplineInterpolation.h" namespace Mantid { namespace CurveFitting { +namespace Algorithms { // Register the algorithm into the AlgorithmFactory DECLARE_ALGORITHM(SplineInterpolation) using namespace API; using namespace Kernel; +using Functions::CubicSpline; //---------------------------------------------------------------------------------------------- /** Constructor @@ -253,5 +255,6 @@ void SplineInterpolation::calculateSpline( m_cspline->function1D(yValues, xValues, nData); } +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/SplineSmoothing.cpp b/Framework/CurveFitting/src/Algorithms/SplineSmoothing.cpp similarity index 99% rename from Framework/CurveFitting/src/SplineSmoothing.cpp rename to Framework/CurveFitting/src/Algorithms/SplineSmoothing.cpp index 9cac9523f02913279baf3857de8585df1cf1611f..87fcfb16e36bfd4af6e18a84ed51b9c459f27e3c 100644 --- a/Framework/CurveFitting/src/SplineSmoothing.cpp +++ b/Framework/CurveFitting/src/Algorithms/SplineSmoothing.cpp @@ -4,19 +4,20 @@ #include "MantidAPI/TextAxis.h" #include "MantidAPI/WorkspaceFactory.h" #include "MantidKernel/BoundedValidator.h" -#include "MantidCurveFitting/SplineSmoothing.h" +#include "MantidCurveFitting/Algorithms/SplineSmoothing.h" #include <algorithm> namespace Mantid { namespace CurveFitting { +namespace Algorithms { // Register the algorithm into the AlgorithmFactory DECLARE_ALGORITHM(SplineSmoothing) using namespace API; using namespace Kernel; - +using Functions::BSpline; //---------------------------------------------------------------------------------------------- /** Constructor */ @@ -370,5 +371,6 @@ void SplineSmoothing::selectSmoothingPoints( } } +} // namespace Algorithms } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/BoundaryConstraint.cpp b/Framework/CurveFitting/src/Constraints/BoundaryConstraint.cpp similarity index 98% rename from Framework/CurveFitting/src/BoundaryConstraint.cpp rename to Framework/CurveFitting/src/Constraints/BoundaryConstraint.cpp index 6ecbe020e781f48f2adbc63862c2ddb45fd067e5..86f3f52be2a7fe4549198c0a4926b5a0c3d1074a 100644 --- a/Framework/CurveFitting/src/BoundaryConstraint.cpp +++ b/Framework/CurveFitting/src/Constraints/BoundaryConstraint.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/BoundaryConstraint.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" #include "MantidAPI/Expression.h" #include "MantidAPI/ConstraintFactory.h" #include "MantidKernel/Logger.h" @@ -10,6 +10,7 @@ namespace Mantid { namespace CurveFitting { +namespace Constraints { namespace { /// static logger Kernel::Logger g_log("BoundaryConstraint"); @@ -247,5 +248,6 @@ std::string BoundaryConstraint::asString() const { return ostr.str(); } +} // namespace Constraints } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/CostFuncFitting.cpp b/Framework/CurveFitting/src/CostFunctions/CostFuncFitting.cpp similarity index 98% rename from Framework/CurveFitting/src/CostFuncFitting.cpp rename to Framework/CurveFitting/src/CostFunctions/CostFuncFitting.cpp index 425bdcce324e7fcf858aa95d24c5aa0bd21f2b8f..021e2ed4db9b86a3b5f85a87cd5350288186c49d 100644 --- a/Framework/CurveFitting/src/CostFuncFitting.cpp +++ b/Framework/CurveFitting/src/CostFunctions/CostFuncFitting.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/CostFuncFitting.h" +#include "MantidCurveFitting/CostFunctions/CostFuncFitting.h" #include "MantidCurveFitting/GSLJacobian.h" #include "MantidAPI/IConstraint.h" @@ -10,6 +10,7 @@ namespace Mantid { namespace CurveFitting { +namespace CostFunctions { /** * Constructor. @@ -202,5 +203,6 @@ void CostFuncFitting::calTransformationMatrixNumerically(GSLMatrix &tm) { } } +} // namespace CostFunctions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/CostFuncIgnorePosPeaks.cpp b/Framework/CurveFitting/src/CostFunctions/CostFuncIgnorePosPeaks.cpp similarity index 95% rename from Framework/CurveFitting/src/CostFuncIgnorePosPeaks.cpp rename to Framework/CurveFitting/src/CostFunctions/CostFuncIgnorePosPeaks.cpp index 6e6b404b1b2fd4fb680e0cf6c92e0babd2f2617f..8f5d5ecbb2e835d9b04494c915715a60ba097158 100644 --- a/Framework/CurveFitting/src/CostFuncIgnorePosPeaks.cpp +++ b/Framework/CurveFitting/src/CostFunctions/CostFuncIgnorePosPeaks.cpp @@ -1,13 +1,14 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/CostFuncIgnorePosPeaks.h" +#include "MantidCurveFitting/CostFunctions/CostFuncIgnorePosPeaks.h" #include "MantidKernel/PhysicalConstants.h" #include <cmath> #include <gsl/gsl_sf_erf.h> namespace Mantid { namespace CurveFitting { +namespace CostFunctions { DECLARE_COSTFUNCTION(CostFuncIgnorePosPeaks, Ignore positive peaks) @@ -73,5 +74,6 @@ void CostFuncIgnorePosPeaks::deriv(const double *yData, } } +} // namespace CostFunctions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/CostFuncLeastSquares.cpp b/Framework/CurveFitting/src/CostFunctions/CostFuncLeastSquares.cpp similarity index 98% rename from Framework/CurveFitting/src/CostFuncLeastSquares.cpp rename to Framework/CurveFitting/src/CostFunctions/CostFuncLeastSquares.cpp index f0ada5744ed566b685c54fcba4fd7d3decfcb637..025968c21b954c5bac4f0754a974669bcc9f462e 100644 --- a/Framework/CurveFitting/src/CostFuncLeastSquares.cpp +++ b/Framework/CurveFitting/src/CostFunctions/CostFuncLeastSquares.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/CostFuncLeastSquares.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" #include "MantidCurveFitting/Jacobian.h" #include "MantidCurveFitting/SeqDomain.h" #include "MantidAPI/IConstraint.h" @@ -12,6 +12,7 @@ namespace Mantid { namespace CurveFitting { +namespace CostFunctions { namespace { /// static logger Kernel::Logger g_log("CostFuncLeastSquares"); @@ -436,5 +437,6 @@ void CostFuncLeastSquares::calActiveCovarianceMatrix(GSLMatrix &covar, } } +} // namespace CostFunctions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/CostFuncRwp.cpp b/Framework/CurveFitting/src/CostFunctions/CostFuncRwp.cpp similarity index 94% rename from Framework/CurveFitting/src/CostFuncRwp.cpp rename to Framework/CurveFitting/src/CostFunctions/CostFuncRwp.cpp index 0bd327fd7ea90312d76e38fc29e53f60dc16b137..17e783d9f7e438c9366c6d3fc3ffe700703e3872 100644 --- a/Framework/CurveFitting/src/CostFuncRwp.cpp +++ b/Framework/CurveFitting/src/CostFunctions/CostFuncRwp.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/CostFuncRwp.h" +#include "MantidCurveFitting/CostFunctions/CostFuncRwp.h" #include "MantidCurveFitting/Jacobian.h" #include "MantidCurveFitting/SeqDomain.h" #include "MantidAPI/IConstraint.h" @@ -12,6 +12,7 @@ namespace Mantid { namespace CurveFitting { +namespace CostFunctions { DECLARE_COSTFUNCTION(CostFuncRwp, Rwp) @@ -63,5 +64,6 @@ double CostFuncRwp::calSqrtW(API::FunctionValues_sptr values) const { return sqrt(weight); } +} // namespace CostFunctions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/CostFuncUnweightedLeastSquares.cpp b/Framework/CurveFitting/src/CostFunctions/CostFuncUnweightedLeastSquares.cpp similarity index 95% rename from Framework/CurveFitting/src/CostFuncUnweightedLeastSquares.cpp rename to Framework/CurveFitting/src/CostFunctions/CostFuncUnweightedLeastSquares.cpp index 278e5c6b9bd3421817651ed8d8565c14bece862a..c7eadd62b70a84e434abd1ab4eacc719f584a558 100644 --- a/Framework/CurveFitting/src/CostFuncUnweightedLeastSquares.cpp +++ b/Framework/CurveFitting/src/CostFunctions/CostFuncUnweightedLeastSquares.cpp @@ -1,10 +1,11 @@ -#include "MantidCurveFitting/CostFuncUnweightedLeastSquares.h" +#include "MantidCurveFitting/CostFunctions/CostFuncUnweightedLeastSquares.h" #include "MantidKernel/Logger.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace CostFunctions { namespace { /// static logger @@ -79,5 +80,6 @@ double CostFuncUnweightedLeastSquares::getResidualVariance() const { return residualVariance; } +} // namespace CostFunctions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/FitMW.cpp b/Framework/CurveFitting/src/FitMW.cpp index d98e9dc7f3719d3111503175281cd3cd0d12242a..730110936f4ad63ae1821bdd9fe2d7c4e1cd6d15 100644 --- a/Framework/CurveFitting/src/FitMW.cpp +++ b/Framework/CurveFitting/src/FitMW.cpp @@ -2,7 +2,7 @@ //---------------------------------------------------------------------- #include "MantidCurveFitting/FitMW.h" #include "MantidCurveFitting/SeqDomain.h" -#include "MantidCurveFitting/Convolution.h" +#include "MantidCurveFitting/Functions/Convolution.h" #include "MantidCurveFitting/ParameterEstimator.h" #include "MantidAPI/CompositeFunction.h" @@ -449,7 +449,7 @@ void FitMW::appendCompositeFunctionMembers( // if function is a Convolution then output of convolved model's mebers may be // required if (m_convolutionCompositeMembers && - boost::dynamic_pointer_cast<CurveFitting::Convolution>(function)) { + boost::dynamic_pointer_cast<Functions::Convolution>(function)) { appendConvolvedCompositeFunctionMembers(functionList, function); } else { const auto compositeFn = @@ -486,8 +486,8 @@ void FitMW::appendCompositeFunctionMembers( void FitMW::appendConvolvedCompositeFunctionMembers( std::list<API::IFunction_sptr> &functionList, const API::IFunction_sptr &function) const { - boost::shared_ptr<CurveFitting::Convolution> convolution = - boost::dynamic_pointer_cast<CurveFitting::Convolution>(function); + boost::shared_ptr<Functions::Convolution> convolution = + boost::dynamic_pointer_cast<Functions::Convolution>(function); const auto compositeFn = boost::dynamic_pointer_cast<API::CompositeFunction>( convolution->getFunction(1)); @@ -498,8 +498,8 @@ void FitMW::appendConvolvedCompositeFunctionMembers( const size_t nlocals = compositeFn->nFunctions(); for (size_t i = 0; i < nlocals; ++i) { auto localFunction = compositeFn->getFunction(i); - boost::shared_ptr<CurveFitting::Convolution> localConvolution = - boost::make_shared<CurveFitting::Convolution>(); + boost::shared_ptr<Functions::Convolution> localConvolution = + boost::make_shared<Functions::Convolution>(); localConvolution->addFunction(resolution); localConvolution->addFunction(localFunction); functionList.insert(functionList.end(), localConvolution); diff --git a/Framework/CurveFitting/src/BFGS_Minimizer.cpp b/Framework/CurveFitting/src/FuncMinimizers/BFGS_Minimizer.cpp similarity index 85% rename from Framework/CurveFitting/src/BFGS_Minimizer.cpp rename to Framework/CurveFitting/src/FuncMinimizers/BFGS_Minimizer.cpp index 8feb486fce889ac7784d01cbfe6a74a1032e0499..40b817c1028cc4f3d818e529859f37a7352fd00d 100644 --- a/Framework/CurveFitting/src/BFGS_Minimizer.cpp +++ b/Framework/CurveFitting/src/FuncMinimizers/BFGS_Minimizer.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/BFGS_Minimizer.h" +#include "MantidCurveFitting/FuncMinimizers/BFGS_Minimizer.h" #include "MantidAPI/CostFunctionFactory.h" #include "MantidAPI/FuncMinimizerFactory.h" @@ -10,6 +10,7 @@ namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { namespace { /// static logger object Kernel::Logger g_log("BFGS_Minimizer"); @@ -23,5 +24,6 @@ const gsl_multimin_fdfminimizer_type *BFGS_Minimizer::getGSLMinimizerType() { return gsl_multimin_fdfminimizer_vector_bfgs2; } +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/DampingMinimizer.cpp b/Framework/CurveFitting/src/FuncMinimizers/DampingMinimizer.cpp similarity index 91% rename from Framework/CurveFitting/src/DampingMinimizer.cpp rename to Framework/CurveFitting/src/FuncMinimizers/DampingMinimizer.cpp index 01e3169ebba8d9a0d3587a6d30143796d1de82f0..08114e04a546b699b4f359ba826924cf850a1917 100644 --- a/Framework/CurveFitting/src/DampingMinimizer.cpp +++ b/Framework/CurveFitting/src/FuncMinimizers/DampingMinimizer.cpp @@ -1,8 +1,8 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/DampingMinimizer.h" -#include "MantidCurveFitting/CostFuncLeastSquares.h" +#include "MantidCurveFitting/FuncMinimizers/DampingMinimizer.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" #include "MantidAPI/CostFunctionFactory.h" #include "MantidAPI/FuncMinimizerFactory.h" @@ -17,6 +17,8 @@ namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { + namespace { /// static logger Kernel::Logger g_log("DampingMinimizer"); @@ -32,7 +34,9 @@ DampingMinimizer::DampingMinimizer(double relTol) /// Initialize minimizer, i.e. pass a function to minimize. void DampingMinimizer::initialize(API::ICostFunction_sptr function, size_t) { - m_leastSquares = boost::dynamic_pointer_cast<CostFuncLeastSquares>(function); + m_leastSquares = + boost::dynamic_pointer_cast<CostFunctions::CostFuncLeastSquares>( + function); if (!m_leastSquares) { throw std::invalid_argument("Damping minimizer works only with least " "squares. Different function was given."); @@ -121,5 +125,6 @@ double DampingMinimizer::costFunctionVal() { return m_leastSquares->val(); } +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/DerivMinimizer.cpp b/Framework/CurveFitting/src/FuncMinimizers/DerivMinimizer.cpp similarity index 88% rename from Framework/CurveFitting/src/DerivMinimizer.cpp rename to Framework/CurveFitting/src/FuncMinimizers/DerivMinimizer.cpp index 57cbc5a122fcbce37b30629977b8cc9c6dcc0dc0..5f54e75d6d7bea7407b1156cb3d8d035f05e59e1 100644 --- a/Framework/CurveFitting/src/DerivMinimizer.cpp +++ b/Framework/CurveFitting/src/FuncMinimizers/DerivMinimizer.cpp @@ -1,11 +1,12 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/DerivMinimizer.h" -#include "MantidCurveFitting/CostFuncFitting.h" +#include "MantidCurveFitting/FuncMinimizers/DerivMinimizer.h" +#include "MantidCurveFitting/CostFunctions/CostFuncFitting.h" namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { /** Used by the GSL to calculate the cost function. * @param x :: Vector with parameters @@ -17,8 +18,9 @@ double DerivMinimizer::fun(const gsl_vector *x, void *params) { for (size_t i = 0; i < n; ++i) { minimizer.m_costFunction->setParameter(i, gsl_vector_get(x, i)); } - boost::shared_ptr<CostFuncFitting> fitting = - boost::dynamic_pointer_cast<CostFuncFitting>(minimizer.m_costFunction); + boost::shared_ptr<CostFunctions::CostFuncFitting> fitting = + boost::dynamic_pointer_cast<CostFunctions::CostFuncFitting>( + minimizer.m_costFunction); if (fitting) { fitting->getFittingFunction()->applyTies(); } @@ -36,8 +38,9 @@ void DerivMinimizer::dfun(const gsl_vector *x, void *params, gsl_vector *g) { for (size_t i = 0; i < n; ++i) { minimizer.m_costFunction->setParameter(i, gsl_vector_get(x, i)); } - boost::shared_ptr<CostFuncFitting> fitting = - boost::dynamic_pointer_cast<CostFuncFitting>(minimizer.m_costFunction); + boost::shared_ptr<CostFunctions::CostFuncFitting> fitting = + boost::dynamic_pointer_cast<CostFunctions::CostFuncFitting>( + minimizer.m_costFunction); if (fitting) { fitting->getFittingFunction()->applyTies(); } @@ -61,8 +64,9 @@ void DerivMinimizer::fundfun(const gsl_vector *x, void *params, double *f, for (size_t i = 0; i < n; ++i) { minimizer.m_costFunction->setParameter(i, gsl_vector_get(x, i)); } - boost::shared_ptr<CostFuncFitting> fitting = - boost::dynamic_pointer_cast<CostFuncFitting>(minimizer.m_costFunction); + boost::shared_ptr<CostFunctions::CostFuncFitting> fitting = + boost::dynamic_pointer_cast<CostFunctions::CostFuncFitting>( + minimizer.m_costFunction); if (fitting) { fitting->getFittingFunction()->applyTies(); } @@ -173,5 +177,6 @@ void DerivMinimizer::setStopGradient(const double value) { double DerivMinimizer::costFunctionVal() { return m_gslSolver->f; } +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/FABADAMinimizer.cpp b/Framework/CurveFitting/src/FuncMinimizers/FABADAMinimizer.cpp similarity index 97% rename from Framework/CurveFitting/src/FABADAMinimizer.cpp rename to Framework/CurveFitting/src/FuncMinimizers/FABADAMinimizer.cpp index f6c47ccff74677882e6f1b74ca874124be32baa0..fcdedf14c5017e8603999ccc7f97b1b8076febef 100644 --- a/Framework/CurveFitting/src/FABADAMinimizer.cpp +++ b/Framework/CurveFitting/src/FuncMinimizers/FABADAMinimizer.cpp @@ -1,6 +1,6 @@ -#include "MantidCurveFitting/FABADAMinimizer.h" -#include "MantidCurveFitting/CostFuncLeastSquares.h" -#include "MantidCurveFitting/BoundaryConstraint.h" +#include "MantidCurveFitting/FuncMinimizers/FABADAMinimizer.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" +#include "MantidCurveFitting//Constraints/BoundaryConstraint.h" #include <stdio.h> #include <stdlib.h> @@ -30,6 +30,7 @@ namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { namespace { // static logger object @@ -91,7 +92,9 @@ FABADAMinimizer::~FABADAMinimizer() {} void FABADAMinimizer::initialize(API::ICostFunction_sptr function, size_t maxIterations) { - m_leastSquares = boost::dynamic_pointer_cast<CostFuncLeastSquares>(function); + m_leastSquares = + boost::dynamic_pointer_cast<CostFunctions::CostFuncLeastSquares>( + function); if (!m_leastSquares) { throw std::invalid_argument( "FABADA works only with least squares. Different function was given."); @@ -120,7 +123,8 @@ void FABADAMinimizer::initialize(API::ICostFunction_sptr function, m_bound.push_back(false); API::IConstraint *iconstr = fun->getConstraint(i); if (iconstr) { - BoundaryConstraint *bcon = dynamic_cast<BoundaryConstraint *>(iconstr); + Constraints::BoundaryConstraint *bcon = + dynamic_cast<Constraints::BoundaryConstraint *>(iconstr); if (bcon) { m_bound[i] = true; if (bcon->hasLower()) { @@ -640,5 +644,6 @@ void FABADAMinimizer::finalize() { } } +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/FRConjugateGradientMinimizer.cpp b/Framework/CurveFitting/src/FuncMinimizers/FRConjugateGradientMinimizer.cpp similarity index 86% rename from Framework/CurveFitting/src/FRConjugateGradientMinimizer.cpp rename to Framework/CurveFitting/src/FuncMinimizers/FRConjugateGradientMinimizer.cpp index a06a974c52ff6db48b0532bf76cab1c32bb2fd2e..d609f35a7cf2132a0a4c5b2aa81388d8cefb17d5 100644 --- a/Framework/CurveFitting/src/FRConjugateGradientMinimizer.cpp +++ b/Framework/CurveFitting/src/FuncMinimizers/FRConjugateGradientMinimizer.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/FRConjugateGradientMinimizer.h" +#include "MantidCurveFitting/FuncMinimizers/FRConjugateGradientMinimizer.h" #include "MantidAPI/CostFunctionFactory.h" #include "MantidAPI/FuncMinimizerFactory.h" @@ -10,6 +10,7 @@ namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { namespace { /// static logger Kernel::Logger g_log("FRConjugateGradientMinimizer"); @@ -28,5 +29,6 @@ FRConjugateGradientMinimizer::getGSLMinimizerType() { return gsl_multimin_fdfminimizer_conjugate_fr; } +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/LevenbergMarquardtMDMinimizer.cpp b/Framework/CurveFitting/src/FuncMinimizers/LevenbergMarquardtMDMinimizer.cpp similarity index 96% rename from Framework/CurveFitting/src/LevenbergMarquardtMDMinimizer.cpp rename to Framework/CurveFitting/src/FuncMinimizers/LevenbergMarquardtMDMinimizer.cpp index 78c90dca7c807df0c1c6f18caedc0d2817164fa1..74fe28e69cdf447d7ba99f833fca8083f359adb5 100644 --- a/Framework/CurveFitting/src/LevenbergMarquardtMDMinimizer.cpp +++ b/Framework/CurveFitting/src/FuncMinimizers/LevenbergMarquardtMDMinimizer.cpp @@ -1,8 +1,8 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/LevenbergMarquardtMDMinimizer.h" -#include "MantidCurveFitting/CostFuncLeastSquares.h" +#include "MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMDMinimizer.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" #include "MantidAPI/CostFunctionFactory.h" #include "MantidAPI/FuncMinimizerFactory.h" @@ -16,6 +16,7 @@ namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { namespace { /// static logger object Kernel::Logger g_log("LevenbergMarquardMD"); @@ -39,7 +40,9 @@ LevenbergMarquardtMDMinimizer::LevenbergMarquardtMDMinimizer() /// Initialize minimizer, i.e. pass a function to minimize. void LevenbergMarquardtMDMinimizer::initialize(API::ICostFunction_sptr function, size_t) { - m_leastSquares = boost::dynamic_pointer_cast<CostFuncLeastSquares>(function); + m_leastSquares = + boost::dynamic_pointer_cast<CostFunctions::CostFuncLeastSquares>( + function); if (!m_leastSquares) { throw std::invalid_argument("Levenberg-Marquardt minimizer works only with " "least squares. Different function was given."); @@ -286,5 +289,6 @@ double LevenbergMarquardtMDMinimizer::costFunctionVal() { return m_leastSquares->val(); } +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/LevenbergMarquardtMinimizer.cpp b/Framework/CurveFitting/src/FuncMinimizers/LevenbergMarquardtMinimizer.cpp similarity index 93% rename from Framework/CurveFitting/src/LevenbergMarquardtMinimizer.cpp rename to Framework/CurveFitting/src/FuncMinimizers/LevenbergMarquardtMinimizer.cpp index 19bfbdc7c06d05379ce612f5cc73f35144e46564..df84cfc9f62124e1817e6b462e96fb64a59a7842 100644 --- a/Framework/CurveFitting/src/LevenbergMarquardtMinimizer.cpp +++ b/Framework/CurveFitting/src/FuncMinimizers/LevenbergMarquardtMinimizer.cpp @@ -1,8 +1,8 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/LevenbergMarquardtMinimizer.h" -#include "MantidCurveFitting/CostFuncLeastSquares.h" +#include "MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMinimizer.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" #include "MantidAPI/CostFunctionFactory.h" #include "MantidAPI/FuncMinimizerFactory.h" @@ -16,6 +16,7 @@ namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { namespace { // Get a reference to the logger Kernel::Logger g_log("LevenbergMarquardtMinimizer"); @@ -40,7 +41,8 @@ void LevenbergMarquardtMinimizer::initialize( API::ICostFunction_sptr costFunction, size_t) { // set-up GSL container to be used with GSL simplex algorithm auto leastSquares = - boost::dynamic_pointer_cast<CostFuncLeastSquares>(costFunction); + boost::dynamic_pointer_cast<CostFunctions::CostFuncLeastSquares>( + costFunction); if (leastSquares) { m_data = new GSL_FitData(leastSquares); } else { @@ -140,5 +142,6 @@ void LevenbergMarquardtMinimizer::calCovarianceMatrix(double epsrel, gsl_multifit_covar(m_gslSolver->J, epsrel, covar); } +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/PRConjugateGradientMinimizer.cpp b/Framework/CurveFitting/src/FuncMinimizers/PRConjugateGradientMinimizer.cpp similarity index 85% rename from Framework/CurveFitting/src/PRConjugateGradientMinimizer.cpp rename to Framework/CurveFitting/src/FuncMinimizers/PRConjugateGradientMinimizer.cpp index ae9d3adaa6fb0e7841e23f563c88b6027a88685a..e208d427551e7e3ce76b176607ea017300396127 100644 --- a/Framework/CurveFitting/src/PRConjugateGradientMinimizer.cpp +++ b/Framework/CurveFitting/src/FuncMinimizers/PRConjugateGradientMinimizer.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/PRConjugateGradientMinimizer.h" +#include "MantidCurveFitting/FuncMinimizers/PRConjugateGradientMinimizer.h" #include "MantidAPI/CostFunctionFactory.h" #include "MantidAPI/FuncMinimizerFactory.h" @@ -10,6 +10,7 @@ namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { // clang-format off ///@cond nodoc @@ -24,5 +25,6 @@ PRConjugateGradientMinimizer::getGSLMinimizerType() { return gsl_multimin_fdfminimizer_conjugate_pr; } +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/FuncMinimizers/SimplexMinimizer.cpp b/Framework/CurveFitting/src/FuncMinimizers/SimplexMinimizer.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e9399ae13f134ee944285d188a5e406dc5698645 --- /dev/null +++ b/Framework/CurveFitting/src/FuncMinimizers/SimplexMinimizer.cpp @@ -0,0 +1,124 @@ +//---------------------------------------------------------------------- +// Includes +//---------------------------------------------------------------------- +#include "MantidCurveFitting/FuncMinimizers/SimplexMinimizer.h" +#include "MantidCurveFitting/CostFunctions/CostFuncFitting.h" + +#include "MantidAPI/FuncMinimizerFactory.h" + +#include "MantidKernel/Logger.h" + +namespace Mantid { +namespace CurveFitting { +namespace FuncMinimisers { +namespace { +/// static logger +Kernel::Logger g_log("SimplexMinimizer"); +} + +DECLARE_FUNCMINIMIZER(SimplexMinimizer, Simplex) + +/** Calculating cost function +* +* @param x :: Input function arguments +* @param params :: Pointer to a SimplexMinimizer +* @return Value of the cost function +*/ +double SimplexMinimizer::fun(const gsl_vector *x, void *params) { + SimplexMinimizer &minimizer = *static_cast<SimplexMinimizer *>(params); + // update function parameters + if (x->data) { + for (size_t i = 0; i < minimizer.m_costFunction->nParams(); ++i) { + minimizer.m_costFunction->setParameter(i, gsl_vector_get(x, i)); + } + } + boost::shared_ptr<CostFunctions::CostFuncFitting> fitting = + boost::dynamic_pointer_cast<CostFunctions::CostFuncFitting>( + minimizer.m_costFunction); + if (fitting) { + fitting->getFittingFunction()->applyTies(); + } + return minimizer.m_costFunction->val(); +} + +SimplexMinimizer::SimplexMinimizer(const double epsabs) + : m_epsabs(epsabs), m_costFunction(), m_size(1.0), m_simplexStepSize(NULL), + m_startGuess(NULL), m_gslSolver(NULL) { + gslContainer.f = NULL; + gslContainer.n = -1; + gslContainer.params = NULL; +} + +void SimplexMinimizer::initialize(API::ICostFunction_sptr function, size_t) { + m_costFunction = function; + + const gsl_multimin_fminimizer_type *T = gsl_multimin_fminimizer_nmsimplex; + + size_t np = function->nParams(); + // step size for simplex + m_simplexStepSize = gsl_vector_alloc(np); + gsl_vector_set_all(m_simplexStepSize, m_size); + + // setup simplex container + gslContainer.n = np; + gslContainer.f = &fun; + gslContainer.params = this; + + // fill in parameter values + m_startGuess = gsl_vector_alloc(np); + for (size_t i = 0; i < np; ++i) { + gsl_vector_set(m_startGuess, i, function->getParameter(i)); + } + + // setup minimizer + m_gslSolver = gsl_multimin_fminimizer_alloc(T, np); + gsl_multimin_fminimizer_set(m_gslSolver, &gslContainer, m_startGuess, + m_simplexStepSize); +} + +/** + * Do one iteration. + * @return :: true if iterations to be continued, false if they can stop + */ +bool SimplexMinimizer::iterate(size_t) { + int status = gsl_multimin_fminimizer_iterate(m_gslSolver); + if (status) { + m_errorString = gsl_strerror(status); + return false; + } + double size = gsl_multimin_fminimizer_size(m_gslSolver); + status = gsl_multimin_test_size(size, m_epsabs); + if (status != GSL_CONTINUE) { + m_errorString = gsl_strerror(status); + return false; + } + return true; +} + +/// resets the size +void SimplexMinimizer::resetSize(const double &size) { + m_size = size; + clearMemory(); + initialize(m_costFunction); +} + +SimplexMinimizer::~SimplexMinimizer() { clearMemory(); } + +/// clear memory +void SimplexMinimizer::clearMemory() { + if (m_simplexStepSize) { + gsl_vector_free(m_simplexStepSize); + } + if (m_startGuess) { + gsl_vector_free(m_startGuess); + } + if (m_gslSolver) { + gsl_multimin_fminimizer_free(m_gslSolver); + } +} + +double SimplexMinimizer::costFunctionVal() { return m_gslSolver->fval; } + +} // namespace FuncMinimisers +} // namespace CurveFitting +} // namespace Mantid diff --git a/Framework/CurveFitting/src/SteepestDescentMinimizer.cpp b/Framework/CurveFitting/src/FuncMinimizers/SteepestDescentMinimizer.cpp similarity index 85% rename from Framework/CurveFitting/src/SteepestDescentMinimizer.cpp rename to Framework/CurveFitting/src/FuncMinimizers/SteepestDescentMinimizer.cpp index be4c4380ab191ba7a3db2150ca0a14c39a179e1b..810d63841a68ab2b02ff4f0630cbcc574bfb259d 100644 --- a/Framework/CurveFitting/src/SteepestDescentMinimizer.cpp +++ b/Framework/CurveFitting/src/FuncMinimizers/SteepestDescentMinimizer.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/SteepestDescentMinimizer.h" +#include "MantidCurveFitting/FuncMinimizers/SteepestDescentMinimizer.h" #include "MantidAPI/CostFunctionFactory.h" #include "MantidAPI/FuncMinimizerFactory.h" @@ -10,6 +10,8 @@ namespace Mantid { namespace CurveFitting { +namespace FuncMinimisers { + namespace { // Get a reference to the logger Kernel::Logger g_log("SteepestDescentMinimizer"); @@ -24,5 +26,6 @@ SteepestDescentMinimizer::getGSLMinimizerType() { return gsl_multimin_fdfminimizer_steepest_descent; } +} // namespace FuncMinimisers } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/Abragam.cpp b/Framework/CurveFitting/src/Functions/Abragam.cpp similarity index 93% rename from Framework/CurveFitting/src/Abragam.cpp rename to Framework/CurveFitting/src/Functions/Abragam.cpp index cd24227e3143a73979c2fca010074c8d4ea831dc..40ff74e9b61da1d1896de518896c4d6c8f5cf25a 100644 --- a/Framework/CurveFitting/src/Abragam.cpp +++ b/Framework/CurveFitting/src/Functions/Abragam.cpp @@ -1,14 +1,18 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/Abragam.h" +#include "MantidCurveFitting/Functions/Abragam.h" #include "MantidAPI//FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(Abragam) @@ -61,5 +65,6 @@ void Abragam::setActiveParameter(size_t i, double value) { setParameter(j, value, false); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/BSpline.cpp b/Framework/CurveFitting/src/Functions/BSpline.cpp similarity index 98% rename from Framework/CurveFitting/src/BSpline.cpp rename to Framework/CurveFitting/src/Functions/BSpline.cpp index 787672bc570ab733dbe80a12c44a3384c6b0468a..670a7c8614abc0934bf5e909fe48b46bdcc26b4e 100644 --- a/Framework/CurveFitting/src/BSpline.cpp +++ b/Framework/CurveFitting/src/Functions/BSpline.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/BSpline.h" +#include "MantidCurveFitting/Functions/BSpline.h" #include "MantidCurveFitting/GSLVector.h" #include "MantidCurveFitting/GSLMatrix.h" #include "MantidAPI/FunctionFactory.h" @@ -10,7 +10,12 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; + using namespace Kernel; + using namespace API; DECLARE_FUNCTION(BSpline) @@ -250,5 +255,6 @@ void BSpline::getGSLBreakPoints(std::vector<double> &bp) const { } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/BackToBackExponential.cpp b/Framework/CurveFitting/src/Functions/BackToBackExponential.cpp similarity index 96% rename from Framework/CurveFitting/src/BackToBackExponential.cpp rename to Framework/CurveFitting/src/Functions/BackToBackExponential.cpp index 0c623c678de5444a75316e156d2abd584412dbf5..64a5d5aae6a6237bd4a293c78107fc7e4e7c5363 100644 --- a/Framework/CurveFitting/src/BackToBackExponential.cpp +++ b/Framework/CurveFitting/src/Functions/BackToBackExponential.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/BackToBackExponential.h" +#include "MantidCurveFitting/Functions/BackToBackExponential.h" #include "MantidAPI/FunctionFactory.h" #include <gsl/gsl_sf_erf.h> @@ -12,8 +12,12 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(BackToBackExponential) @@ -144,5 +148,6 @@ double BackToBackExponential::expWidth() const { return M_LN2 * (a + b) / (a * b); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/BackgroundFunction.cpp b/Framework/CurveFitting/src/Functions/BackgroundFunction.cpp similarity index 78% rename from Framework/CurveFitting/src/BackgroundFunction.cpp rename to Framework/CurveFitting/src/Functions/BackgroundFunction.cpp index a7d79bd6fe4109e9f58967b399e725ff16f25302..1b243cda6edc5f52619fe15152aab68edb443053 100644 --- a/Framework/CurveFitting/src/BackgroundFunction.cpp +++ b/Framework/CurveFitting/src/Functions/BackgroundFunction.cpp @@ -1,12 +1,16 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/BackgroundFunction.h" +#include "MantidCurveFitting/Functions/BackgroundFunction.h" namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; void BackgroundFunction::fit(const std::vector<double> &X, @@ -15,5 +19,6 @@ void BackgroundFunction::fit(const std::vector<double> &X, (void)Y; // Avoid compiler warning } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/BivariateNormal.cpp b/Framework/CurveFitting/src/Functions/BivariateNormal.cpp similarity index 98% rename from Framework/CurveFitting/src/BivariateNormal.cpp rename to Framework/CurveFitting/src/Functions/BivariateNormal.cpp index d48ab8555eaea9ff6adf1d9cd15e72e9d496f628..59918f5e1e5e65171378450762c01892f3c9d5f4 100644 --- a/Framework/CurveFitting/src/BivariateNormal.cpp +++ b/Framework/CurveFitting/src/Functions/BivariateNormal.cpp @@ -1,5 +1,5 @@ -#include "MantidCurveFitting/BivariateNormal.h" -#include "MantidCurveFitting/BoundaryConstraint.h" +#include "MantidCurveFitting/Functions/BivariateNormal.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" #include "MantidAPI/MatrixWorkspace.h" #include "MantidKernel/PhysicalConstants.h" #include "MantidAPI/ParameterTie.h" @@ -17,6 +17,10 @@ using namespace Mantid::API; namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; +using namespace Constraints; namespace { /// static logger @@ -679,5 +683,6 @@ double BivariateNormal::initCoeff(const MantidVec &D, const MantidVec &X, return penalty; } +} // namespace Functions } // namespace curveFitting } // namespaceMantid diff --git a/Framework/CurveFitting/src/Bk2BkExpConvPV.cpp b/Framework/CurveFitting/src/Functions/Bk2BkExpConvPV.cpp similarity index 98% rename from Framework/CurveFitting/src/Bk2BkExpConvPV.cpp rename to Framework/CurveFitting/src/Functions/Bk2BkExpConvPV.cpp index 7052c100cf82ebd824ef254c3b1495f466d269af..d3f4fcb35aae249b2971879a6f362d0066251462 100644 --- a/Framework/CurveFitting/src/Bk2BkExpConvPV.cpp +++ b/Framework/CurveFitting/src/Functions/Bk2BkExpConvPV.cpp @@ -1,18 +1,22 @@ #include <cmath> -#include "MantidCurveFitting/Bk2BkExpConvPV.h" +#include "MantidCurveFitting/Functions/Bk2BkExpConvPV.h" #include "MantidKernel/System.h" #include "MantidAPI/FunctionFactory.h" #include <gsl/gsl_sf_erf.h> using namespace Mantid::Kernel; + using namespace Mantid::API; using namespace std; namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; namespace { /// static logger Kernel::Logger g_log("Bk2BkExpConvPV"); @@ -250,4 +254,5 @@ void Bk2BkExpConvPV::calHandEta(double sigma2, double gamma, double &H, } } // namespace Mantid +} // namespace Functions } // namespace CurveFitting diff --git a/Framework/CurveFitting/src/ChebfunBase.cpp b/Framework/CurveFitting/src/Functions/ChebfunBase.cpp similarity index 99% rename from Framework/CurveFitting/src/ChebfunBase.cpp rename to Framework/CurveFitting/src/Functions/ChebfunBase.cpp index 3a1844b95636baf0adf96fa6b8e88bec092e97a4..4f25c57ba462bd4071272fba1c2ba8f17684dc99 100644 --- a/Framework/CurveFitting/src/ChebfunBase.cpp +++ b/Framework/CurveFitting/src/Functions/ChebfunBase.cpp @@ -1,4 +1,4 @@ -#include "MantidCurveFitting/ChebfunBase.h" +#include "MantidCurveFitting/Functions/ChebfunBase.h" #include "MantidAPI/IFunction1D.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" @@ -19,6 +19,9 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; // Set the comparison tolerance. const double ChebfunBase::g_tolerance = 1e-15; @@ -297,6 +300,7 @@ ChebfunBase::evalVector(const std::vector<double> &x, */ void ChebfunBase::derivative(const std::vector<double> &a, std::vector<double> &aout) const { + using namespace std::placeholders; if (a.size() != m_x.size()) { throw std::invalid_argument( @@ -331,6 +335,7 @@ void ChebfunBase::derivative(const std::vector<double> &a, */ ChebfunBase_sptr ChebfunBase::integral(const std::vector<double> &a, std::vector<double> &aout) const { + using namespace std::placeholders; if (a.size() != m_x.size()) { throw std::invalid_argument( @@ -926,5 +931,6 @@ ChebfunBase::smooth(const std::vector<double> &xvalues, return y; } +} // Functions } // CurveFitting } // Mantid diff --git a/Framework/CurveFitting/src/Chebyshev.cpp b/Framework/CurveFitting/src/Functions/Chebyshev.cpp similarity index 95% rename from Framework/CurveFitting/src/Chebyshev.cpp rename to Framework/CurveFitting/src/Functions/Chebyshev.cpp index 7da4e1d0b8837453722a2f6952a7becc1c442e98..9395ced590de45f8a22db3d0d092e5b816334a0f 100644 --- a/Framework/CurveFitting/src/Chebyshev.cpp +++ b/Framework/CurveFitting/src/Functions/Chebyshev.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/Chebyshev.h" +#include "MantidCurveFitting/Functions/Chebyshev.h" #include "MantidAPI/FunctionFactory.h" #include <boost/lexical_cast.hpp> @@ -9,8 +9,12 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(Chebyshev) @@ -99,5 +103,6 @@ void Chebyshev::setAttribute(const std::string &attName, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ComptonPeakProfile.cpp b/Framework/CurveFitting/src/Functions/ComptonPeakProfile.cpp similarity index 96% rename from Framework/CurveFitting/src/ComptonPeakProfile.cpp rename to Framework/CurveFitting/src/Functions/ComptonPeakProfile.cpp index 89aaaab815f4d755a8cf390ded7d15b7c16083cd..c10c9bf5a8906fc1f6c2e66630ab2079cee8bb44 100644 --- a/Framework/CurveFitting/src/ComptonPeakProfile.cpp +++ b/Framework/CurveFitting/src/Functions/ComptonPeakProfile.cpp @@ -1,14 +1,17 @@ //----------------------------------------------------------------------------- // Includes //----------------------------------------------------------------------------- -#include "MantidCurveFitting/ComptonPeakProfile.h" -#include "MantidCurveFitting/ConvertToYSpace.h" +#include "MantidCurveFitting/Functions/ComptonPeakProfile.h" +#include "MantidCurveFitting/Algorithms/ConvertToYSpace.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting::Algorithms; DECLARE_FUNCTION(ComptonPeakProfile) @@ -82,6 +85,7 @@ void ComptonPeakProfile::function1D(double *out, const double *xValues, */ void ComptonPeakProfile::setUpForFit() { // Voigt & Gaussian + using namespace Mantid::API; m_gauss = boost::dynamic_pointer_cast<IPeakFunction>( FunctionFactory::Instance().createFunction("Gaussian")); @@ -165,5 +169,6 @@ void ComptonPeakProfile::setAttribute(const std::string &name, m_voigtCutOff = value.asDouble(); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ComptonProfile.cpp b/Framework/CurveFitting/src/Functions/ComptonProfile.cpp similarity index 94% rename from Framework/CurveFitting/src/ComptonProfile.cpp rename to Framework/CurveFitting/src/Functions/ComptonProfile.cpp index b7d2ede6cb7e7a10737f3f58823e84be996deceb..f93325fcd70707d6667bbe5d1e0bfab7c89e5a2c 100644 --- a/Framework/CurveFitting/src/ComptonProfile.cpp +++ b/Framework/CurveFitting/src/Functions/ComptonProfile.cpp @@ -1,13 +1,17 @@ //----------------------------------------------------------------------------- // Includes //----------------------------------------------------------------------------- -#include "MantidCurveFitting/ComptonProfile.h" -#include "MantidCurveFitting/ConvertToYSpace.h" +#include "MantidCurveFitting/Functions/ComptonProfile.h" +#include "MantidCurveFitting/Algorithms/ConvertToYSpace.h" #include "MantidAPI/FunctionFactory.h" #include <gsl/gsl_poly.h> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; +using namespace CurveFitting::Algorithms; namespace { ///@cond @@ -24,6 +28,7 @@ ComptonProfile::ComptonProfile() : API::ParamFunction(), API::IFunction1D(), m_log("ComptonProfile"), m_wsIndex(0), m_mass(0.0), m_voigt(), m_resolutionFunction(), m_yspace(), m_modQ(), m_e0() { + using namespace Mantid::API; m_resolutionFunction = boost::dynamic_pointer_cast<VesuvioResolution>( FunctionFactory::Instance().createFunction("VesuvioResolution")); @@ -53,6 +58,7 @@ void ComptonProfile::function1D(double *out, const double *xValues, * Creates the internal caches */ void ComptonProfile::setUpForFit() { + using namespace Mantid::API; m_voigt = boost::dynamic_pointer_cast<IPeakFunction>( FunctionFactory::Instance().createFunction("Voigt")); @@ -92,7 +98,7 @@ void ComptonProfile::setMatrixWorkspace( m_resolutionFunction->setAttributeValue("Mass", m_mass); m_resolutionFunction->setMatrixWorkspace(workspace, wsIndex, startX, endX); - DetectorParams detpar = + Algorithms::DetectorParams detpar = ConvertToYSpace::getDetectorParameters(workspace, m_wsIndex); this->cacheYSpaceValues(workspace->readX(m_wsIndex), workspace->isHistogramData(), detpar); @@ -100,7 +106,7 @@ void ComptonProfile::setMatrixWorkspace( void ComptonProfile::cacheYSpaceValues(const std::vector<double> &tseconds, const bool isHistogram, - const DetectorParams &detpar, + const Algorithms::DetectorParams &detpar, const ResolutionParams &respar) { m_resolutionFunction->cacheResolutionComponents(detpar, respar); this->cacheYSpaceValues(tseconds, isHistogram, detpar); @@ -111,9 +117,9 @@ void ComptonProfile::cacheYSpaceValues(const std::vector<double> &tseconds, * @param isHistogram True if histogram tof values have been passed in * @param detpar Structure containing detector parameters */ -void ComptonProfile::cacheYSpaceValues(const std::vector<double> &tseconds, - const bool isHistogram, - const DetectorParams &detpar) { +void ComptonProfile::cacheYSpaceValues( + const std::vector<double> &tseconds, const bool isHistogram, + const Algorithms::DetectorParams &detpar) { // ------ Fixed coefficients related to resolution & Y-space transforms // ------------------ const double mevToK = PhysicalConstants::E_mev_toNeutronWavenumberSq; @@ -235,5 +241,6 @@ void ComptonProfile::voigtApproxDiff(std::vector<double> &voigtDiff, 2.0 * std::pow(epsilon, 3))); // divided by (2eps^3) } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ComptonScatteringCountRate.cpp b/Framework/CurveFitting/src/Functions/ComptonScatteringCountRate.cpp similarity index 99% rename from Framework/CurveFitting/src/ComptonScatteringCountRate.cpp rename to Framework/CurveFitting/src/Functions/ComptonScatteringCountRate.cpp index 67051c8d3166b3db68469c9919495d4f958e1e87..fa9ed893cb00c3a6785ce0b2285aafa9fe457461 100644 --- a/Framework/CurveFitting/src/ComptonScatteringCountRate.cpp +++ b/Framework/CurveFitting/src/Functions/ComptonScatteringCountRate.cpp @@ -1,4 +1,4 @@ -#include "MantidCurveFitting/ComptonScatteringCountRate.h" +#include "MantidCurveFitting/Functions/ComptonScatteringCountRate.h" #include "MantidCurveFitting/AugmentedLagrangianOptimizer.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/MatrixWorkspace.h" @@ -10,6 +10,9 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using Kernel::Logger; namespace { @@ -445,5 +448,6 @@ void ComptonScatteringCountRate::createEqualityCM(const size_t nmasses) { } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/Convolution.cpp b/Framework/CurveFitting/src/Functions/Convolution.cpp similarity index 98% rename from Framework/CurveFitting/src/Convolution.cpp rename to Framework/CurveFitting/src/Functions/Convolution.cpp index db1f62ad49f2d0a9f2f960e59b4b507e5f3e0472..00ed29d4c139058504875f9b573db92e8002d028 100644 --- a/Framework/CurveFitting/src/Convolution.cpp +++ b/Framework/CurveFitting/src/Functions/Convolution.cpp @@ -1,8 +1,8 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/Convolution.h" -#include "MantidCurveFitting/DeltaFunction.h" +#include "MantidCurveFitting/Functions/Convolution.h" +#include "MantidCurveFitting/Functions/DeltaFunction.h" #include "MantidAPI/IFunction1D.h" #include "MantidAPI/FunctionFactory.h" @@ -20,8 +20,12 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(Convolution) @@ -297,5 +301,6 @@ void Convolution::refreshResolution() const { m_resolution.clear(); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/CubicSpline.cpp b/Framework/CurveFitting/src/Functions/CubicSpline.cpp similarity index 98% rename from Framework/CurveFitting/src/CubicSpline.cpp rename to Framework/CurveFitting/src/Functions/CubicSpline.cpp index b955d04215d02d904e00193dfd0cddfeba7079f4..d13cb126fdd0971edc5a8a2b9f08aa8b925b32c5 100644 --- a/Framework/CurveFitting/src/CubicSpline.cpp +++ b/Framework/CurveFitting/src/Functions/CubicSpline.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/CubicSpline.h" +#include "MantidCurveFitting/Functions/CubicSpline.h" #include "MantidAPI/FunctionFactory.h" #include "MantidKernel/Logger.h" @@ -12,12 +12,16 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; namespace { /// static logger Kernel::Logger g_log("CubicSpline"); } using namespace Kernel; + using namespace API; DECLARE_FUNCTION(CubicSpline) @@ -358,5 +362,6 @@ void CubicSpline::reallocGSLObjects(const int n) { * */ CubicSpline::~CubicSpline() {} +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/DeltaFunction.cpp b/Framework/CurveFitting/src/Functions/DeltaFunction.cpp similarity index 87% rename from Framework/CurveFitting/src/DeltaFunction.cpp rename to Framework/CurveFitting/src/Functions/DeltaFunction.cpp index 883e0ed542810809d9c777fe98c4c5b15392dcf1..aa26ab1c786ff2f8747568353edd6f4078923b67 100644 --- a/Framework/CurveFitting/src/DeltaFunction.cpp +++ b/Framework/CurveFitting/src/Functions/DeltaFunction.cpp @@ -1,14 +1,18 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/DeltaFunction.h" +#include "MantidCurveFitting/Functions/DeltaFunction.h" #include "MantidAPI/FunctionFactory.h" #include <algorithm> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(DeltaFunction) @@ -32,5 +36,6 @@ void DeltaFunction::functionDeriv1D(Jacobian *out, const double *xValues, std::runtime_error("Cannot compute derivative of a delta function"); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/DiffRotDiscreteCircle.cpp b/Framework/CurveFitting/src/Functions/DiffRotDiscreteCircle.cpp similarity index 97% rename from Framework/CurveFitting/src/DiffRotDiscreteCircle.cpp rename to Framework/CurveFitting/src/Functions/DiffRotDiscreteCircle.cpp index ceb07007e2621508b37ecb0b0dcc4e22bce68a79..f295573909e3ba7653a4aad0a806f57f97d95496 100644 --- a/Framework/CurveFitting/src/DiffRotDiscreteCircle.cpp +++ b/Framework/CurveFitting/src/Functions/DiffRotDiscreteCircle.cpp @@ -1,12 +1,12 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/DiffRotDiscreteCircle.h" +#include "MantidCurveFitting/Functions/DiffRotDiscreteCircle.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/MatrixWorkspace.h" #include "MantidAPI/ParameterTie.h" -#include "MantidCurveFitting/BoundaryConstraint.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" #include "MantidGeometry/IDetector.h" #include "MantidKernel/Exception.h" #include "MantidKernel/UnitConversion.h" @@ -20,8 +20,13 @@ Mantid::Kernel::Logger g_log("DiffSphere"); namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; +using namespace Constraints; using namespace API; + using namespace Geometry; DECLARE_FUNCTION(ElasticDiffRotDiscreteCircle) @@ -247,5 +252,6 @@ void DiffRotDiscreteCircle::init() { applyTies(); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/DiffSphere.cpp b/Framework/CurveFitting/src/Functions/DiffSphere.cpp similarity index 98% rename from Framework/CurveFitting/src/DiffSphere.cpp rename to Framework/CurveFitting/src/Functions/DiffSphere.cpp index bf7d4a803090902fc2df9b2c8675326f61196db4..19519493021e0af64a1816b461d1d68332fdbaa8 100644 --- a/Framework/CurveFitting/src/DiffSphere.cpp +++ b/Framework/CurveFitting/src/Functions/DiffSphere.cpp @@ -1,12 +1,12 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/DiffSphere.h" +#include "MantidCurveFitting/Functions/DiffSphere.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/MatrixWorkspace.h" #include "MantidAPI/ParameterTie.h" -#include "MantidCurveFitting/BoundaryConstraint.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" #include "MantidGeometry/IDetector.h" #include "MantidKernel/Exception.h" #include "MantidKernel/UnitConversion.h" @@ -22,9 +22,15 @@ Mantid::Kernel::Logger g_log("DiffSphere"); namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; +using namespace Constraints; using namespace API; + using namespace Geometry; + using namespace Kernel; DECLARE_FUNCTION(ElasticDiffSphere) @@ -351,5 +357,6 @@ void DiffSphere::init() { applyTies(); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/DynamicKuboToyabe.cpp b/Framework/CurveFitting/src/Functions/DynamicKuboToyabe.cpp similarity index 98% rename from Framework/CurveFitting/src/DynamicKuboToyabe.cpp rename to Framework/CurveFitting/src/Functions/DynamicKuboToyabe.cpp index e62d0ba82c49eb9694c16d02874baf371cb0b1c5..e90d834562d8ce0768ab38f196a97d142b2686e8 100644 --- a/Framework/CurveFitting/src/DynamicKuboToyabe.cpp +++ b/Framework/CurveFitting/src/Functions/DynamicKuboToyabe.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/DynamicKuboToyabe.h" +#include "MantidCurveFitting/Functions/DynamicKuboToyabe.h" #include "MantidAPI/Jacobian.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/MatrixWorkspace.h" @@ -9,8 +9,12 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(DynamicKuboToyabe) @@ -375,5 +379,6 @@ bool DynamicKuboToyabe::hasAttribute(const std::string &attName) const { return attName == "BinWidth"; } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/EndErfc.cpp b/Framework/CurveFitting/src/Functions/EndErfc.cpp similarity index 91% rename from Framework/CurveFitting/src/EndErfc.cpp rename to Framework/CurveFitting/src/Functions/EndErfc.cpp index 7d5de37a67dd28340214068459843a2f09d31b99..ed8101f7d9a15b3a8c392225b17af219009fcc88 100644 --- a/Framework/CurveFitting/src/EndErfc.cpp +++ b/Framework/CurveFitting/src/Functions/EndErfc.cpp @@ -1,15 +1,19 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/EndErfc.h" +#include "MantidCurveFitting/Functions/EndErfc.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> #include <gsl/gsl_sf_erf.h> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(EndErfc) @@ -51,5 +55,6 @@ void EndErfc::setActiveParameter(size_t i, double value) { setParameter(j, value, false); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ExpDecay.cpp b/Framework/CurveFitting/src/Functions/ExpDecay.cpp similarity index 90% rename from Framework/CurveFitting/src/ExpDecay.cpp rename to Framework/CurveFitting/src/Functions/ExpDecay.cpp index c5d92311a04e1c729ccb877ec42cf047f9a2d070..3f26962c469291157c260c23e1c1c15ea63bf4c9 100644 --- a/Framework/CurveFitting/src/ExpDecay.cpp +++ b/Framework/CurveFitting/src/Functions/ExpDecay.cpp @@ -1,14 +1,18 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/ExpDecay.h" +#include "MantidCurveFitting/Functions/ExpDecay.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(ExpDecay) @@ -41,5 +45,6 @@ void ExpDecay::functionDeriv1D(Jacobian *out, const double *xValues, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ExpDecayMuon.cpp b/Framework/CurveFitting/src/Functions/ExpDecayMuon.cpp similarity index 90% rename from Framework/CurveFitting/src/ExpDecayMuon.cpp rename to Framework/CurveFitting/src/Functions/ExpDecayMuon.cpp index 2f0867e8c10b8111da7e4de914c9bcc43a18d802..748b7ed6bae725f0eeb5eb5127f2fa88c28986da 100644 --- a/Framework/CurveFitting/src/ExpDecayMuon.cpp +++ b/Framework/CurveFitting/src/Functions/ExpDecayMuon.cpp @@ -1,14 +1,18 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/ExpDecayMuon.h" +#include "MantidCurveFitting/Functions/ExpDecayMuon.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(ExpDecayMuon) @@ -41,5 +45,6 @@ void ExpDecayMuon::functionDeriv1D(Jacobian *out, const double *xValues, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ExpDecayOsc.cpp b/Framework/CurveFitting/src/Functions/ExpDecayOsc.cpp similarity index 94% rename from Framework/CurveFitting/src/ExpDecayOsc.cpp rename to Framework/CurveFitting/src/Functions/ExpDecayOsc.cpp index f3d677feee5204237636b8284c4446584b5164e0..53713374e6a8df68779401578a7d827b97810047 100644 --- a/Framework/CurveFitting/src/ExpDecayOsc.cpp +++ b/Framework/CurveFitting/src/Functions/ExpDecayOsc.cpp @@ -1,14 +1,18 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/ExpDecayOsc.h" +#include "MantidCurveFitting/Functions/ExpDecayOsc.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(ExpDecayOsc) @@ -68,5 +72,6 @@ void ExpDecayOsc::setActiveParameter(size_t i, double value) { setParameter(j, value, false); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/FlatBackground.cpp b/Framework/CurveFitting/src/Functions/FlatBackground.cpp similarity index 92% rename from Framework/CurveFitting/src/FlatBackground.cpp rename to Framework/CurveFitting/src/Functions/FlatBackground.cpp index d1fc5c08ad6a7e1051cf4124ec6cf58256f21a3b..e73d11ecb56b9cefc4505bb0ebcafdd6689f3f31 100644 --- a/Framework/CurveFitting/src/FlatBackground.cpp +++ b/Framework/CurveFitting/src/Functions/FlatBackground.cpp @@ -1,12 +1,16 @@ -#include "MantidCurveFitting/FlatBackground.h" +#include "MantidCurveFitting/Functions/FlatBackground.h" #include "MantidAPI/FunctionFactory.h" #include "MantidKernel/System.h" using namespace Mantid::Kernel; + using namespace Mantid::API; namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; DECLARE_FUNCTION(FlatBackground) //---------------------------------------------------------------------------------------------- @@ -60,4 +64,5 @@ void FlatBackground::functionDeriv1D(API::Jacobian *out, const double *xValues, } } // namespace Mantid +} // namespace Functions } // namespace CurveFitting diff --git a/Framework/CurveFitting/src/FullprofPolynomial.cpp b/Framework/CurveFitting/src/Functions/FullprofPolynomial.cpp similarity index 97% rename from Framework/CurveFitting/src/FullprofPolynomial.cpp rename to Framework/CurveFitting/src/Functions/FullprofPolynomial.cpp index c11007ea6c0ff153321d028c68eee5b9edd990b4..0c694afb8b925a73e6614f2758d64f771725237f 100644 --- a/Framework/CurveFitting/src/FullprofPolynomial.cpp +++ b/Framework/CurveFitting/src/Functions/FullprofPolynomial.cpp @@ -1,9 +1,12 @@ -#include "MantidCurveFitting/FullprofPolynomial.h" +#include "MantidCurveFitting/Functions/FullprofPolynomial.h" #include "MantidAPI/FunctionFactory.h" #include <boost/lexical_cast.hpp> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; DECLARE_FUNCTION(FullprofPolynomial) @@ -161,5 +164,6 @@ bool FullprofPolynomial::hasAttribute(const std::string &attName) const { return has; } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/GausDecay.cpp b/Framework/CurveFitting/src/Functions/GausDecay.cpp similarity index 91% rename from Framework/CurveFitting/src/GausDecay.cpp rename to Framework/CurveFitting/src/Functions/GausDecay.cpp index 1497dbd6af7153865b61fb19ed45d4b0fc69f204..62e7fa7b723c6c9d88c9175bdd8a271d0a88c962 100644 --- a/Framework/CurveFitting/src/GausDecay.cpp +++ b/Framework/CurveFitting/src/Functions/GausDecay.cpp @@ -1,14 +1,18 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/GausDecay.h" +#include "MantidCurveFitting/Functions/GausDecay.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(GausDecay) @@ -51,5 +55,6 @@ void GausDecay::setActiveParameter(size_t i, double value) { setParameter(j, value, false); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/GausOsc.cpp b/Framework/CurveFitting/src/Functions/GausOsc.cpp similarity index 94% rename from Framework/CurveFitting/src/GausOsc.cpp rename to Framework/CurveFitting/src/Functions/GausOsc.cpp index fbf341f190a4665c037e4d8cdc935aed2ffbdac1..54b17aec67d9e64e675c0d28e4054c6f908aebb9 100644 --- a/Framework/CurveFitting/src/GausOsc.cpp +++ b/Framework/CurveFitting/src/Functions/GausOsc.cpp @@ -1,14 +1,18 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/GausOsc.h" +#include "MantidCurveFitting/Functions/GausOsc.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(GausOsc) @@ -69,5 +73,6 @@ void GausOsc::setActiveParameter(size_t i, double value) { setParameter(j, value, false); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/Gaussian.cpp b/Framework/CurveFitting/src/Functions/Gaussian.cpp similarity index 94% rename from Framework/CurveFitting/src/Gaussian.cpp rename to Framework/CurveFitting/src/Functions/Gaussian.cpp index 886d31e3f3ef9c0abe4a87030d2e5f2621668f2e..eeacee84e14d13cca2f551c7fb8dd0a864134e12 100644 --- a/Framework/CurveFitting/src/Gaussian.cpp +++ b/Framework/CurveFitting/src/Functions/Gaussian.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/Gaussian.h" +#include "MantidCurveFitting/Functions/Gaussian.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> @@ -9,8 +9,12 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(Gaussian) @@ -69,5 +73,6 @@ double Gaussian::activeParameter(size_t i) const { return getParameter(i); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/GaussianComptonProfile.cpp b/Framework/CurveFitting/src/Functions/GaussianComptonProfile.cpp similarity index 96% rename from Framework/CurveFitting/src/GaussianComptonProfile.cpp rename to Framework/CurveFitting/src/Functions/GaussianComptonProfile.cpp index 3cc941c99647c2c51097a6c5f2f81326a2611cc0..23af0e475ee0caf438272c175d588066b1cb2111 100644 --- a/Framework/CurveFitting/src/GaussianComptonProfile.cpp +++ b/Framework/CurveFitting/src/Functions/GaussianComptonProfile.cpp @@ -1,13 +1,16 @@ //------------------------------------------------------------------------------------------------ // Includes //------------------------------------------------------------------------------------------------ -#include "MantidCurveFitting/GaussianComptonProfile.h" +#include "MantidCurveFitting/Functions/GaussianComptonProfile.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; DECLARE_FUNCTION(GaussianComptonProfile) const char *WIDTH_PARAM = "Width"; @@ -112,5 +115,6 @@ void GaussianComptonProfile::massProfile(double *result, const size_t nData, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/GramCharlierComptonProfile.cpp b/Framework/CurveFitting/src/Functions/GramCharlierComptonProfile.cpp similarity index 98% rename from Framework/CurveFitting/src/GramCharlierComptonProfile.cpp rename to Framework/CurveFitting/src/Functions/GramCharlierComptonProfile.cpp index 7003021e27ecf3f23f1e331fb07d307eb1c9db38..dcefc759c3041571c04728526393f096af35dbae 100644 --- a/Framework/CurveFitting/src/GramCharlierComptonProfile.cpp +++ b/Framework/CurveFitting/src/Functions/GramCharlierComptonProfile.cpp @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------------------------ // Includes //------------------------------------------------------------------------------------------------ -#include "MantidCurveFitting/GramCharlierComptonProfile.h" +#include "MantidCurveFitting/Functions/GramCharlierComptonProfile.h" #include "MantidAPI/FunctionFactory.h" #include "MantidKernel/Math/Distributions/HermitePolynomials.h" @@ -14,6 +14,9 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; // Register into factory DECLARE_FUNCTION(GramCharlierComptonProfile) @@ -247,6 +250,7 @@ size_t GramCharlierComptonProfile::fillConstraintMatrix( void GramCharlierComptonProfile::massProfile(double *result, const size_t nData) const { UNUSED_ARG(nData); + using namespace Mantid::Kernel; // Hermite expansion (only even terms) + FSE term @@ -275,6 +279,7 @@ void GramCharlierComptonProfile::massProfile(double *result, */ void GramCharlierComptonProfile::addMassProfile( double *result, const unsigned int npoly) const { + using namespace Mantid::Kernel; const double amp(1.0), wg(getParameter(WIDTH_PARAM)); @@ -300,6 +305,7 @@ void GramCharlierComptonProfile::addMassProfile( */ void GramCharlierComptonProfile::addFSETerm(std::vector<double> &lhs) const { assert(static_cast<size_t>(NFINE_Y) == lhs.size()); + using namespace Mantid::Kernel; const double amp(1.0), wg(getParameter(WIDTH_PARAM)); @@ -362,7 +368,7 @@ void GramCharlierComptonProfile::setMatrixWorkspace( */ void GramCharlierComptonProfile::cacheYSpaceValues( const std::vector<double> &tseconds, const bool isHistogram, - const DetectorParams &detpar) { + const Algorithms::DetectorParams &detpar) { ComptonProfile::cacheYSpaceValues(tseconds, isHistogram, detpar); // base-class calculations @@ -438,5 +444,6 @@ void GramCharlierComptonProfile::cacheYSpaceValues( // vector } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/IkedaCarpenterPV.cpp b/Framework/CurveFitting/src/Functions/IkedaCarpenterPV.cpp similarity index 97% rename from Framework/CurveFitting/src/IkedaCarpenterPV.cpp rename to Framework/CurveFitting/src/Functions/IkedaCarpenterPV.cpp index 527a9c39698081e58d8acc3d322ee20b35585697..519f78976bd762d60dcdab2afc56eedbceba0123 100644 --- a/Framework/CurveFitting/src/IkedaCarpenterPV.cpp +++ b/Framework/CurveFitting/src/Functions/IkedaCarpenterPV.cpp @@ -1,8 +1,8 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/IkedaCarpenterPV.h" -#include "MantidCurveFitting/BoundaryConstraint.h" +#include "MantidCurveFitting/Functions/IkedaCarpenterPV.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" #include "MantidCurveFitting/SpecialFunctionSupport.h" #include "MantidAPI/MatrixWorkspace.h" #include "MantidAPI/FunctionFactory.h" @@ -21,6 +21,9 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; namespace { /// static logger @@ -28,8 +31,11 @@ Kernel::Logger g_log("IkedaCarpenterPV"); } using namespace Kernel; -using namespace SpecialFunctionSupport; + +using namespace CurveFitting::SpecialFunctionSupport; + using namespace Geometry; +using namespace Constraints; DECLARE_FUNCTION(IkedaCarpenterPV) @@ -366,5 +372,6 @@ void IkedaCarpenterPV::functionDeriv(const API::FunctionDomain &domain, calNumericalDeriv(domain, jacobian); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/LinearBackground.cpp b/Framework/CurveFitting/src/Functions/LinearBackground.cpp similarity index 94% rename from Framework/CurveFitting/src/LinearBackground.cpp rename to Framework/CurveFitting/src/Functions/LinearBackground.cpp index 5961d95a20ed370a835d6464e891ba1d56d27db1..de365f0d88caddcebecc73905b980b9156f64983 100644 --- a/Framework/CurveFitting/src/LinearBackground.cpp +++ b/Framework/CurveFitting/src/Functions/LinearBackground.cpp @@ -1,13 +1,17 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/LinearBackground.h" +#include "MantidCurveFitting/Functions/LinearBackground.h" #include "MantidAPI/FunctionFactory.h" namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(LinearBackground) @@ -79,5 +83,6 @@ void LinearBackground::fit(const std::vector<double> &X, setParameter("A1", a1); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/LogNormal.cpp b/Framework/CurveFitting/src/Functions/LogNormal.cpp similarity index 95% rename from Framework/CurveFitting/src/LogNormal.cpp rename to Framework/CurveFitting/src/Functions/LogNormal.cpp index e7cba5f58ea4f41da6946e3452617b53bfd48fbf..85e24ebfcf8ecd2a6705f68c61793754a6851b91 100644 --- a/Framework/CurveFitting/src/LogNormal.cpp +++ b/Framework/CurveFitting/src/Functions/LogNormal.cpp @@ -1,14 +1,18 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/LogNormal.h" +#include "MantidCurveFitting/Functions/LogNormal.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(LogNormal) @@ -78,5 +82,6 @@ void LogNormal::functionDeriv1D(API::Jacobian *out, const double *xValues, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/Lorentzian.cpp b/Framework/CurveFitting/src/Functions/Lorentzian.cpp similarity index 94% rename from Framework/CurveFitting/src/Lorentzian.cpp rename to Framework/CurveFitting/src/Functions/Lorentzian.cpp index 8d58c9a3915b9d7bd87d8d9da9be2a6f5ae70be0..0b5d4b534624e37d6e81d22b099809d16d1ac346 100644 --- a/Framework/CurveFitting/src/Lorentzian.cpp +++ b/Framework/CurveFitting/src/Functions/Lorentzian.cpp @@ -1,14 +1,18 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/Lorentzian.h" +#include "MantidCurveFitting/Functions/Lorentzian.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(Lorentzian) @@ -75,5 +79,6 @@ void Lorentzian::functionDerivLocal(Jacobian *out, const double *xValues, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/Lorentzian1D.cpp b/Framework/CurveFitting/src/Functions/Lorentzian1D.cpp similarity index 95% rename from Framework/CurveFitting/src/Lorentzian1D.cpp rename to Framework/CurveFitting/src/Functions/Lorentzian1D.cpp index 763d9a92ed152d2f081d9dfb6ae8bdfe627b537f..1c19669665cef0be1ff816dc5d58c0074c2a8465 100644 --- a/Framework/CurveFitting/src/Lorentzian1D.cpp +++ b/Framework/CurveFitting/src/Functions/Lorentzian1D.cpp @@ -1,13 +1,16 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/Lorentzian1D.h" +#include "MantidCurveFitting/Functions/Lorentzian1D.h" #include <gsl/gsl_sf_erf.h> #include <gsl/gsl_multifit_nlin.h> #include "MantidKernel/BoundedValidator.h" namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using API::Jacobian; // Register the class into the algorithm factory @@ -69,5 +72,6 @@ void Lorentzian1D::functionDeriv(const double *in, Jacobian *out, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/MuonFInteraction.cpp b/Framework/CurveFitting/src/Functions/MuonFInteraction.cpp similarity index 90% rename from Framework/CurveFitting/src/MuonFInteraction.cpp rename to Framework/CurveFitting/src/Functions/MuonFInteraction.cpp index a11f82c92ae02a68df3adeb7030eeeed61e72b4b..4fcb0672c65bf56ee6691a3b0880d4d2f23fcba0 100644 --- a/Framework/CurveFitting/src/MuonFInteraction.cpp +++ b/Framework/CurveFitting/src/Functions/MuonFInteraction.cpp @@ -1,14 +1,18 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/MuonFInteraction.h" +#include "MantidCurveFitting/Functions/MuonFInteraction.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(MuonFInteraction) @@ -40,5 +44,6 @@ void MuonFInteraction::function1D(double *out, const double *xValues, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/NeutronBk2BkExpConvPVoigt.cpp b/Framework/CurveFitting/src/Functions/NeutronBk2BkExpConvPVoigt.cpp similarity index 99% rename from Framework/CurveFitting/src/NeutronBk2BkExpConvPVoigt.cpp rename to Framework/CurveFitting/src/Functions/NeutronBk2BkExpConvPVoigt.cpp index 9f4d315690da912d41a074727fa5cb012015d8a3..c451d8d528adedf27626917dd0b574be8fffcbda 100644 --- a/Framework/CurveFitting/src/NeutronBk2BkExpConvPVoigt.cpp +++ b/Framework/CurveFitting/src/Functions/NeutronBk2BkExpConvPVoigt.cpp @@ -1,4 +1,4 @@ -#include "MantidCurveFitting/NeutronBk2BkExpConvPVoigt.h" +#include "MantidCurveFitting/Functions/NeutronBk2BkExpConvPVoigt.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/ParamFunction.h" #include "MantidKernel/EmptyValues.h" @@ -17,6 +17,9 @@ using namespace std; namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; namespace { /// static logger Kernel::Logger g_log("NeutronBk2BkExpConvPV"); @@ -504,5 +507,6 @@ double NeutronBk2BkExpConvPVoigt::calOmega(const double x, const double eta, return omega; } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/PawleyFunction.cpp b/Framework/CurveFitting/src/Functions/PawleyFunction.cpp similarity index 98% rename from Framework/CurveFitting/src/PawleyFunction.cpp rename to Framework/CurveFitting/src/Functions/PawleyFunction.cpp index ab4c06fb473da7c04457368a46baeed882992d86..2f4231d00f45460479cb798489372750eca5f56c 100644 --- a/Framework/CurveFitting/src/PawleyFunction.cpp +++ b/Framework/CurveFitting/src/Functions/PawleyFunction.cpp @@ -1,9 +1,9 @@ -#include "MantidCurveFitting/PawleyFunction.h" +#include "MantidCurveFitting/Functions/PawleyFunction.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/MatrixWorkspace.h" -#include "MantidCurveFitting/BoundaryConstraint.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" #include "MantidKernel/UnitConversion.h" #include "MantidKernel/UnitFactory.h" @@ -13,11 +13,17 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; +using namespace Constraints; DECLARE_FUNCTION(PawleyParameterFunction) using namespace API; + using namespace Geometry; + using namespace Kernel; /// Constructor @@ -572,5 +578,6 @@ void PawleyFunction::beforeDecoratedFunctionSet(const API::IFunction_sptr &fn) { } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/PeakParameterFunction.cpp b/Framework/CurveFitting/src/Functions/PeakParameterFunction.cpp similarity index 93% rename from Framework/CurveFitting/src/PeakParameterFunction.cpp rename to Framework/CurveFitting/src/Functions/PeakParameterFunction.cpp index 068e7d5440dcf0f2e3dae8b5ff1cc009a4d61274..5991f2ad484d034df9434b38cb1a7a29329fc232 100644 --- a/Framework/CurveFitting/src/PeakParameterFunction.cpp +++ b/Framework/CurveFitting/src/Functions/PeakParameterFunction.cpp @@ -1,9 +1,12 @@ -#include "MantidCurveFitting/PeakParameterFunction.h" +#include "MantidCurveFitting/Functions/PeakParameterFunction.h" #include "MantidAPI/IPeakFunction.h" #include "MantidAPI/FunctionFactory.h" namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace API; @@ -59,5 +62,6 @@ void PeakParameterFunction::beforeDecoratedFunctionSet( m_peakFunction = peakFunction; } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/Polynomial.cpp b/Framework/CurveFitting/src/Functions/Polynomial.cpp similarity index 97% rename from Framework/CurveFitting/src/Polynomial.cpp rename to Framework/CurveFitting/src/Functions/Polynomial.cpp index d6b20c93df577952f06af3527ebccffd30c9a685..800902e4ffabba0586b272a7f9cf0ef3145609f5 100644 --- a/Framework/CurveFitting/src/Polynomial.cpp +++ b/Framework/CurveFitting/src/Functions/Polynomial.cpp @@ -1,14 +1,18 @@ -#include "MantidCurveFitting/Polynomial.h" +#include "MantidCurveFitting/Functions/Polynomial.h" #include "MantidAPI/FunctionFactory.h" #include <boost/lexical_cast.hpp> using namespace Mantid::Kernel; + using namespace Mantid::API; using namespace std; namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; DECLARE_FUNCTION(Polynomial) @@ -154,5 +158,6 @@ bool Polynomial::hasAttribute(const std::string &attName) const { return attName == "n"; } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ProcessBackground.cpp b/Framework/CurveFitting/src/Functions/ProcessBackground.cpp similarity index 98% rename from Framework/CurveFitting/src/ProcessBackground.cpp rename to Framework/CurveFitting/src/Functions/ProcessBackground.cpp index d6bd7e43f1a3cf57dab73270076e1b83b6994019..3df0c026c17f7f09df892405a48b89137f95b329 100644 --- a/Framework/CurveFitting/src/ProcessBackground.cpp +++ b/Framework/CurveFitting/src/Functions/ProcessBackground.cpp @@ -1,4 +1,4 @@ -#include "MantidCurveFitting/ProcessBackground.h" +#include "MantidCurveFitting/Functions/ProcessBackground.h" #include "MantidAPI/WorkspaceProperty.h" #include "MantidKernel/Property.h" #include "MantidKernel/ListValidator.h" @@ -6,8 +6,8 @@ #include "MantidKernel/VisibleWhenProperty.h" #include "MantidAPI/WorkspaceFactory.h" #include "MantidAPI/MatrixWorkspace.h" -#include "MantidCurveFitting/Polynomial.h" -#include "MantidCurveFitting/Chebyshev.h" +#include "MantidCurveFitting/Functions/Polynomial.h" +#include "MantidCurveFitting/Functions/Chebyshev.h" #include "MantidDataObjects/TableWorkspace.h" #include "MantidGeometry/Crystal/IPeak.h" #include "MantidAPI/TableRow.h" @@ -17,15 +17,22 @@ #include <boost/algorithm/string/split.hpp> using namespace Mantid; + using namespace Mantid::API; + using namespace Mantid::Kernel; + using namespace Mantid::DataObjects; + using namespace Mantid::CurveFitting; using namespace std; namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; DECLARE_ALGORITHM(ProcessBackground) @@ -677,17 +684,16 @@ ProcessBackground::autoBackgroundSelection(Workspace2D_sptr bkgdWS) { */ BackgroundFunction_sptr ProcessBackground::createBackgroundFunction(const string backgroundtype) { - CurveFitting::BackgroundFunction_sptr bkgdfunction; + Functions::BackgroundFunction_sptr bkgdfunction; if (backgroundtype.compare("Polynomial") == 0) { - bkgdfunction = - boost::dynamic_pointer_cast<CurveFitting::BackgroundFunction>( - boost::make_shared<CurveFitting::Polynomial>()); + bkgdfunction = boost::dynamic_pointer_cast<Functions::BackgroundFunction>( + boost::make_shared<Functions::Polynomial>()); bkgdfunction->initialize(); } else if (backgroundtype.compare("Chebyshev") == 0) { - Chebyshev_sptr cheby = boost::make_shared<CurveFitting::Chebyshev>(); + Chebyshev_sptr cheby = boost::make_shared<Functions::Chebyshev>(); bkgdfunction = - boost::dynamic_pointer_cast<CurveFitting::BackgroundFunction>(cheby); + boost::dynamic_pointer_cast<Functions::BackgroundFunction>(cheby); bkgdfunction->initialize(); g_log.debug() << "[D] Chebyshev is set to range " << m_lowerBound << ", " @@ -1099,5 +1105,6 @@ size_t RemovePeaks::excludePeaks(vector<double> v_inX, vector<bool> &v_useX, return count; } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ProductFunction.cpp b/Framework/CurveFitting/src/Functions/ProductFunction.cpp similarity index 89% rename from Framework/CurveFitting/src/ProductFunction.cpp rename to Framework/CurveFitting/src/Functions/ProductFunction.cpp index 91152ccf885dd482e7f781cf3cbcec49e4986bcc..777e29e20fc2a09b9f1d455a5bb99d526e919aea 100644 --- a/Framework/CurveFitting/src/ProductFunction.cpp +++ b/Framework/CurveFitting/src/Functions/ProductFunction.cpp @@ -1,11 +1,14 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/ProductFunction.h" +#include "MantidCurveFitting/Functions/ProductFunction.h" #include "MantidAPI/FunctionFactory.h" namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; DECLARE_FUNCTION(ProductFunction) @@ -34,5 +37,6 @@ void ProductFunction::functionDeriv(const API::FunctionDomain &domain, calNumericalDeriv(domain, jacobian); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ProductLinearExp.cpp b/Framework/CurveFitting/src/Functions/ProductLinearExp.cpp similarity index 87% rename from Framework/CurveFitting/src/ProductLinearExp.cpp rename to Framework/CurveFitting/src/Functions/ProductLinearExp.cpp index 58079f6a9cdb9d39ad19d0ba3fd67d8c58684e75..c4d3758b8240479f579389db207affbd0c0f8e6b 100644 --- a/Framework/CurveFitting/src/ProductLinearExp.cpp +++ b/Framework/CurveFitting/src/Functions/ProductLinearExp.cpp @@ -1,13 +1,17 @@ -#include "MantidCurveFitting/ProductLinearExp.h" -#include "MantidCurveFitting/ExpDecay.h" -#include "MantidCurveFitting/LinearBackground.h" -#include "MantidCurveFitting/ProductFunction.h" +#include "MantidCurveFitting/Functions/ProductLinearExp.h" +#include "MantidCurveFitting/Functions/ExpDecay.h" +#include "MantidCurveFitting/Functions/LinearBackground.h" +#include "MantidCurveFitting/Functions/ProductFunction.h" #include "MantidAPI/FunctionFactory.h" namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(ProductLinearExp) @@ -72,5 +76,6 @@ void ProductLinearExp::function1D(double *out, const double *xValues, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ProductQuadraticExp.cpp b/Framework/CurveFitting/src/Functions/ProductQuadraticExp.cpp similarity index 88% rename from Framework/CurveFitting/src/ProductQuadraticExp.cpp rename to Framework/CurveFitting/src/Functions/ProductQuadraticExp.cpp index 0d6dc24cd0997d06bbf9c44605ec95e1da170f69..5bd2458173bcdc84d300630334c6142f09eb4f04 100644 --- a/Framework/CurveFitting/src/ProductQuadraticExp.cpp +++ b/Framework/CurveFitting/src/Functions/ProductQuadraticExp.cpp @@ -1,11 +1,14 @@ -#include "MantidCurveFitting/ProductQuadraticExp.h" -#include "MantidCurveFitting/ExpDecay.h" -#include "MantidCurveFitting/Quadratic.h" -#include "MantidCurveFitting/ProductFunction.h" +#include "MantidCurveFitting/Functions/ProductQuadraticExp.h" +#include "MantidCurveFitting/Functions/ExpDecay.h" +#include "MantidCurveFitting/Functions/Quadratic.h" +#include "MantidCurveFitting/Functions/ProductFunction.h" #include "MantidAPI/FunctionFactory.h" namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; DECLARE_FUNCTION(ProductQuadraticExp) @@ -73,5 +76,6 @@ void ProductQuadraticExp::function1D(double *out, const double *xValues, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/PseudoVoigt.cpp b/Framework/CurveFitting/src/Functions/PseudoVoigt.cpp similarity index 92% rename from Framework/CurveFitting/src/PseudoVoigt.cpp rename to Framework/CurveFitting/src/Functions/PseudoVoigt.cpp index a492df6add6514a4888fc8eb88b80719fd5c99dd..a0ce2def8134e7420663297cd75c8fb529bc7b94 100644 --- a/Framework/CurveFitting/src/PseudoVoigt.cpp +++ b/Framework/CurveFitting/src/Functions/PseudoVoigt.cpp @@ -1,11 +1,15 @@ -#include "MantidCurveFitting/PseudoVoigt.h" +#include "MantidCurveFitting/Functions/PseudoVoigt.h" #include "MantidAPI/FunctionFactory.h" -#include "MantidCurveFitting/BoundaryConstraint.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; +using namespace Constraints; using namespace API; @@ -83,5 +87,6 @@ void PseudoVoigt::init() { addConstraint(mixingConstraint); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/Quadratic.cpp b/Framework/CurveFitting/src/Functions/Quadratic.cpp similarity index 92% rename from Framework/CurveFitting/src/Quadratic.cpp rename to Framework/CurveFitting/src/Functions/Quadratic.cpp index 0b364ce4a2319cdc0d2b4ef5feb11aad2f1e9963..cb6a2b6f6613a13494efed79a674bedcd94fe056 100644 --- a/Framework/CurveFitting/src/Quadratic.cpp +++ b/Framework/CurveFitting/src/Functions/Quadratic.cpp @@ -1,13 +1,17 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/Quadratic.h" +#include "MantidCurveFitting/Functions/Quadratic.h" #include "MantidAPI/FunctionFactory.h" namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(Quadratic) @@ -53,5 +57,6 @@ void Quadratic::functionDeriv1D(API::Jacobian *out, const double *xValues, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ReflectivityMulf.cpp b/Framework/CurveFitting/src/Functions/ReflectivityMulf.cpp similarity index 98% rename from Framework/CurveFitting/src/ReflectivityMulf.cpp rename to Framework/CurveFitting/src/Functions/ReflectivityMulf.cpp index 17ab832f7de39c76e1e7bc4e17654844dbce9667..4d84564dd5a0ab38d2ccec35b20b363cbc60dcda 100644 --- a/Framework/CurveFitting/src/ReflectivityMulf.cpp +++ b/Framework/CurveFitting/src/Functions/ReflectivityMulf.cpp @@ -1,15 +1,19 @@ -#include "MantidCurveFitting/ReflectivityMulf.h" +#include "MantidCurveFitting/Functions/ReflectivityMulf.h" #include "MantidAPI/FunctionFactory.h" #include <boost/lexical_cast.hpp> #include <cmath> using namespace Mantid::Kernel; + using namespace Mantid::API; using namespace std; namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; DECLARE_FUNCTION(ReflectivityMulf) @@ -292,5 +296,6 @@ void ReflectivityMulf::setAttribute(const std::string &attName, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/Resolution.cpp b/Framework/CurveFitting/src/Functions/Resolution.cpp similarity index 90% rename from Framework/CurveFitting/src/Resolution.cpp rename to Framework/CurveFitting/src/Functions/Resolution.cpp index 75319dbcb07e8d3e5c43e859a30e364208b6798e..fad3353dbfd1de98e2d4d5f84bfd156a5ab1a35f 100644 --- a/Framework/CurveFitting/src/Resolution.cpp +++ b/Framework/CurveFitting/src/Functions/Resolution.cpp @@ -1,13 +1,17 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/Resolution.h" +#include "MantidCurveFitting/Functions/Resolution.h" #include "MantidAPI/FunctionFactory.h" namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(Resolution) @@ -43,5 +47,6 @@ bool Resolution::hasAttribute(const std::string &attName) const { return m_fun.hasAttribute(attName); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/SimpleChebfun.cpp b/Framework/CurveFitting/src/Functions/SimpleChebfun.cpp similarity index 97% rename from Framework/CurveFitting/src/SimpleChebfun.cpp rename to Framework/CurveFitting/src/Functions/SimpleChebfun.cpp index 9416aaaae314a59def2b0c4b00c2ae95d413ad59..1cc4ce08e3f2f9ed010d08128465edda590161cc 100644 --- a/Framework/CurveFitting/src/SimpleChebfun.cpp +++ b/Framework/CurveFitting/src/Functions/SimpleChebfun.cpp @@ -1,10 +1,13 @@ -#include "MantidCurveFitting/SimpleChebfun.h" +#include "MantidCurveFitting/Functions/SimpleChebfun.h" #include "MantidAPI/IFunction.h" #include <boost/make_shared.hpp> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; //---------------------------------------------------------------------------------------------- /// Constructs a SimpleChebfun that approximates a function with a polynomial of @@ -163,5 +166,6 @@ SimpleChebfun &SimpleChebfun::operator+=(ChebfunFunctionType fun) { return *this; } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/StaticKuboToyabe.cpp b/Framework/CurveFitting/src/Functions/StaticKuboToyabe.cpp similarity index 87% rename from Framework/CurveFitting/src/StaticKuboToyabe.cpp rename to Framework/CurveFitting/src/Functions/StaticKuboToyabe.cpp index 6d96804846ab9f92aa37aa5a8261ced40e400b91..9875e375005a0643d38d89ebbdf44a2fc5a286dc 100644 --- a/Framework/CurveFitting/src/StaticKuboToyabe.cpp +++ b/Framework/CurveFitting/src/Functions/StaticKuboToyabe.cpp @@ -1,14 +1,18 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/StaticKuboToyabe.h" +#include "MantidCurveFitting/Functions/StaticKuboToyabe.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(StaticKuboToyabe) @@ -30,5 +34,6 @@ void StaticKuboToyabe::function1D(double *out, const double *xValues, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/StaticKuboToyabeTimesExpDecay.cpp b/Framework/CurveFitting/src/Functions/StaticKuboToyabeTimesExpDecay.cpp similarity index 87% rename from Framework/CurveFitting/src/StaticKuboToyabeTimesExpDecay.cpp rename to Framework/CurveFitting/src/Functions/StaticKuboToyabeTimesExpDecay.cpp index 8ee826d6dbc1de68b6903e508f3db0124516c15b..33e328757063e52ecbc75829779ec16f6e1dd310 100644 --- a/Framework/CurveFitting/src/StaticKuboToyabeTimesExpDecay.cpp +++ b/Framework/CurveFitting/src/Functions/StaticKuboToyabeTimesExpDecay.cpp @@ -1,11 +1,15 @@ -#include "MantidCurveFitting/StaticKuboToyabeTimesExpDecay.h" +#include "MantidCurveFitting/Functions/StaticKuboToyabeTimesExpDecay.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(StaticKuboToyabeTimesExpDecay) @@ -34,5 +38,6 @@ void StaticKuboToyabeTimesExpDecay::function1D(double *out, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/StaticKuboToyabeTimesGausDecay.cpp b/Framework/CurveFitting/src/Functions/StaticKuboToyabeTimesGausDecay.cpp similarity index 88% rename from Framework/CurveFitting/src/StaticKuboToyabeTimesGausDecay.cpp rename to Framework/CurveFitting/src/Functions/StaticKuboToyabeTimesGausDecay.cpp index 50a84ee40c92b50a38917037d2c481a1a111b102..3fd2c5394f95286b21697564df093db0039f9d92 100644 --- a/Framework/CurveFitting/src/StaticKuboToyabeTimesGausDecay.cpp +++ b/Framework/CurveFitting/src/Functions/StaticKuboToyabeTimesGausDecay.cpp @@ -1,10 +1,15 @@ -#include "MantidCurveFitting/StaticKuboToyabeTimesGausDecay.h" +#include "MantidCurveFitting/Functions/StaticKuboToyabeTimesGausDecay.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; + using namespace Kernel; + using namespace API; DECLARE_FUNCTION(StaticKuboToyabeTimesGausDecay) @@ -36,5 +41,6 @@ void StaticKuboToyabeTimesGausDecay::function1D(double *out, A * (exp(-(x2 * D2) / 2) * (1 - x2 * D2) * C1 + C2) * exp(-S2 * x2); } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/StretchExp.cpp b/Framework/CurveFitting/src/Functions/StretchExp.cpp similarity index 94% rename from Framework/CurveFitting/src/StretchExp.cpp rename to Framework/CurveFitting/src/Functions/StretchExp.cpp index 51064e2b85c9a6d5b9071afb15bdcb9a8fce9822..41a8cf8b7ff734787fbe4260de9cf4400ed4d1e5 100644 --- a/Framework/CurveFitting/src/StretchExp.cpp +++ b/Framework/CurveFitting/src/Functions/StretchExp.cpp @@ -1,14 +1,18 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/StretchExp.h" +#include "MantidCurveFitting/Functions/StretchExp.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(StretchExp) @@ -71,5 +75,6 @@ void StretchExp::functionDeriv1D(API::Jacobian *out, const double *xValues, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/StretchExpMuon.cpp b/Framework/CurveFitting/src/Functions/StretchExpMuon.cpp similarity index 88% rename from Framework/CurveFitting/src/StretchExpMuon.cpp rename to Framework/CurveFitting/src/Functions/StretchExpMuon.cpp index 3c14c8fead5e209b6a6de41a690dfa819079e125..c88d045de580b32c08f6eb0341d26784da9fdf76 100644 --- a/Framework/CurveFitting/src/StretchExpMuon.cpp +++ b/Framework/CurveFitting/src/Functions/StretchExpMuon.cpp @@ -1,14 +1,18 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/StretchExpMuon.h" +#include "MantidCurveFitting/Functions/StretchExpMuon.h" #include "MantidAPI/FunctionFactory.h" #include <cmath> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; using namespace Kernel; + using namespace API; DECLARE_FUNCTION(StretchExpMuon) @@ -31,5 +35,6 @@ void StretchExpMuon::function1D(double *out, const double *xValues, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/TabulatedFunction.cpp b/Framework/CurveFitting/src/Functions/TabulatedFunction.cpp similarity index 98% rename from Framework/CurveFitting/src/TabulatedFunction.cpp rename to Framework/CurveFitting/src/Functions/TabulatedFunction.cpp index 10f9e8168a8779989e05a736b8c56b3b8108c6e1..d0efc13940ae2ce8c316fbd2d6445b2839293b20 100644 --- a/Framework/CurveFitting/src/TabulatedFunction.cpp +++ b/Framework/CurveFitting/src/Functions/TabulatedFunction.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/TabulatedFunction.h" +#include "MantidCurveFitting/Functions/TabulatedFunction.h" #include "MantidKernel/FileValidator.h" #include "MantidAPI/Algorithm.h" #include "MantidAPI/FunctionFactory.h" @@ -14,7 +14,12 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; + using namespace Kernel; + using namespace API; namespace { @@ -276,5 +281,6 @@ void TabulatedFunction::setupData() const { m_setupFinished = true; } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ThermalNeutronBk2BkExpAlpha.cpp b/Framework/CurveFitting/src/Functions/ThermalNeutronBk2BkExpAlpha.cpp similarity index 94% rename from Framework/CurveFitting/src/ThermalNeutronBk2BkExpAlpha.cpp rename to Framework/CurveFitting/src/Functions/ThermalNeutronBk2BkExpAlpha.cpp index 9eff40af37195f5aa5a285dbcbedf0709fbc9d90..464c73e7fb34fa7da4c8d0724e10434e2a6cb249 100644 --- a/Framework/CurveFitting/src/ThermalNeutronBk2BkExpAlpha.cpp +++ b/Framework/CurveFitting/src/Functions/ThermalNeutronBk2BkExpAlpha.cpp @@ -1,4 +1,4 @@ -#include "MantidCurveFitting/ThermalNeutronBk2BkExpAlpha.h" +#include "MantidCurveFitting/Functions/ThermalNeutronBk2BkExpAlpha.h" #include "MantidKernel/System.h" #include "MantidAPI/FunctionFactory.h" @@ -6,12 +6,18 @@ #include <cmath> using namespace std; + using namespace Mantid; + using namespace Mantid::API; + using namespace Mantid::CurveFitting; namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; DECLARE_FUNCTION(ThermalNeutronBk2BkExpAlpha) @@ -80,5 +86,6 @@ double ThermalNeutronBk2BkExpAlpha::corefunction(double dh, double width, return alpha; } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ThermalNeutronBk2BkExpBeta.cpp b/Framework/CurveFitting/src/Functions/ThermalNeutronBk2BkExpBeta.cpp similarity index 94% rename from Framework/CurveFitting/src/ThermalNeutronBk2BkExpBeta.cpp rename to Framework/CurveFitting/src/Functions/ThermalNeutronBk2BkExpBeta.cpp index ae1170803594d1666b7d81497f488802e5e5c85f..92901743be4ceca7e440dbd811db471ffd153962 100644 --- a/Framework/CurveFitting/src/ThermalNeutronBk2BkExpBeta.cpp +++ b/Framework/CurveFitting/src/Functions/ThermalNeutronBk2BkExpBeta.cpp @@ -1,4 +1,4 @@ -#include "MantidCurveFitting/ThermalNeutronBk2BkExpBeta.h" +#include "MantidCurveFitting/Functions/ThermalNeutronBk2BkExpBeta.h" #include "MantidKernel/System.h" #include "MantidAPI/FunctionFactory.h" @@ -6,12 +6,18 @@ #include <cmath> using namespace std; + using namespace Mantid; + using namespace Mantid::CurveFitting; + using namespace Mantid::API; namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; DECLARE_FUNCTION(ThermalNeutronBk2BkExpBeta) @@ -79,5 +85,6 @@ double ThermalNeutronBk2BkExpBeta::corefunction(double dh, double width, return beta; } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ThermalNeutronBk2BkExpConvPVoigt.cpp b/Framework/CurveFitting/src/Functions/ThermalNeutronBk2BkExpConvPVoigt.cpp similarity index 99% rename from Framework/CurveFitting/src/ThermalNeutronBk2BkExpConvPVoigt.cpp rename to Framework/CurveFitting/src/Functions/ThermalNeutronBk2BkExpConvPVoigt.cpp index 521becfcc478059efe73a2c0aca2a8c645108d6c..8ee59b58177ad3525a2615c6ef4ec8fcd8b8703a 100644 --- a/Framework/CurveFitting/src/ThermalNeutronBk2BkExpConvPVoigt.cpp +++ b/Framework/CurveFitting/src/Functions/ThermalNeutronBk2BkExpConvPVoigt.cpp @@ -1,4 +1,4 @@ -#include "MantidCurveFitting/ThermalNeutronBk2BkExpConvPVoigt.h" +#include "MantidCurveFitting/Functions/ThermalNeutronBk2BkExpConvPVoigt.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/ParamFunction.h" #include "MantidKernel/EmptyValues.h" @@ -14,11 +14,16 @@ const double PEAKRANGE = 5.0; const double NEG_DBL_MAX = -1. * DBL_MAX; using namespace std; + using namespace Mantid; + using namespace Mantid::API; namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; namespace { /// static reference to the logger Kernel::Logger g_log("ThermalNeutronBk2BkExpConvPV"); @@ -774,5 +779,6 @@ void ThermalNeutronBk2BkExpConvPVoigt::setPeakRadius(const int& r) } */ +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ThermalNeutronBk2BkExpSigma.cpp b/Framework/CurveFitting/src/Functions/ThermalNeutronBk2BkExpSigma.cpp similarity index 94% rename from Framework/CurveFitting/src/ThermalNeutronBk2BkExpSigma.cpp rename to Framework/CurveFitting/src/Functions/ThermalNeutronBk2BkExpSigma.cpp index ed8f0af7b195223ea9093587e5bdbf6a29fbca31..51c0370b5cffa8752f75d08b2e7ac51f259e3f71 100644 --- a/Framework/CurveFitting/src/ThermalNeutronBk2BkExpSigma.cpp +++ b/Framework/CurveFitting/src/Functions/ThermalNeutronBk2BkExpSigma.cpp @@ -1,4 +1,4 @@ -#include "MantidCurveFitting/ThermalNeutronBk2BkExpSigma.h" +#include "MantidCurveFitting/Functions/ThermalNeutronBk2BkExpSigma.h" #include "MantidKernel/System.h" #include "MantidAPI/FunctionFactory.h" @@ -6,12 +6,18 @@ #include <cmath> using namespace std; + using namespace Mantid; + using namespace Mantid::API; + using namespace Mantid::CurveFitting; namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; DECLARE_FUNCTION(ThermalNeutronBk2BkExpSigma) @@ -77,5 +83,6 @@ double ThermalNeutronBk2BkExpSigma::corefunction(double dh, double sig0sq, return sigma; } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/ThermalNeutronDtoTOFFunction.cpp b/Framework/CurveFitting/src/Functions/ThermalNeutronDtoTOFFunction.cpp similarity index 96% rename from Framework/CurveFitting/src/ThermalNeutronDtoTOFFunction.cpp rename to Framework/CurveFitting/src/Functions/ThermalNeutronDtoTOFFunction.cpp index 8566384197fe62b9422f94a5b9fd39defa2090fc..4d3bb672a2df48ce85ad78f6c9e1cdaa5100d454 100644 --- a/Framework/CurveFitting/src/ThermalNeutronDtoTOFFunction.cpp +++ b/Framework/CurveFitting/src/Functions/ThermalNeutronDtoTOFFunction.cpp @@ -1,4 +1,4 @@ -#include "MantidCurveFitting/ThermalNeutronDtoTOFFunction.h" +#include "MantidCurveFitting/Functions/ThermalNeutronDtoTOFFunction.h" #include "MantidKernel/System.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/FunctionDomain1D.h" @@ -6,10 +6,14 @@ #include <cmath> using namespace Mantid::API; + using namespace std; namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; //---------------------------------------------------------------------------------------------- DECLARE_FUNCTION(ThermalNeutronDtoTOFFunction) @@ -140,5 +144,6 @@ void ThermalNeutronDtoTOFFunction::functionDerivLocal(API::Jacobian *, "ThermalNeutronDtoTOFFunction."); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/UserFunction.cpp b/Framework/CurveFitting/src/Functions/UserFunction.cpp similarity index 95% rename from Framework/CurveFitting/src/UserFunction.cpp rename to Framework/CurveFitting/src/Functions/UserFunction.cpp index b367c452958f8775f7e667120a214977ed01357e..45ec9fc62f46b77425f2af1f312576146f0c507d 100644 --- a/Framework/CurveFitting/src/UserFunction.cpp +++ b/Framework/CurveFitting/src/Functions/UserFunction.cpp @@ -1,18 +1,22 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/UserFunction.h" +#include "MantidCurveFitting/Functions/UserFunction.h" #include "MantidAPI/FunctionFactory.h" #include <boost/tokenizer.hpp> #include "MantidGeometry/muParser_Silent.h" namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; // Register the class into the function factory DECLARE_FUNCTION(UserFunction) using namespace Kernel; + using namespace API; /// Constructor @@ -113,5 +117,6 @@ void UserFunction::functionDeriv(const API::FunctionDomain &domain, calNumericalDeriv(domain, jacobian); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/UserFunction1D.cpp b/Framework/CurveFitting/src/Functions/UserFunction1D.cpp similarity index 97% rename from Framework/CurveFitting/src/UserFunction1D.cpp rename to Framework/CurveFitting/src/Functions/UserFunction1D.cpp index 5164c2322bb93304a9703a2856c7d883296f1697..0c0ee89a9d0c1c6e2befac956b6146109db7825b 100644 --- a/Framework/CurveFitting/src/UserFunction1D.cpp +++ b/Framework/CurveFitting/src/Functions/UserFunction1D.cpp @@ -1,18 +1,22 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidCurveFitting/UserFunction1D.h" +#include "MantidCurveFitting/Functions/UserFunction1D.h" #include "MantidKernel/UnitFactory.h" #include "MantidKernel/MandatoryValidator.h" #include <boost/tokenizer.hpp> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; // Register the class into the algorithm factory DECLARE_ALGORITHM(UserFunction1D) using namespace Kernel; + using namespace API; /** Static callback function used by MuParser to initialize variables implicitly @@ -155,5 +159,6 @@ void UserFunction1D::functionDeriv(const double *in, Jacobian *out, } } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/VesuvioResolution.cpp b/Framework/CurveFitting/src/Functions/VesuvioResolution.cpp similarity index 96% rename from Framework/CurveFitting/src/VesuvioResolution.cpp rename to Framework/CurveFitting/src/Functions/VesuvioResolution.cpp index d850ed0f223861674134ac23aa1fa84bb5a6bd82..44c6b1e458ef1142f49b68f0f61080fca750fe4e 100644 --- a/Framework/CurveFitting/src/VesuvioResolution.cpp +++ b/Framework/CurveFitting/src/Functions/VesuvioResolution.cpp @@ -1,13 +1,18 @@ //----------------------------------------------------------------------------- // Includes //----------------------------------------------------------------------------- -#include "MantidCurveFitting/VesuvioResolution.h" -#include "MantidCurveFitting/ConvertToYSpace.h" +#include "MantidCurveFitting/Functions/VesuvioResolution.h" +#include "MantidCurveFitting/Algorithms/ConvertToYSpace.h" #include "MantidAPI/FunctionFactory.h" #include <gsl/gsl_poly.h> namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace Mantid; +using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; namespace { ///@cond const char *MASS_NAME = "Mass"; @@ -78,6 +83,7 @@ std::string VesuvioResolution::name() const { return "VesuvioResolution"; } */ void VesuvioResolution::setUpForFit() { // Voigt + using namespace Mantid::API; m_voigt = boost::dynamic_pointer_cast<IPeakFunction>( FunctionFactory::Instance().createFunction("Voigt")); @@ -108,7 +114,7 @@ void VesuvioResolution::setMatrixWorkspace( * @param respar Structure containing resolution parameters */ void VesuvioResolution::cacheResolutionComponents( - const DetectorParams &detpar, const ResolutionParams &respar) { + const Algorithms::DetectorParams &detpar, const ResolutionParams &respar) { // geometry double theta = detpar.theta; // cache for frequent access double hwhmLorentzE = respar.dEnLorentz; @@ -253,5 +259,6 @@ void VesuvioResolution::voigtApprox(std::vector<double> &voigt, std::bind2nd(std::multiplies<double>(), norm)); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/Voigt.cpp b/Framework/CurveFitting/src/Functions/Voigt.cpp similarity index 97% rename from Framework/CurveFitting/src/Voigt.cpp rename to Framework/CurveFitting/src/Functions/Voigt.cpp index 9e006da4d314d97a44efe6c8f7f5bcc3b4b0a90a..73ce3f49f9979c516ecceedd0af016ee7b69eaf5 100644 --- a/Framework/CurveFitting/src/Voigt.cpp +++ b/Framework/CurveFitting/src/Functions/Voigt.cpp @@ -1,7 +1,7 @@ //---------------------------------------------------------------------------------------------- // Includes //---------------------------------------------------------------------------------------------- -#include "MantidCurveFitting/Voigt.h" +#include "MantidCurveFitting/Functions/Voigt.h" #include "MantidAPI/FunctionFactory.h" @@ -9,6 +9,9 @@ namespace Mantid { namespace CurveFitting { +namespace Functions { + +using namespace CurveFitting; DECLARE_FUNCTION(Voigt) namespace { @@ -165,5 +168,6 @@ void Voigt::setFwhm(const double value) { this->setParameter(GAUSSIAN_FWHM, 0.5 * value); } +} // namespace Functions } // namespace CurveFitting } // namespace Mantid diff --git a/Framework/CurveFitting/src/GSLFunctions.cpp b/Framework/CurveFitting/src/GSLFunctions.cpp index d5c4445dcc00a0821742647014922c1ea3c7c16d..2ebd26b9ec65f05f028b43dc61b5a802e7a51600 100644 --- a/Framework/CurveFitting/src/GSLFunctions.cpp +++ b/Framework/CurveFitting/src/GSLFunctions.cpp @@ -126,7 +126,7 @@ int gsl_df(const gsl_vector *x, void *params, gsl_matrix *J) { // functionDeriv() return derivatives of calculated data values. Need to // convert this values into - // derivatives of calculated-observed devided by error values used by GSL + // derivatives of calculated-observed divided by error values used by GSL auto values = boost::dynamic_pointer_cast<API::FunctionValues>( p->costFunction->getValues()); if (!values) { @@ -159,7 +159,8 @@ int gsl_fdf(const gsl_vector *x, void *params, gsl_vector *f, gsl_matrix *J) { * Constructor. Creates declared -> active index map * @param cf :: ICostFunction */ -GSL_FitData::GSL_FitData(boost::shared_ptr<CostFuncLeastSquares> cf) +GSL_FitData::GSL_FitData( + boost::shared_ptr<CostFunctions::CostFuncLeastSquares> cf) : function(cf->getFittingFunction()), costFunction(cf) { gsl_set_error_handler_off(); // number of active parameters diff --git a/Framework/CurveFitting/src/LatticeDomainCreator.cpp b/Framework/CurveFitting/src/LatticeDomainCreator.cpp index 69901d090985206b121217ff3a25cc940bff389d..db2ebe4bde9fca3df9b46c7a12805e94876df8e1 100644 --- a/Framework/CurveFitting/src/LatticeDomainCreator.cpp +++ b/Framework/CurveFitting/src/LatticeDomainCreator.cpp @@ -9,7 +9,7 @@ #include "MantidAPI/WorkspaceFactory.h" #include "MantidDataObjects/Peak.h" -#include "MantidCurveFitting/PawleyFit.h" +#include "MantidCurveFitting/Algorithms/PawleyFit.h" namespace Mantid { namespace CurveFitting { @@ -17,6 +17,7 @@ namespace CurveFitting { using namespace API; using namespace Kernel; using namespace DataObjects; +using namespace CurveFitting::Algorithms; /// Constructor LatticeDomainCreator::LatticeDomainCreator( diff --git a/Framework/CurveFitting/src/LatticeFunction.cpp b/Framework/CurveFitting/src/LatticeFunction.cpp index 895327b1d97f18dcb4252531b56b780828c0a84b..0fd29c73d2762d3ef7ee2772847997eee024d4b3 100644 --- a/Framework/CurveFitting/src/LatticeFunction.cpp +++ b/Framework/CurveFitting/src/LatticeFunction.cpp @@ -62,8 +62,8 @@ void LatticeFunction::init() { /// Checks that the decorated function is a PawleyParameterFunction. void LatticeFunction::beforeDecoratedFunctionSet(const IFunction_sptr &fn) { - PawleyParameterFunction_sptr paramFn = - boost::dynamic_pointer_cast<PawleyParameterFunction>(fn); + Functions::PawleyParameterFunction_sptr paramFn = + boost::dynamic_pointer_cast<Functions::PawleyParameterFunction>(fn); if (!paramFn) { throw std::invalid_argument( diff --git a/Framework/CurveFitting/src/MultiBG.cpp b/Framework/CurveFitting/src/MultiBG.cpp deleted file mode 100644 index d0cc9705068359f16f2b8232816514899a2ea14c..0000000000000000000000000000000000000000 --- a/Framework/CurveFitting/src/MultiBG.cpp +++ /dev/null @@ -1,306 +0,0 @@ -//---------------------------------------------------------------------- -// Includes -//---------------------------------------------------------------------- -#include "MantidCurveFitting/MultiBG.h" -#include "MantidAPI/IFunctionMW.h" -#include "MantidAPI/Expression.h" -#include "MantidAPI/AnalysisDataService.h" -#include "MantidAPI/WorkspaceGroup.h" -#include "MantidAPI/FunctionFactory.h" - -#include <boost/lambda/lambda.hpp> -#include <boost/lexical_cast.hpp> - -#include <sstream> -#include <algorithm> -#include <iterator> -#include <float.h> - -using namespace boost::lambda; - -namespace Mantid { -namespace CurveFitting { - -DECLARE_FUNCTION(MultiBG) - -/** A Jacobian for individual functions - */ -class PartialJacobian : public API::Jacobian { - API::Jacobian *m_J; ///< pointer to the overall Jacobian - size_t m_iY0; ///< data array offset in the overall Jacobian for a particular - /// function - size_t m_iP0; ///< parameter offset in the overall Jacobian for a particular - /// function - size_t m_iaP0; ///< offset in the active Jacobian for a particular function -public: - /** Constructor - * @param J :: A pointer to the overall Jacobian - * @param iY0 :: Data array offset index (declared) for a particular function - * @param iP0 :: The parameter index (declared) offset for a particular - * function - * @param iap0 :: The active parameter index (declared) offset for a - * particular function - */ - PartialJacobian(API::Jacobian *J, size_t iY0, size_t iP0, size_t iap0) - : m_J(J), m_iY0(iY0), m_iP0(iP0), m_iaP0(iap0) {} - /** - * Overridden Jacobian::set(...). - * @param iY :: The index of the data point - * @param iP :: The parameter index of an individual function. - * @param value :: The derivative value - */ - void set(size_t iY, size_t iP, double value) { - m_J->set(m_iY0 + iY, m_iP0 + iP, value); - } - /** - * Overridden Jacobian::get(...). - * @param iY :: The index of the data point - * @param iP :: The parameter index of an individual function. - */ - double get(size_t iY, size_t iP) { return m_J->get(m_iY0 + iY, m_iP0 + iP); } - /** Add number to all iY (data) Jacobian elements for a given iP (parameter) - * @param value :: Value to add - * @param iActiveP :: The index of an active parameter. - */ - virtual void addNumberToColumn(const double &value, const size_t &iActiveP) { - m_J->addNumberToColumn(value, m_iaP0 + iActiveP); - } -}; - -/// Destructor -MultiBG::~MultiBG() {} - -/** - * Function you want to fit to. - */ -void MultiBG::function(double *out) const { - std::vector<double> tmpOut(dataSize()); - std::fill_n(out, dataSize(), 0); - for (size_t i = 0; i < nFunctions(); i++) { - IFitFunction *fun = dynamic_cast<IFitFunction *>(getFunction(i)); - if (!fun) { - throw std::runtime_error( - "IFitFunction expected but function of another type found"); - } - size_t nWS = m_funIndex[i].size(); - for (size_t k = 0; k < nWS; ++k) { - size_t j = m_funIndex[i][k]; - fun->setWorkspace(m_spectra[k].first, - "WorkspaceIndex=" + boost::lexical_cast<std::string>( - m_spectra[j].second), - false); - // std::cerr << i << ' ' << k << " Function " << fun->name() << " ws " << - // fun->getWorkspace()->getName() << " wi " - // << dynamic_cast<Mantid::API::IFunctionMW*>(fun)->getWorkspaceIndex() - // << std::endl; - double *out1 = out + m_offset[j]; - double *tmp1 = &tmpOut[0] + m_offset[j]; - size_t nData = 0; - if (j < m_offset.size() - 1) - nData = m_offset[j + 1] - m_offset[j]; - else - nData = dataSize() - m_offset[j]; - if (i == 0) { - fun->function(out1); - } else { - fun->function(tmp1); - std::transform(out1, out1 + nData, tmp1, out1, std::plus<double>()); - } - } - } - // std::cerr << "Function:\n"; - // for(size_t i = 0; i<nParams();++i) - //{ - // std::cerr << getParameter(i) << ' ' ; - //} - // std::cerr << std::endl; - // std::for_each(out,out+m_dataSize,std::cerr << _1 << '\n'); - // std::cerr << std::endl; -} - -void MultiBG::functionDeriv(API::Jacobian *out) { - // it is possible that out is NULL - if (!out) - return; - for (size_t i = 0; i < nFunctions(); i++) { - IFitFunction *fun = dynamic_cast<IFitFunction *>(getFunction(i)); - if (!fun) { - throw std::runtime_error( - "IFitFunction expected but function of another type found"); - } - size_t nWS = m_funIndex[i].size(); - for (size_t k = 0; k < nWS; ++k) { - size_t j = m_funIndex[i][k]; - fun->setWorkspace(m_spectra[k].first, - "WorkspaceIndex=" + boost::lexical_cast<std::string>( - m_spectra[j].second), - false); - PartialJacobian J(out, m_offset[j], paramOffset(i), activeOffset(i)); - fun->functionDeriv(&J); - } - } -} - -void MultiBG::setWorkspace(boost::shared_ptr<const API::Workspace> ws, bool) { - boost::shared_ptr<const API::MatrixWorkspace> mws = - boost::dynamic_pointer_cast<const API::MatrixWorkspace>(ws); - if (ws && !mws) { - throw std::invalid_argument( - "Workspace in MultiBG has a wrong type (not a MatrixWorkspace)"); - } - m_workspace = mws; -} -/** - * Sets workspaces to member functions. Constructs the data set for fitting. - * @param slicing :: A map between member functions and workspaces or empty - * string. Format: - * "f0,Workspace0,i0;f1,Workspace1,i1;f2,Workspace2,i2;..." - */ -void MultiBG::setSlicing(const std::string &slicing) { - boost::shared_ptr<const API::MatrixWorkspace> mws = m_workspace; - - m_funIndex.resize(nFunctions()); - - if (!slicing.empty()) { - Mantid::API::Expression expr; - expr.parse(slicing); - // expr can be treated as a list even if it has only 1 term - expr.toList(";"); - for (size_t i = 0; i < expr.size(); ++i) { - const Mantid::API::Expression &e = expr[i]; - if (e.name() != "," || e.size() != 3) { - // slicing has a wrong format - ignore it - break; - } - try { - std::string wsName = e[1].name(); - Mantid::API::MatrixWorkspace_sptr ws = - boost::dynamic_pointer_cast<Mantid::API::MatrixWorkspace>( - Mantid::API::AnalysisDataService::Instance().retrieve(wsName)); - - size_t iFun = boost::lexical_cast<size_t>(e[0].name().substr(1)); - size_t wi = boost::lexical_cast<size_t>(e[2].name()); - if (iFun >= nFunctions()) { - throw std::invalid_argument("MultiBG::setWorkspace: function " + - e[0].name() + " not found"); - } - std::pair<boost::shared_ptr<const API::MatrixWorkspace>, size_t> - spectrum = std::make_pair(ws, wi); - m_funIndex[iFun].push_back(m_spectra.size()); - m_spectra.push_back(spectrum); - IFitFunction *fun = dynamic_cast<IFitFunction *>(getFunction(iFun)); - if (!fun) { - throw std::runtime_error( - "IFitFunction expected but function of another type found"); - } - fun->setWorkspace(ws, "WorkspaceIndex=" + e[2].name(), false); - } catch (...) { - break; - } - } - } - - // examine the member functions and fill in the m_funIndex array - for (size_t iFun = 0; iFun < nFunctions(); iFun++) { - API::IFunctionMW *fun = dynamic_cast<API::IFunctionMW *>(getFunction(iFun)); - if (!fun) { - throw std::runtime_error("MultiBG works with IFunctionMW only"); - } - if (fun->getWorkspace()) { - boost::shared_ptr<const API::MatrixWorkspace> iws = - fun->getMatrixWorkspace(); - std::pair<boost::shared_ptr<const API::MatrixWorkspace>, size_t> - spectrum = std::make_pair(iws, fun->getWorkspaceIndex()); - std::vector<std::pair<boost::shared_ptr<const API::MatrixWorkspace>, - size_t>>::iterator it = - std::find(m_spectra.begin(), m_spectra.end(), spectrum); - size_t i; - if (it == m_spectra.end()) { - i = m_spectra.size(); - m_spectra.push_back(spectrum); - } else { - i = size_t(std::distance(it, m_spectra.begin())); - } - m_funIndex[iFun].push_back(i); - // fun->setWorkspace(boost::static_pointer_cast<const - // API::Workspace>(iws),slicing,false); - } - } - - // setWorkspace can be called by GUI when the function had not been properly - // initialized - if (m_spectra.empty()) { - return; - } - - // make functions without set workspace fit to all workspaces - for (size_t iFun = 0; iFun < nFunctions(); iFun++) { - std::vector<size_t> &index = m_funIndex[iFun]; - if (index.empty()) { - index.resize(m_spectra.size()); - int i = 0; - std::for_each(index.begin(), index.end(), _1 = var(i)++); - IFitFunction *fun = dynamic_cast<IFitFunction *>(getFunction(iFun)); - if (!fun) { - throw std::runtime_error( - "IFitFunction expected but function of another type found"); - } - fun->setWorkspace(m_spectra[0].first, - "WorkspaceIndex=" + boost::lexical_cast<std::string>( - m_spectra[0].second), - false); - } - } - - // set dimensions and calculate ws's contribution to m_dataSize - // IFunctionMW::setWorkspace(ws,slicing,false); - // add other workspaces - m_offset.resize(m_spectra.size(), 0); - size_t nData = 0; - for (size_t i = 0; i < m_spectra.size(); ++i) { - mws = m_spectra[i].first; - size_t n = mws->blocksize(); - m_offset[i] = nData; - nData += static_cast<int>(n); - } - - m_data.resize(nData); - m_weights.resize(nData); - - //... fill in the data and the weights ... - - for (size_t i = 0; i < m_spectra.size(); ++i) { - mws = m_spectra[i].first; - size_t wi = m_spectra[i].second; - const Mantid::MantidVec &Y = mws->readY(wi); - const Mantid::MantidVec &E = mws->readE(wi); - size_t j0 = m_offset[i]; - for (size_t j = 0; j < Y.size(); ++j) { - m_data[j0 + j] = Y[j]; - double err = E[j]; - m_weights[j0 + j] = err != 0.0 ? 1. / err : 1.0; - } - } - - // std::cerr << "Workspace:\n"; - // std::for_each(&m_data[0],&m_data[0]+m_dataSize,std::cerr << _1 << '\n'); -} - -/** - * Creates a workspace containing values calculated with this function. It takes - * a workspace and ws index - * of a spectrum which this function may have been fitted to. The output - * contains the original spectrum - * (wi = 0), the calculated values (ws = 1), and the difference between them (ws - * = 2). - * @param sd :: optional standard deviations of the parameters for calculating - * the error bars - * @return created workspase - */ -boost::shared_ptr<API::WorkspaceGroup> -MultiBG::createCalculatedWorkspaceGroup(const std::vector<double> &sd) { - UNUSED_ARG(sd) - return boost::shared_ptr<API::WorkspaceGroup>(); -} -} // namespace API -} // namespace Mantid diff --git a/Framework/CurveFitting/src/ParDomain.cpp b/Framework/CurveFitting/src/ParDomain.cpp index 7cd4fdfe9e2f07b684cc16b4edcb6b9df9145177..01a76765f051c38b7e694348961519a5dc7639d4 100644 --- a/Framework/CurveFitting/src/ParDomain.cpp +++ b/Framework/CurveFitting/src/ParDomain.cpp @@ -28,7 +28,8 @@ void ParDomain::getDomainAndValues(size_t i, API::FunctionDomain_sptr &domain, * Calculate the value of a least squares cost function * @param leastSquares :: The least squares cost func to calculate the value for */ -void ParDomain::leastSquaresVal(const CostFuncLeastSquares &leastSquares) { +void ParDomain::leastSquaresVal( + const CostFunctions::CostFuncLeastSquares &leastSquares) { const int n = static_cast<int>(getNDomains()); PARALLEL_FOR_NO_WSP_CHECK() for (int i = 0; i < n; ++i) { @@ -54,7 +55,7 @@ void ParDomain::leastSquaresVal(const CostFuncLeastSquares &leastSquares) { * @param evalHessian :: Flag to evaluate the Hessian (second derivatives) */ void ParDomain::leastSquaresValDerivHessian( - const CostFuncLeastSquares &leastSquares, bool evalDeriv, + const CostFunctions::CostFuncLeastSquares &leastSquares, bool evalDeriv, bool evalHessian) { const int n = static_cast<int>(getNDomains()); PARALLEL_SET_DYNAMIC(0); diff --git a/Framework/CurveFitting/src/ParameterEstimator.cpp b/Framework/CurveFitting/src/ParameterEstimator.cpp index b06ef9bf59e96e5ecb51b54e67e221a14b95be9a..93c46fd68fbb9ae0690fbf296458a5f3bb20b7c4 100644 --- a/Framework/CurveFitting/src/ParameterEstimator.cpp +++ b/Framework/CurveFitting/src/ParameterEstimator.cpp @@ -1,5 +1,5 @@ #include "MantidCurveFitting/ParameterEstimator.h" -#include "MantidCurveFitting/SimpleChebfun.h" +#include "MantidCurveFitting/Functions/SimpleChebfun.h" #include "MantidAPI/CompositeFunction.h" #include "MantidAPI/FunctionDomain1D.h" @@ -13,6 +13,8 @@ namespace Mantid { namespace CurveFitting { namespace ParameterEstimator { +using namespace Functions; + /// The logger. Kernel::Logger g_log("ParameterEstimator"); diff --git a/Framework/CurveFitting/src/SeqDomain.cpp b/Framework/CurveFitting/src/SeqDomain.cpp index a36e808948d556a6e366f88551bcdf8fffe2d645..8a704c1745664d0961b48088642ba0fdffc410e6 100644 --- a/Framework/CurveFitting/src/SeqDomain.cpp +++ b/Framework/CurveFitting/src/SeqDomain.cpp @@ -68,7 +68,8 @@ SeqDomain *SeqDomain::create(API::IDomainCreator::DomainType type) { * Calculate the value of a least squares cost function * @param leastSquares :: The least squares cost func to calculate the value for */ -void SeqDomain::leastSquaresVal(const CostFuncLeastSquares &leastSquares) { +void SeqDomain::leastSquaresVal( + const CostFunctions::CostFuncLeastSquares &leastSquares) { API::FunctionDomain_sptr domain; API::FunctionValues_sptr values; const size_t n = getNDomains(); @@ -87,7 +88,7 @@ void SeqDomain::leastSquaresVal(const CostFuncLeastSquares &leastSquares) { * Calculate the value of a least squares cost function * @param rwp :: The RWP cost func to calculate the value for */ -void SeqDomain::rwpVal(const CostFuncRwp &rwp) { +void SeqDomain::rwpVal(const CostFunctions::CostFuncRwp &rwp) { API::FunctionDomain_sptr domain; API::FunctionValues_sptr values; const size_t n = getNDomains(); @@ -109,7 +110,7 @@ void SeqDomain::rwpVal(const CostFuncRwp &rwp) { * @param evalHessian :: Flag to evaluate the Hessian (second derivatives) */ void SeqDomain::leastSquaresValDerivHessian( - const CostFuncLeastSquares &leastSquares, bool evalDeriv, + const CostFunctions::CostFuncLeastSquares &leastSquares, bool evalDeriv, bool evalHessian) { API::FunctionDomain_sptr domain; API::FunctionValues_sptr values; @@ -131,8 +132,8 @@ void SeqDomain::leastSquaresValDerivHessian( * @param evalDeriv :: Flag to evaluate the first derivatives * @param evalHessian :: Flag to evaluate the Hessian (second derivatives) */ -void SeqDomain::rwpValDerivHessian(const CostFuncRwp &rwp, bool evalDeriv, - bool evalHessian) { +void SeqDomain::rwpValDerivHessian(const CostFunctions::CostFuncRwp &rwp, + bool evalDeriv, bool evalHessian) { API::FunctionDomain_sptr domain; API::FunctionValues_sptr values; const size_t n = getNDomains(); diff --git a/Framework/CurveFitting/test/CalculateChiSquaredTest.h b/Framework/CurveFitting/test/Algorithms/CalculateChiSquaredTest.h similarity index 99% rename from Framework/CurveFitting/test/CalculateChiSquaredTest.h rename to Framework/CurveFitting/test/Algorithms/CalculateChiSquaredTest.h index 39fb96307a24056335df98216d80fd5641bf899b..fb29bda4b80738fd99f9a2d89838ab547850f606 100644 --- a/Framework/CurveFitting/test/CalculateChiSquaredTest.h +++ b/Framework/CurveFitting/test/Algorithms/CalculateChiSquaredTest.h @@ -3,7 +3,7 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/CalculateChiSquared.h" +#include "MantidCurveFitting/Algorithms/CalculateChiSquared.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/FunctionValues.h" @@ -16,7 +16,7 @@ #include <boost/math/special_functions/fpclassify.hpp> #include <limits> -using Mantid::CurveFitting::CalculateChiSquared; +using Mantid::CurveFitting::Algorithms::CalculateChiSquared; using namespace Mantid; using namespace Mantid::API; diff --git a/Framework/CurveFitting/test/CalculateGammaBackgroundTest.h b/Framework/CurveFitting/test/Algorithms/CalculateGammaBackgroundTest.h similarity index 98% rename from Framework/CurveFitting/test/CalculateGammaBackgroundTest.h rename to Framework/CurveFitting/test/Algorithms/CalculateGammaBackgroundTest.h index d5d7dbf487ae5e8493ce8aba1bb577456be3b310..502479b5f363c09a4312cdab88c88b92e233be80 100644 --- a/Framework/CurveFitting/test/CalculateGammaBackgroundTest.h +++ b/Framework/CurveFitting/test/Algorithms/CalculateGammaBackgroundTest.h @@ -3,10 +3,10 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/CalculateGammaBackground.h" -#include "ComptonProfileTestHelpers.h" +#include "MantidCurveFitting/Algorithms/CalculateGammaBackground.h" +#include "../Functions/ComptonProfileTestHelpers.h" -using Mantid::CurveFitting::CalculateGammaBackground; +using Mantid::CurveFitting::Algorithms::CalculateGammaBackground; class CalculateGammaBackgroundTest : public CxxTest::TestSuite { public: diff --git a/Framework/CurveFitting/test/CalculateMSVesuvioTest.h b/Framework/CurveFitting/test/Algorithms/CalculateMSVesuvioTest.h similarity index 98% rename from Framework/CurveFitting/test/CalculateMSVesuvioTest.h rename to Framework/CurveFitting/test/Algorithms/CalculateMSVesuvioTest.h index 33f7f30b77a0252c38d2c692e8a529ea52de9d9f..f6eefbb0e35fd18579c0e7b04b0cc30398b88512 100644 --- a/Framework/CurveFitting/test/CalculateMSVesuvioTest.h +++ b/Framework/CurveFitting/test/Algorithms/CalculateMSVesuvioTest.h @@ -5,7 +5,7 @@ #include "boost/version.hpp" -#include "MantidCurveFitting/CalculateMSVesuvio.h" +#include "MantidCurveFitting/Algorithms/CalculateMSVesuvio.h" #include "MantidGeometry/Instrument/Goniometer.h" #include "MantidGeometry/Instrument/Detector.h" #include "MantidGeometry/Objects/ShapeFactory.h" @@ -13,9 +13,9 @@ #include "MantidTestHelpers/ComponentCreationHelper.h" #include "MantidTestHelpers/WorkspaceCreationHelper.h" -#include "ComptonProfileTestHelpers.h" +#include "../Functions/ComptonProfileTestHelpers.h" -using Mantid::CurveFitting::CalculateMSVesuvio; +using Mantid::CurveFitting::Algorithms::CalculateMSVesuvio; class CalculateMSVesuvioTest : public CxxTest::TestSuite { public: diff --git a/Framework/CurveFitting/test/ConvertToYSpaceTest.h b/Framework/CurveFitting/test/Algorithms/ConvertToYSpaceTest.h similarity index 96% rename from Framework/CurveFitting/test/ConvertToYSpaceTest.h rename to Framework/CurveFitting/test/Algorithms/ConvertToYSpaceTest.h index a3fed78b8baaa7c85c3ea0b918de70b4c4cc7fa3..839a9202dcdaa6ca483a5d439f97522d1dba0471 100644 --- a/Framework/CurveFitting/test/ConvertToYSpaceTest.h +++ b/Framework/CurveFitting/test/Algorithms/ConvertToYSpaceTest.h @@ -3,10 +3,10 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/ConvertToYSpace.h" -#include "ComptonProfileTestHelpers.h" +#include "MantidCurveFitting/Algorithms/ConvertToYSpace.h" +#include "../Functions/ComptonProfileTestHelpers.h" -using Mantid::CurveFitting::ConvertToYSpace; +using Mantid::CurveFitting::Algorithms::ConvertToYSpace; class ConvertToYSpaceTest : public CxxTest::TestSuite { public: diff --git a/Framework/CurveFitting/test/ConvolveWorkspacesTest.h b/Framework/CurveFitting/test/Algorithms/ConvolveWorkspacesTest.h similarity index 92% rename from Framework/CurveFitting/test/ConvolveWorkspacesTest.h rename to Framework/CurveFitting/test/Algorithms/ConvolveWorkspacesTest.h index 0e748fa7ad2ea2d13e197185366269ced7bc6c73..fe9dc90f597485b84dc5257466b1ec3f8a180aed 100644 --- a/Framework/CurveFitting/test/ConvolveWorkspacesTest.h +++ b/Framework/CurveFitting/test/Algorithms/ConvolveWorkspacesTest.h @@ -5,8 +5,8 @@ #include "MantidAPI/FrameworkManager.h" #include "MantidAPI/AnalysisDataService.h" -#include "MantidCurveFitting/ConvolveWorkspaces.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Algorithms/ConvolveWorkspaces.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidDataObjects/TableWorkspace.h" #include "MantidAPI/IPeakFunction.h" #include "MantidAPI/TableRow.h" @@ -15,12 +15,13 @@ #include "MantidAPI/FunctionFactory.h" #include "MantidTestHelpers/WorkspaceCreationHelper.h" #include "MantidTestHelpers/FakeObjects.h" -#include "MantidCurveFitting/Gaussian.h" +#include "MantidCurveFitting/Functions/Gaussian.h" using namespace Mantid; using namespace Mantid::API; using namespace Mantid::DataObjects; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; class ConvolveWorkspacesTest : public CxxTest::TestSuite { public: diff --git a/Framework/CurveFitting/test/EstimatePeakErrorsTest.h b/Framework/CurveFitting/test/Algorithms/EstimatePeakErrorsTest.h similarity index 98% rename from Framework/CurveFitting/test/EstimatePeakErrorsTest.h rename to Framework/CurveFitting/test/Algorithms/EstimatePeakErrorsTest.h index 3ea8b1328cfa5098cdffdc2af7219645d00b2a4f..04baa92e562d387740477077d681853d54945792 100644 --- a/Framework/CurveFitting/test/EstimatePeakErrorsTest.h +++ b/Framework/CurveFitting/test/Algorithms/EstimatePeakErrorsTest.h @@ -3,7 +3,7 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/EstimatePeakErrors.h" +#include "MantidCurveFitting/Algorithms/EstimatePeakErrors.h" #include "MantidAPI/AlgorithmManager.h" #include "MantidAPI/AnalysisDataService.h" @@ -19,6 +19,7 @@ using namespace Mantid; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; using namespace WorkspaceCreationHelper; class EstimatePeakErrorsTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/EvaluateFunctionTest.h b/Framework/CurveFitting/test/Algorithms/EvaluateFunctionTest.h similarity index 98% rename from Framework/CurveFitting/test/EvaluateFunctionTest.h rename to Framework/CurveFitting/test/Algorithms/EvaluateFunctionTest.h index 22e8a5aac0777d3003c7215b26ff7a1eb1f1f18f..cf8b80f4d991cbd76fe4a197c039c5eea0e15e6f 100644 --- a/Framework/CurveFitting/test/EvaluateFunctionTest.h +++ b/Framework/CurveFitting/test/Algorithms/EvaluateFunctionTest.h @@ -3,7 +3,7 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/EvaluateFunction.h" +#include "MantidCurveFitting/Algorithms/EvaluateFunction.h" #include "MantidAPI/AlgorithmManager.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/FunctionFactory.h" @@ -15,7 +15,7 @@ #include "MantidAPI/MatrixWorkspace.h" #include "MantidKernel/EmptyValues.h" -using Mantid::CurveFitting::EvaluateFunction; +using Mantid::CurveFitting::Algorithms::EvaluateFunction; using namespace Mantid; using namespace Mantid::API; diff --git a/Framework/CurveFitting/test/FitPowderDiffPeaksTest.h b/Framework/CurveFitting/test/Algorithms/FitPowderDiffPeaksTest.h similarity index 99% rename from Framework/CurveFitting/test/FitPowderDiffPeaksTest.h rename to Framework/CurveFitting/test/Algorithms/FitPowderDiffPeaksTest.h index ffc3aa2b5be75b21602fda724cfd7ee954fd182e..2eea28afa5bc7c29710dadd82f362ece62d132fb 100644 --- a/Framework/CurveFitting/test/FitPowderDiffPeaksTest.h +++ b/Framework/CurveFitting/test/Algorithms/FitPowderDiffPeaksTest.h @@ -3,7 +3,7 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/FitPowderDiffPeaks.h" +#include "MantidCurveFitting/Algorithms/FitPowderDiffPeaks.h" #include "MantidDataHandling/LoadAscii.h" #include "MantidAPI/MatrixWorkspace.h" #include "MantidDataObjects/Workspace2D.h" @@ -11,7 +11,7 @@ #include "MantidAPI/TableRow.h" #include <fstream> -using Mantid::CurveFitting::FitPowderDiffPeaks; +using Mantid::CurveFitting::Algorithms::FitPowderDiffPeaks; using namespace std; using namespace Mantid; @@ -32,7 +32,7 @@ public: /** Test init */ void test_Init() { - CurveFitting::FitPowderDiffPeaks alg; + Algorithms::FitPowderDiffPeaks alg; TS_ASSERT_THROWS_NOTHING(alg.initialize()); TS_ASSERT(alg.isInitialized()); diff --git a/Framework/CurveFitting/test/FitTest.h b/Framework/CurveFitting/test/Algorithms/FitTest.h similarity index 98% rename from Framework/CurveFitting/test/FitTest.h rename to Framework/CurveFitting/test/Algorithms/FitTest.h index d4ce164b49008fd56dfc082016524bab1e9a7743..94b27088b284b5188b077158fe2d7ab871c110f7 100644 --- a/Framework/CurveFitting/test/FitTest.h +++ b/Framework/CurveFitting/test/Algorithms/FitTest.h @@ -7,11 +7,12 @@ #include "MantidAPI/FrameworkManager.h" #include "MantidAPI/IFuncMinimizer.h" #include "MantidAPI/FuncMinimizerFactory.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "FitTestHelpers.h" using namespace Mantid; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; using namespace Mantid::API; namespace { diff --git a/Framework/CurveFitting/test/FitTestHelpers.h b/Framework/CurveFitting/test/Algorithms/FitTestHelpers.h similarity index 100% rename from Framework/CurveFitting/test/FitTestHelpers.h rename to Framework/CurveFitting/test/Algorithms/FitTestHelpers.h diff --git a/Framework/CurveFitting/test/LeBailFitTest.h b/Framework/CurveFitting/test/Algorithms/LeBailFitTest.h similarity index 99% rename from Framework/CurveFitting/test/LeBailFitTest.h rename to Framework/CurveFitting/test/Algorithms/LeBailFitTest.h index 0a680a21882ea35e5dd8b40b6be94e28635dc523..363ef9c91010ca6812518c889f784cbca4f3f335 100644 --- a/Framework/CurveFitting/test/LeBailFitTest.h +++ b/Framework/CurveFitting/test/Algorithms/LeBailFitTest.h @@ -5,7 +5,7 @@ #include "MantidKernel/Timer.h" #include "MantidKernel/System.h" -#include "MantidCurveFitting/LeBailFit.h" +#include "MantidCurveFitting/Algorithms/LeBailFit.h" #include "MantidDataHandling/LoadAscii.h" #include <fstream> @@ -28,7 +28,7 @@ using namespace WorkspaceCreationHelper; using namespace std; -using Mantid::CurveFitting::LeBailFit; +using Mantid::CurveFitting::Algorithms::LeBailFit; class LeBailFitTest : public CxxTest::TestSuite { public: diff --git a/Framework/CurveFitting/test/LeBailFunctionTest.h b/Framework/CurveFitting/test/Algorithms/LeBailFunctionTest.h similarity index 99% rename from Framework/CurveFitting/test/LeBailFunctionTest.h rename to Framework/CurveFitting/test/Algorithms/LeBailFunctionTest.h index c4f22cd43abfd1af0e8d693dfe58b3d07a6968f8..3c0fbdc897d010019117c62fe14533fb34c997a9 100644 --- a/Framework/CurveFitting/test/LeBailFunctionTest.h +++ b/Framework/CurveFitting/test/Algorithms/LeBailFunctionTest.h @@ -7,10 +7,11 @@ #include "MantidKernel/System.h" #include <fstream> -#include "MantidCurveFitting/LeBailFunction.h" +#include "MantidCurveFitting/Algorithms/LeBailFunction.h" using namespace Mantid; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; using namespace Mantid::API; using namespace std; diff --git a/Framework/CurveFitting/test/NormaliseByPeakAreaTest.h b/Framework/CurveFitting/test/Algorithms/NormaliseByPeakAreaTest.h similarity index 98% rename from Framework/CurveFitting/test/NormaliseByPeakAreaTest.h rename to Framework/CurveFitting/test/Algorithms/NormaliseByPeakAreaTest.h index 42e26ed2efc5fbadba4d4a247a2dcb7b48351e0d..30d27a5a9b32834fae81aba7fc65f4d3fd6e56a3 100644 --- a/Framework/CurveFitting/test/NormaliseByPeakAreaTest.h +++ b/Framework/CurveFitting/test/Algorithms/NormaliseByPeakAreaTest.h @@ -3,10 +3,10 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/NormaliseByPeakArea.h" -#include "ComptonProfileTestHelpers.h" +#include "MantidCurveFitting/Algorithms/NormaliseByPeakArea.h" +#include "../Functions/ComptonProfileTestHelpers.h" -using Mantid::CurveFitting::NormaliseByPeakArea; +using Mantid::CurveFitting::Algorithms::NormaliseByPeakArea; class NormaliseByPeakAreaTest : public CxxTest::TestSuite { public: diff --git a/Framework/CurveFitting/test/PawleyFitTest.h b/Framework/CurveFitting/test/Algorithms/PawleyFitTest.h similarity index 98% rename from Framework/CurveFitting/test/PawleyFitTest.h rename to Framework/CurveFitting/test/Algorithms/PawleyFitTest.h index 3c99605f3d889689ca20cd3a8f375a4c09f0a93f..1766df896cd2ddba7d2486f7210f2496a25dd0fd 100644 --- a/Framework/CurveFitting/test/PawleyFitTest.h +++ b/Framework/CurveFitting/test/Algorithms/PawleyFitTest.h @@ -3,7 +3,7 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/PawleyFit.h" +#include "MantidCurveFitting/Algorithms/PawleyFit.h" #include "MantidAPI/AlgorithmManager.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/TableRow.h" @@ -11,8 +11,8 @@ #include "MantidKernel/V3D.h" #include "MantidTestHelpers/WorkspaceCreationHelper.h" -using Mantid::CurveFitting::PawleyFit; -using Mantid::CurveFitting::V3DFromHKLColumnExtractor; +using Mantid::CurveFitting::Algorithms::PawleyFit; +using Mantid::CurveFitting::Algorithms::V3DFromHKLColumnExtractor; using namespace Mantid::API; using namespace Mantid::Kernel; diff --git a/Framework/CurveFitting/test/PlotPeakByLogValueTest.h b/Framework/CurveFitting/test/Algorithms/PlotPeakByLogValueTest.h similarity index 99% rename from Framework/CurveFitting/test/PlotPeakByLogValueTest.h rename to Framework/CurveFitting/test/Algorithms/PlotPeakByLogValueTest.h index 03947a4ae12f68f9ef830eeab19346b35e5fa4f7..9fb02f3eff1711f19136fd8add1b58a3658e50b4 100644 --- a/Framework/CurveFitting/test/PlotPeakByLogValueTest.h +++ b/Framework/CurveFitting/test/Algorithms/PlotPeakByLogValueTest.h @@ -3,7 +3,7 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/PlotPeakByLogValue.h" +#include "MantidCurveFitting/Algorithms/PlotPeakByLogValue.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidDataObjects/TableWorkspace.h" #include "MantidAPI/TableRow.h" @@ -26,6 +26,7 @@ using namespace Mantid; using namespace Mantid::API; using namespace Mantid::DataObjects; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; typedef Mantid::DataObjects::Workspace2D_sptr WS_type; typedef Mantid::DataObjects::TableWorkspace_sptr TWS_type; diff --git a/Framework/CurveFitting/test/RefinePowderInstrumentParameters3Test.h b/Framework/CurveFitting/test/Algorithms/RefinePowderInstrumentParameters3Test.h similarity index 99% rename from Framework/CurveFitting/test/RefinePowderInstrumentParameters3Test.h rename to Framework/CurveFitting/test/Algorithms/RefinePowderInstrumentParameters3Test.h index a77678e9ebccb2dae4462d4d8d0611b4fc1c4f26..dedf1a1c02d6251cc27152f26dde9d4820c39563 100644 --- a/Framework/CurveFitting/test/RefinePowderInstrumentParameters3Test.h +++ b/Framework/CurveFitting/test/Algorithms/RefinePowderInstrumentParameters3Test.h @@ -3,7 +3,7 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/RefinePowderInstrumentParameters3.h" +#include "MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters3.h" #include "MantidAPI/WorkspaceFactory.h" #include "MantidDataObjects/Workspace2D.h" @@ -12,7 +12,7 @@ #include <fstream> -using Mantid::CurveFitting::RefinePowderInstrumentParameters3; +using Mantid::CurveFitting::Algorithms::RefinePowderInstrumentParameters3; using namespace Mantid; using namespace Mantid::DataObjects; diff --git a/Framework/CurveFitting/test/RefinePowderInstrumentParametersTest.h b/Framework/CurveFitting/test/Algorithms/RefinePowderInstrumentParametersTest.h similarity index 98% rename from Framework/CurveFitting/test/RefinePowderInstrumentParametersTest.h rename to Framework/CurveFitting/test/Algorithms/RefinePowderInstrumentParametersTest.h index 421e4728d18724aff5a18509d3079997d7af5c81..fccdacb20db30175b3a3fa7c457b9ca9d9cbff43 100644 --- a/Framework/CurveFitting/test/RefinePowderInstrumentParametersTest.h +++ b/Framework/CurveFitting/test/Algorithms/RefinePowderInstrumentParametersTest.h @@ -3,14 +3,14 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/RefinePowderInstrumentParameters.h" +#include "MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters.h" #include "MantidAPI/MatrixWorkspace.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidDataObjects/TableWorkspace.h" #include "MantidAPI/TableRow.h" #include <fstream> -using Mantid::CurveFitting::RefinePowderInstrumentParameters; +using Mantid::CurveFitting::Algorithms::RefinePowderInstrumentParameters; using namespace Mantid; using namespace Mantid::Kernel; using namespace Mantid::API; @@ -153,7 +153,7 @@ public: geomparamws); // 2. Set up algorithm parameters - CurveFitting::RefinePowderInstrumentParameters alg; + RefinePowderInstrumentParameters alg; TS_ASSERT_THROWS_NOTHING(alg.initialize()); TS_ASSERT(alg.isInitialized()); @@ -236,7 +236,7 @@ public: geomparamws); // 2. Set up algorithm parameters - CurveFitting::RefinePowderInstrumentParameters alg; + RefinePowderInstrumentParameters alg; TS_ASSERT_THROWS_NOTHING(alg.initialize()); TS_ASSERT(alg.isInitialized()); diff --git a/Framework/CurveFitting/test/SeqDomainSpectrumCreatorTest.h b/Framework/CurveFitting/test/Algorithms/SeqDomainSpectrumCreatorTest.h similarity index 99% rename from Framework/CurveFitting/test/SeqDomainSpectrumCreatorTest.h rename to Framework/CurveFitting/test/Algorithms/SeqDomainSpectrumCreatorTest.h index 4cf5c605467e89f40040a1d00da1b3cea7d9b196..077ca4fd6b7d0e7eaf1743731055c1fa0de27f03 100644 --- a/Framework/CurveFitting/test/SeqDomainSpectrumCreatorTest.h +++ b/Framework/CurveFitting/test/Algorithms/SeqDomainSpectrumCreatorTest.h @@ -10,7 +10,7 @@ #include "MantidAPI/IFunction1DSpectrum.h" #include "MantidAPI/ParamFunction.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidAPI/TableRow.h" #include "MantidAPI/FunctionFactory.h" @@ -20,6 +20,7 @@ using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; class SeqDomainSpectrumCreatorTest : public CxxTest::TestSuite { public: diff --git a/Framework/CurveFitting/test/SplineBackgroundTest.h b/Framework/CurveFitting/test/Algorithms/SplineBackgroundTest.h similarity index 96% rename from Framework/CurveFitting/test/SplineBackgroundTest.h rename to Framework/CurveFitting/test/Algorithms/SplineBackgroundTest.h index 935ed917426390465f5b952deb4f385aba20c967..4608bff0880d02351a3143f238691427d8a7896f 100644 --- a/Framework/CurveFitting/test/SplineBackgroundTest.h +++ b/Framework/CurveFitting/test/Algorithms/SplineBackgroundTest.h @@ -2,7 +2,7 @@ #define SPLINEBACKGROUNDTEST_H_ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/SplineBackground.h" +#include "MantidCurveFitting/Algorithms/SplineBackground.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/FrameworkManager.h" #include "MantidAPI/MatrixWorkspace.h" diff --git a/Framework/CurveFitting/test/SplineInterpolationTest.h b/Framework/CurveFitting/test/Algorithms/SplineInterpolationTest.h similarity index 97% rename from Framework/CurveFitting/test/SplineInterpolationTest.h rename to Framework/CurveFitting/test/Algorithms/SplineInterpolationTest.h index 43b5adc90e74c081932edbe431ce6a50dcd11081..e55dc97c987ca523d7b8ac445a20e1c9ea1e0f2e 100644 --- a/Framework/CurveFitting/test/SplineInterpolationTest.h +++ b/Framework/CurveFitting/test/Algorithms/SplineInterpolationTest.h @@ -3,12 +3,12 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/SplineInterpolation.h" +#include "MantidCurveFitting/Algorithms/SplineInterpolation.h" #include "MantidTestHelpers/WorkspaceCreationHelper.h" #include "MantidAPI/NumericAxis.h" #include "MantidAPI/TextAxis.h" -using Mantid::CurveFitting::SplineInterpolation; +using Mantid::CurveFitting::Algorithms::SplineInterpolation; using namespace Mantid::API; class SplineInterpolationTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/SplineSmoothingTest.h b/Framework/CurveFitting/test/Algorithms/SplineSmoothingTest.h similarity index 96% rename from Framework/CurveFitting/test/SplineSmoothingTest.h rename to Framework/CurveFitting/test/Algorithms/SplineSmoothingTest.h index cc28ba8c4361c88f6d91c53231d3120d033fdc9b..bc88af1750e9c0de3be3a6940fd5c9667859b100 100644 --- a/Framework/CurveFitting/test/SplineSmoothingTest.h +++ b/Framework/CurveFitting/test/Algorithms/SplineSmoothingTest.h @@ -4,9 +4,9 @@ #include <cxxtest/TestSuite.h> #include "MantidTestHelpers/WorkspaceCreationHelper.h" -#include "MantidCurveFitting/SplineSmoothing.h" +#include "MantidCurveFitting/Algorithms/SplineSmoothing.h" -using Mantid::CurveFitting::SplineSmoothing; +using Mantid::CurveFitting::Algorithms::SplineSmoothing; class SplineSmoothingTest : public CxxTest::TestSuite { public: diff --git a/Framework/CurveFitting/test/CompositeFunctionTest.h b/Framework/CurveFitting/test/CompositeFunctionTest.h index 9ee2946430933592a048a59e1f179eee728fcb8a..62a5cc3a1e5a15205b4504fafbb040b3f1543b75 100644 --- a/Framework/CurveFitting/test/CompositeFunctionTest.h +++ b/Framework/CurveFitting/test/CompositeFunctionTest.h @@ -5,7 +5,7 @@ #include "MantidAPI/IPeakFunction.h" #include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidDataObjects/TableWorkspace.h" #include "MantidAPI/TableRow.h" @@ -13,12 +13,12 @@ #include "MantidKernel/ConfigService.h" #include "MantidAPI/FrameworkManager.h" -#include "MantidCurveFitting/SimplexMinimizer.h" -#include "MantidCurveFitting/BFGS_Minimizer.h" -#include "MantidCurveFitting/LevenbergMarquardtMDMinimizer.h" -#include "MantidCurveFitting/UserFunction.h" -#include "MantidCurveFitting/ExpDecay.h" -#include "MantidCurveFitting/CostFuncLeastSquares.h" +#include "MantidCurveFitting/FuncMinimizers/SimplexMinimizer.h" +#include "MantidCurveFitting/FuncMinimizers/BFGS_Minimizer.h" +#include "MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMDMinimizer.h" +#include "MantidCurveFitting/Functions/UserFunction.h" +#include "MantidCurveFitting/Functions/ExpDecay.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" #include "MantidCurveFitting/GSLJacobian.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" @@ -28,6 +28,10 @@ using namespace Mantid::API; using namespace Mantid::DataObjects; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::FuncMinimisers; +using namespace Mantid::CurveFitting::CostFunctions; typedef Mantid::DataObjects::Workspace2D_sptr WS_type; typedef Mantid::DataObjects::TableWorkspace_sptr TWS_type; diff --git a/Framework/CurveFitting/test/BoundaryConstraintTest.h b/Framework/CurveFitting/test/Constraints/BoundaryConstraintTest.h similarity index 95% rename from Framework/CurveFitting/test/BoundaryConstraintTest.h rename to Framework/CurveFitting/test/Constraints/BoundaryConstraintTest.h index e23d1847af1eadd572844b8ece762178eb6588c5..6e340def5735e36eb437735f2ef22b333dbe501e 100644 --- a/Framework/CurveFitting/test/BoundaryConstraintTest.h +++ b/Framework/CurveFitting/test/Constraints/BoundaryConstraintTest.h @@ -3,9 +3,9 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/BoundaryConstraint.h" -#include "MantidCurveFitting/Gaussian.h" -#include "MantidCurveFitting/Lorentzian.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" +#include "MantidCurveFitting/Functions/Gaussian.h" +#include "MantidCurveFitting/Functions/Lorentzian.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" @@ -15,6 +15,8 @@ using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::Constraints; class BoundaryConstraintTest : public CxxTest::TestSuite { public: @@ -39,7 +41,7 @@ public: TS_ASSERT(bc.hasUpper()); BoundaryConstraint bc2; - ; + bc2.reset(&gaus, 2); bc2.setBounds(10, 20); diff --git a/Framework/CurveFitting/test/CostFuncUnweightedLeastSquaresTest.h b/Framework/CurveFitting/test/CostFunctions/CostFuncUnweightedLeastSquaresTest.h similarity index 95% rename from Framework/CurveFitting/test/CostFuncUnweightedLeastSquaresTest.h rename to Framework/CurveFitting/test/CostFunctions/CostFuncUnweightedLeastSquaresTest.h index 7604eac76910549eb1946377693e565aed930d03..6b79954f49eac2fdc6c250fb04dec93e158ad58b 100644 --- a/Framework/CurveFitting/test/CostFuncUnweightedLeastSquaresTest.h +++ b/Framework/CurveFitting/test/CostFunctions/CostFuncUnweightedLeastSquaresTest.h @@ -5,11 +5,11 @@ #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionFactory.h" -#include "MantidCurveFitting/CostFuncUnweightedLeastSquares.h" +#include "MantidCurveFitting/CostFunctions/CostFuncUnweightedLeastSquares.h" #include <boost/make_shared.hpp> -using Mantid::CurveFitting::CostFuncUnweightedLeastSquares; +using Mantid::CurveFitting::CostFunctions::CostFuncUnweightedLeastSquares; using namespace Mantid::API; class CostFuncUnweightedLeastSquaresTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/LeastSquaresTest.h b/Framework/CurveFitting/test/CostFunctions/LeastSquaresTest.h similarity index 94% rename from Framework/CurveFitting/test/LeastSquaresTest.h rename to Framework/CurveFitting/test/CostFunctions/LeastSquaresTest.h index 3f49a8cb1103c33ff00f0a512d4b4bd3f1a26417..425d34058f918ca2c14b4cd84a90a9fe86ded20b 100644 --- a/Framework/CurveFitting/test/LeastSquaresTest.h +++ b/Framework/CurveFitting/test/CostFunctions/LeastSquaresTest.h @@ -3,24 +3,27 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/CostFuncLeastSquares.h" -#include "MantidCurveFitting/CostFuncRwp.h" -#include "MantidCurveFitting/SimplexMinimizer.h" -#include "MantidCurveFitting/BFGS_Minimizer.h" -#include "MantidCurveFitting/LevenbergMarquardtMDMinimizer.h" -#include "MantidCurveFitting/UserFunction.h" -#include "MantidCurveFitting/ExpDecay.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" +#include "MantidCurveFitting/CostFunctions/CostFuncRwp.h" +#include "MantidCurveFitting/FuncMinimizers/SimplexMinimizer.h" +#include "MantidCurveFitting/FuncMinimizers/BFGS_Minimizer.h" +#include "MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMDMinimizer.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" #include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/LinearBackground.h" -#include "MantidCurveFitting/Gaussian.h" +#include "MantidCurveFitting/Functions/LinearBackground.h" +#include "MantidCurveFitting/Functions/Gaussian.h" +#include "MantidCurveFitting/Functions/UserFunction.h" +#include "MantidCurveFitting/Functions/ExpDecay.h" #include <gsl/gsl_blas.h> #include <sstream> using namespace Mantid; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::FuncMinimisers; +using namespace Mantid::CurveFitting::CostFunctions; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; class LeastSquaresTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/FitMWTest.h b/Framework/CurveFitting/test/FitMWTest.h index 78782f80d0678cdc1fd95ae41b4ca82ae54c3d68..00f938a976097564634c962ab59e1d74bf45e6a0 100644 --- a/Framework/CurveFitting/test/FitMWTest.h +++ b/Framework/CurveFitting/test/FitMWTest.h @@ -5,13 +5,13 @@ #include "MantidTestHelpers/FakeObjects.h" #include "MantidCurveFitting/FitMW.h" -#include "MantidCurveFitting/Fit.h" -#include "MantidCurveFitting/UserFunction.h" -#include "MantidCurveFitting/ExpDecay.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidCurveFitting/SeqDomain.h" -#include "MantidCurveFitting/Convolution.h" -#include "MantidCurveFitting/Gaussian.h" -#include "MantidCurveFitting/Polynomial.h" +#include "MantidCurveFitting/Functions/UserFunction.h" +#include "MantidCurveFitting/Functions/ExpDecay.h" +#include "MantidCurveFitting/Functions/Convolution.h" +#include "MantidCurveFitting/Functions/Gaussian.h" +#include "MantidCurveFitting/Functions/Polynomial.h" #include "MantidAPI/CompositeFunction.h" #include "MantidAPI/FrameworkManager.h" @@ -29,6 +29,8 @@ using namespace Mantid; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; class FitMWTest : public CxxTest::TestSuite { @@ -51,7 +53,7 @@ public: fun->setParameter("Height", 1.); fun->setParameter("Lifetime", 1.0); - Fit fit; + Algorithms::Fit fit; fit.initialize(); fit.setProperty("Function", fun); @@ -159,7 +161,7 @@ public: fun->setParameter("Height", 1.); fun->setParameter("Lifetime", 1.); - Fit fit; + Algorithms::Fit fit; fit.initialize(); fit.setProperty("Function", fun); diff --git a/Framework/CurveFitting/test/BFGSTest.h b/Framework/CurveFitting/test/FuncMinimizers/BFGSTest.h similarity index 94% rename from Framework/CurveFitting/test/BFGSTest.h rename to Framework/CurveFitting/test/FuncMinimizers/BFGSTest.h index f0c03cb3e3792a1e600f9eaacdb761c0d10fcacf..0343e6677710560c70b4180980c6f01dfda4cbb2 100644 --- a/Framework/CurveFitting/test/BFGSTest.h +++ b/Framework/CurveFitting/test/FuncMinimizers/BFGSTest.h @@ -3,13 +3,14 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/BFGS_Minimizer.h" +#include "MantidCurveFitting/FuncMinimizers/BFGS_Minimizer.h" #include "MantidAPI/ICostFunction.h" #include <sstream> using namespace Mantid; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::FuncMinimisers; using namespace Mantid::API; class BFGSTestCostFunction : public ICostFunction { diff --git a/Framework/CurveFitting/test/DampingMinimizerTest.h b/Framework/CurveFitting/test/FuncMinimizers/DampingMinimizerTest.h similarity index 95% rename from Framework/CurveFitting/test/DampingMinimizerTest.h rename to Framework/CurveFitting/test/FuncMinimizers/DampingMinimizerTest.h index 61ce4aa560fc51076541d6c0ea00f39367759c01..1e8d08c13f590156ab50f463a09e6ea4e3714271 100644 --- a/Framework/CurveFitting/test/DampingMinimizerTest.h +++ b/Framework/CurveFitting/test/FuncMinimizers/DampingMinimizerTest.h @@ -3,17 +3,21 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/CostFuncLeastSquares.h" -#include "MantidCurveFitting/DampingMinimizer.h" -#include "MantidCurveFitting/UserFunction.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" +#include "MantidCurveFitting/FuncMinimizers/DampingMinimizer.h" +#include "MantidCurveFitting/Functions/UserFunction.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" -#include "MantidCurveFitting/BoundaryConstraint.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" #include <sstream> using namespace Mantid; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::FuncMinimisers; +using namespace Mantid::CurveFitting::CostFunctions; +using namespace Mantid::CurveFitting::Constraints; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; class DampingMinimizerTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/FABADAMinimizerTest.h b/Framework/CurveFitting/test/FuncMinimizers/FABADAMinimizerTest.h similarity index 94% rename from Framework/CurveFitting/test/FABADAMinimizerTest.h rename to Framework/CurveFitting/test/FuncMinimizers/FABADAMinimizerTest.h index 29b304014ebc1c720151f74adc0cfdae6d961be1..73f6508f42790dfc83079c5dcf4796ff14c0bf6b 100644 --- a/Framework/CurveFitting/test/FABADAMinimizerTest.h +++ b/Framework/CurveFitting/test/FuncMinimizers/FABADAMinimizerTest.h @@ -3,20 +3,22 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/FABADAMinimizer.h" +#include "MantidCurveFitting/FuncMinimizers/FABADAMinimizer.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidAPI/AlgorithmManager.h" -#include "MantidCurveFitting/ExpDecay.h" +#include "MantidCurveFitting/Functions/ExpDecay.h" #include "MantidKernel/PropertyManager.h" #include "MantidTestHelpers/FakeObjects.h" #include "MantidKernel/Exception.h" -using Mantid::CurveFitting::FABADAMinimizer; +using Mantid::CurveFitting::FuncMinimisers::FABADAMinimizer; using namespace Mantid::API; using namespace Mantid; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; class FABADAMinimizerTest : public CxxTest::TestSuite { public: @@ -34,7 +36,7 @@ public: fun->setParameter("Height", 8.); fun->setParameter("Lifetime", 1.0); - Fit fit; + Algorithms::Fit fit; fit.initialize(); fit.setRethrows(true); @@ -143,7 +145,7 @@ public: fun->setParameter("Height", 1.); fun->setParameter("Lifetime", 1.0); - Fit fit; + Algorithms::Fit fit; fit.initialize(); fit.setRethrows(true); diff --git a/Framework/CurveFitting/test/FRConjugateGradientTest.h b/Framework/CurveFitting/test/FuncMinimizers/FRConjugateGradientTest.h similarity index 94% rename from Framework/CurveFitting/test/FRConjugateGradientTest.h rename to Framework/CurveFitting/test/FuncMinimizers/FRConjugateGradientTest.h index 34028a02dd1213cb225a4deb8173f35f9de845e1..12629afb2dbd101ef72e3d9cbea61a74c1c13698 100644 --- a/Framework/CurveFitting/test/FRConjugateGradientTest.h +++ b/Framework/CurveFitting/test/FuncMinimizers/FRConjugateGradientTest.h @@ -3,13 +3,14 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/FRConjugateGradientMinimizer.h" +#include "MantidCurveFitting/FuncMinimizers/FRConjugateGradientMinimizer.h" #include "MantidAPI/ICostFunction.h" #include <sstream> using namespace Mantid; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::FuncMinimisers; using namespace Mantid::API; class FRConjugateGradientTestCostFunction : public ICostFunction { diff --git a/Framework/CurveFitting/test/LevenbergMarquardtMDTest.h b/Framework/CurveFitting/test/FuncMinimizers/LevenbergMarquardtMDTest.h similarity index 95% rename from Framework/CurveFitting/test/LevenbergMarquardtMDTest.h rename to Framework/CurveFitting/test/FuncMinimizers/LevenbergMarquardtMDTest.h index 93ae0e5dd0a8c4fbe019e61fd35211a07ad5aadd..edaeec639e087ddf475094d1d23c41b66cccb0ea 100644 --- a/Framework/CurveFitting/test/LevenbergMarquardtMDTest.h +++ b/Framework/CurveFitting/test/FuncMinimizers/LevenbergMarquardtMDTest.h @@ -3,17 +3,21 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/CostFuncLeastSquares.h" -#include "MantidCurveFitting/LevenbergMarquardtMDMinimizer.h" -#include "MantidCurveFitting/UserFunction.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" +#include "MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMDMinimizer.h" +#include "MantidCurveFitting/Functions/UserFunction.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" -#include "MantidCurveFitting/BoundaryConstraint.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" #include <sstream> using namespace Mantid; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::FuncMinimisers; +using namespace Mantid::CurveFitting::CostFunctions; +using namespace Mantid::CurveFitting::Constraints; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; class LevenbergMarquardtMDTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/LevenbergMarquardtTest.h b/Framework/CurveFitting/test/FuncMinimizers/LevenbergMarquardtTest.h similarity index 95% rename from Framework/CurveFitting/test/LevenbergMarquardtTest.h rename to Framework/CurveFitting/test/FuncMinimizers/LevenbergMarquardtTest.h index 30a690d98b9fd530976cf180cb1616a2461c7a0b..359712feb5f798bacd3398eb7e15d1193dac7f58 100644 --- a/Framework/CurveFitting/test/LevenbergMarquardtTest.h +++ b/Framework/CurveFitting/test/FuncMinimizers/LevenbergMarquardtTest.h @@ -3,17 +3,21 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/CostFuncLeastSquares.h" -#include "MantidCurveFitting/LevenbergMarquardtMinimizer.h" -#include "MantidCurveFitting/UserFunction.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" +#include "MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMinimizer.h" +#include "MantidCurveFitting/Functions/UserFunction.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" -#include "MantidCurveFitting/BoundaryConstraint.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" #include <sstream> using namespace Mantid; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::FuncMinimisers; +using namespace Mantid::CurveFitting::CostFunctions; +using namespace Mantid::CurveFitting::Constraints; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; class LevenbergMarquardtTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/PRConjugateGradientTest.h b/Framework/CurveFitting/test/FuncMinimizers/PRConjugateGradientTest.h similarity index 94% rename from Framework/CurveFitting/test/PRConjugateGradientTest.h rename to Framework/CurveFitting/test/FuncMinimizers/PRConjugateGradientTest.h index b5a8a910e1492319ec72a65f5f6d2d8a0e7d2cdd..6f250d93aa4a3ff039555979831aac6ca411556b 100644 --- a/Framework/CurveFitting/test/PRConjugateGradientTest.h +++ b/Framework/CurveFitting/test/FuncMinimizers/PRConjugateGradientTest.h @@ -3,13 +3,14 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/PRConjugateGradientMinimizer.h" +#include "MantidCurveFitting/FuncMinimizers/PRConjugateGradientMinimizer.h" #include "MantidAPI/ICostFunction.h" #include <sstream> using namespace Mantid; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::FuncMinimisers; using namespace Mantid::API; class PRConjugateGradientTestCostFunction : public ICostFunction { diff --git a/Framework/CurveFitting/test/SimplexTest.h b/Framework/CurveFitting/test/FuncMinimizers/SimplexTest.h similarity index 93% rename from Framework/CurveFitting/test/SimplexTest.h rename to Framework/CurveFitting/test/FuncMinimizers/SimplexTest.h index 95811e161315ccb4ef59c832762cc5b792392a31..6edf55ccb183f24d904837fcf25fcd9021132fc0 100644 --- a/Framework/CurveFitting/test/SimplexTest.h +++ b/Framework/CurveFitting/test/FuncMinimizers/SimplexTest.h @@ -3,13 +3,14 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/SimplexMinimizer.h" +#include "MantidCurveFitting/FuncMinimizers/SimplexMinimizer.h" #include "MantidAPI/ICostFunction.h" #include <sstream> using namespace Mantid; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::FuncMinimisers; using namespace Mantid::API; class SimplexTestCostFunction : public ICostFunction { diff --git a/Framework/CurveFitting/test/FunctionParameterDecoratorFitTest.h b/Framework/CurveFitting/test/FunctionParameterDecoratorFitTest.h index c7f60ebf936da427adc02bfe5a1b4a01c6b27288..699b840af67808e1503a8155ce93469c96282a33 100644 --- a/Framework/CurveFitting/test/FunctionParameterDecoratorFitTest.h +++ b/Framework/CurveFitting/test/FunctionParameterDecoratorFitTest.h @@ -9,13 +9,14 @@ #include "MantidAPI/FunctionParameterDecorator.h" #include "MantidDataObjects/Workspace2D.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include <boost/make_shared.hpp> using namespace Mantid::API; using namespace Mantid::DataObjects; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; class FunctionParameterDecoratorFitTest; diff --git a/Framework/CurveFitting/test/AbragamTest.h b/Framework/CurveFitting/test/Functions/AbragamTest.h similarity index 91% rename from Framework/CurveFitting/test/AbragamTest.h rename to Framework/CurveFitting/test/Functions/AbragamTest.h index 342eb7360e7b6942a94cd021848e1f6d4e67c333..387926477b7d2f73b443265d2ce80dfafbcd571c 100644 --- a/Framework/CurveFitting/test/AbragamTest.h +++ b/Framework/CurveFitting/test/Functions/AbragamTest.h @@ -3,11 +3,11 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/Abragam.h" +#include "MantidCurveFitting/Functions/Abragam.h" #include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/LinearBackground.h" -#include "MantidCurveFitting/BoundaryConstraint.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/LinearBackground.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" @@ -19,6 +19,8 @@ using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::DataObjects; class AbragamTest : public CxxTest::TestSuite { @@ -54,7 +56,7 @@ public: } void testAgainstMockData() { - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); diff --git a/Framework/CurveFitting/test/BSplineTest.h b/Framework/CurveFitting/test/Functions/BSplineTest.h similarity index 96% rename from Framework/CurveFitting/test/BSplineTest.h rename to Framework/CurveFitting/test/Functions/BSplineTest.h index b71c15a4ae356f0c2b8cc7afba484930f1b84e53..a504230e745db1cdc97040a74e634ad084a9351a 100644 --- a/Framework/CurveFitting/test/BSplineTest.h +++ b/Framework/CurveFitting/test/Functions/BSplineTest.h @@ -1,10 +1,10 @@ #ifndef BSPLINETEST_H_ #define BSPLINETEST_H_ -#include "MantidCurveFitting/BSpline.h" -#include "MantidCurveFitting/UserFunction.h" -#include "MantidCurveFitting/LevenbergMarquardtMDMinimizer.h" -#include "MantidCurveFitting/CostFuncLeastSquares.h" +#include "MantidCurveFitting/Functions/BSpline.h" +#include "MantidCurveFitting/Functions/UserFunction.h" +#include "MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMDMinimizer.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" #include "MantidAPI/FunctionFactory.h" @@ -15,6 +15,8 @@ using namespace Mantid; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::CostFunctions; class BSplineTest : public CxxTest::TestSuite { public: @@ -344,7 +346,7 @@ private: boost::shared_ptr<CostFuncLeastSquares> costFun(new CostFuncLeastSquares); costFun->setFittingFunction(bsp, domain, values); - LevenbergMarquardtMDMinimizer s; + FuncMinimisers::LevenbergMarquardtMDMinimizer s; s.initialize(costFun); TS_ASSERT(s.minimize()); return costFun->val(); diff --git a/Framework/CurveFitting/test/BackToBackExponentialTest.h b/Framework/CurveFitting/test/Functions/BackToBackExponentialTest.h similarity index 97% rename from Framework/CurveFitting/test/BackToBackExponentialTest.h rename to Framework/CurveFitting/test/Functions/BackToBackExponentialTest.h index bd30cef1e0906c2d5374fcd99603e57df1b73c4e..764131715ec7f1abb6e84a8ea97b90920846d6a7 100644 --- a/Framework/CurveFitting/test/BackToBackExponentialTest.h +++ b/Framework/CurveFitting/test/Functions/BackToBackExponentialTest.h @@ -3,13 +3,13 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/BackToBackExponential.h" +#include "MantidCurveFitting/Functions/BackToBackExponential.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" #include <cmath> -using Mantid::CurveFitting::BackToBackExponential; +using Mantid::CurveFitting::Functions::BackToBackExponential; namespace { /** diff --git a/Framework/CurveFitting/test/BivariateNormalTest.h b/Framework/CurveFitting/test/Functions/BivariateNormalTest.h similarity index 98% rename from Framework/CurveFitting/test/BivariateNormalTest.h rename to Framework/CurveFitting/test/Functions/BivariateNormalTest.h index 9645cd95927d825c4400c83f291f898497ae93a9..c169d9787aa554cdd55bc0a05c1333a376ec90a9 100644 --- a/Framework/CurveFitting/test/BivariateNormalTest.h +++ b/Framework/CurveFitting/test/Functions/BivariateNormalTest.h @@ -9,7 +9,7 @@ #define BIVARIATENORMALTEST_H_ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/BivariateNormal.h" +#include "MantidCurveFitting/Functions/BivariateNormal.h" #include "MantidKernel/Matrix.h" #include "MantidAPI/Jacobian.h" #include "MantidAPI/WorkspaceFactory.h" @@ -31,6 +31,7 @@ using namespace Mantid::API; using namespace Mantid::Geometry; using namespace Mantid::DataObjects; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; /** * Used for testing only */ diff --git a/Framework/CurveFitting/test/Bk2BkExpConvPVTest.h b/Framework/CurveFitting/test/Functions/Bk2BkExpConvPVTest.h similarity index 96% rename from Framework/CurveFitting/test/Bk2BkExpConvPVTest.h rename to Framework/CurveFitting/test/Functions/Bk2BkExpConvPVTest.h index 46cb015c0f921e2af7a4bcf3accee7348be2bafb..95fe716309da8ae2f705171fdcb9efde9d0f810e 100644 --- a/Framework/CurveFitting/test/Bk2BkExpConvPVTest.h +++ b/Framework/CurveFitting/test/Functions/Bk2BkExpConvPVTest.h @@ -6,13 +6,15 @@ #include "MantidKernel/System.h" #include <fstream> -#include "MantidCurveFitting/Bk2BkExpConvPV.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/Bk2BkExpConvPV.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidAPI/WorkspaceFactory.h" #include "MantidDataObjects/Workspace2D.h" using namespace Mantid; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; class Bk2BkExpConvPVTest : public CxxTest::TestSuite { @@ -156,7 +158,7 @@ public: << std::endl; // 3. Set fit - Fit fitalg; + Algorithms::Fit fitalg; fitalg.initialize(); TS_ASSERT(fitalg.isInitialized()); diff --git a/Framework/CurveFitting/test/ChebfunBaseTest.h b/Framework/CurveFitting/test/Functions/ChebfunBaseTest.h similarity index 98% rename from Framework/CurveFitting/test/ChebfunBaseTest.h rename to Framework/CurveFitting/test/Functions/ChebfunBaseTest.h index 0d2a8fb5fefc059bcf34a1f666c8419caaaba3ed..175fa53033dff71443d3260d7d825f4f89c94d51 100644 --- a/Framework/CurveFitting/test/ChebfunBaseTest.h +++ b/Framework/CurveFitting/test/Functions/ChebfunBaseTest.h @@ -3,12 +3,13 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/ChebfunBase.h" +#include "MantidCurveFitting/Functions/ChebfunBase.h" #include <cmath> using namespace Mantid; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; double Sin(double x) { return sin(x); } double MinusSin(double x) { return -sin(x); } diff --git a/Framework/CurveFitting/test/ChebyshevTest.h b/Framework/CurveFitting/test/Functions/ChebyshevTest.h similarity index 94% rename from Framework/CurveFitting/test/ChebyshevTest.h rename to Framework/CurveFitting/test/Functions/ChebyshevTest.h index 7cad35f6467b458528ae24878517dd66a89ad8c8..2602cc30011f506b35969d80ec4fbc5d25a0265a 100644 --- a/Framework/CurveFitting/test/ChebyshevTest.h +++ b/Framework/CurveFitting/test/Functions/ChebyshevTest.h @@ -3,8 +3,8 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/Chebyshev.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/Chebyshev.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/AnalysisDataService.h" @@ -14,6 +14,8 @@ using namespace Mantid; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; class ChebyshevTest : public CxxTest::TestSuite { public: @@ -59,7 +61,7 @@ public: Chebyshev cheb; cheb.setAttributeValue("n", 3); - Fit fit; + Algorithms::Fit fit; fit.initialize(); fit.setPropertyValue("Function", cheb.asString()); @@ -116,7 +118,7 @@ public: cheb.setAttributeValue("StartX", -10.0); cheb.setAttributeValue("EndX", 10.0); - Fit fit; + Algorithms::Fit fit; fit.initialize(); fit.setPropertyValue("Function", cheb.asString()); diff --git a/Framework/CurveFitting/test/ComptonPeakProfileTest.h b/Framework/CurveFitting/test/Functions/ComptonPeakProfileTest.h similarity index 95% rename from Framework/CurveFitting/test/ComptonPeakProfileTest.h rename to Framework/CurveFitting/test/Functions/ComptonPeakProfileTest.h index b66b087aa802c527caca4a6d8e1fd330d5e621b6..1d5a8488d99c3a143fd1ed5df9d99c4d97e3a7e6 100644 --- a/Framework/CurveFitting/test/ComptonPeakProfileTest.h +++ b/Framework/CurveFitting/test/Functions/ComptonPeakProfileTest.h @@ -3,10 +3,10 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/ComptonPeakProfile.h" +#include "MantidCurveFitting/Functions/ComptonPeakProfile.h" #include "ComptonProfileTestHelpers.h" -using Mantid::CurveFitting::ComptonPeakProfile; +using Mantid::CurveFitting::Functions::ComptonPeakProfile; class ComptonPeakProfileTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/ComptonProfileTest.h b/Framework/CurveFitting/test/Functions/ComptonProfileTest.h similarity index 95% rename from Framework/CurveFitting/test/ComptonProfileTest.h rename to Framework/CurveFitting/test/Functions/ComptonProfileTest.h index f1a33b8d848929d5101ef39af333cc2e05d9e482..2d21d6981cac2ea1c2bdd06f2e744938371e4cf7 100644 --- a/Framework/CurveFitting/test/ComptonProfileTest.h +++ b/Framework/CurveFitting/test/Functions/ComptonProfileTest.h @@ -3,10 +3,10 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/ComptonProfile.h" +#include "MantidCurveFitting/Functions/ComptonProfile.h" #include <boost/make_shared.hpp> -using Mantid::CurveFitting::ComptonProfile; +using Mantid::CurveFitting::Functions::ComptonProfile; class ComptonProfileTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/ComptonProfileTestHelpers.h b/Framework/CurveFitting/test/Functions/ComptonProfileTestHelpers.h similarity index 100% rename from Framework/CurveFitting/test/ComptonProfileTestHelpers.h rename to Framework/CurveFitting/test/Functions/ComptonProfileTestHelpers.h diff --git a/Framework/CurveFitting/test/ComptonScatteringCountRateTest.h b/Framework/CurveFitting/test/Functions/ComptonScatteringCountRateTest.h similarity index 97% rename from Framework/CurveFitting/test/ComptonScatteringCountRateTest.h rename to Framework/CurveFitting/test/Functions/ComptonScatteringCountRateTest.h index 714776b1bef083fc29139c04106ce15933024a16..a9fe90bd3babc3a60a9d8cf51350bd93db538fe3 100644 --- a/Framework/CurveFitting/test/ComptonScatteringCountRateTest.h +++ b/Framework/CurveFitting/test/Functions/ComptonScatteringCountRateTest.h @@ -2,9 +2,12 @@ #define MANTID_CURVEFITTING_COMPTONSCATTERINGCOUNTRATETEST_H_ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/ComptonScatteringCountRate.h" +#include "MantidCurveFitting/Functions/ComptonScatteringCountRate.h" #include "ComptonProfileTestHelpers.h" +using Mantid::CurveFitting::Functions::ComptonScatteringCountRate; +using Mantid::CurveFitting::Functions::ComptonProfile; + class ComptonScatteringCountRateTest : public CxxTest::TestSuite { public: // This pair of boilerplate methods prevent the suite being created statically @@ -209,7 +212,7 @@ public: private: /// A simple working object to use for the testing /// Provides a canned answer of 1 for the massProfile - class ComptonProfileStub : public Mantid::CurveFitting::ComptonProfile { + class ComptonProfileStub : public ComptonProfile { public: ComptonProfileStub() : ComptonProfile() { declareParameter("Width", 1.0); @@ -289,7 +292,7 @@ private: return func; } - boost::shared_ptr<Mantid::CurveFitting::ComptonScatteringCountRate> + boost::shared_ptr<ComptonScatteringCountRate> createFunctionNoBackground(const bool useTwoIntensityFuncAsFirst = false) { boost::shared_ptr<ComptonProfileStub> func1; if (useTwoIntensityFuncAsFirst) { @@ -310,7 +313,6 @@ private: func2->setParameter("Width", 10.0); func2->setParameter("Intensity", 3.0); - using Mantid::CurveFitting::ComptonScatteringCountRate; auto profile = boost::make_shared<ComptonScatteringCountRate>(); profile->initialize(); profile->addFunction(func1); @@ -321,7 +323,6 @@ private: } Mantid::API::IFunction_sptr createFunction() { - using Mantid::CurveFitting::ComptonScatteringCountRate; auto profile = boost::make_shared<ComptonScatteringCountRate>(); profile->initialize(); diff --git a/Framework/CurveFitting/test/ConvolutionTest.h b/Framework/CurveFitting/test/Functions/ConvolutionTest.h similarity index 98% rename from Framework/CurveFitting/test/ConvolutionTest.h rename to Framework/CurveFitting/test/Functions/ConvolutionTest.h index 222e87689568f9c6e3885b24b2b446fcb3c727d6..21c97b9b390e28361bbb123333158d45c82abf6d 100644 --- a/Framework/CurveFitting/test/ConvolutionTest.h +++ b/Framework/CurveFitting/test/Functions/ConvolutionTest.h @@ -5,8 +5,8 @@ #include "MantidAPI/FrameworkManager.h" #include "MantidAPI/AnalysisDataService.h" -#include "MantidCurveFitting/Convolution.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/Convolution.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidDataObjects/TableWorkspace.h" #include "MantidAPI/IPeakFunction.h" @@ -21,6 +21,8 @@ using namespace Mantid; using namespace Mantid::API; using namespace Mantid::DataObjects; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; typedef Mantid::DataObjects::Workspace2D_sptr WS_type; typedef Mantid::DataObjects::TableWorkspace_sptr TWS_type; @@ -406,7 +408,7 @@ public: conv->setParameter("f1.h", 1); conv->setParameter("f1.w", 1); - Fit fit; + Algorithms::Fit fit; fit.initialize(); fit.setPropertyValue("Function", conv->asString()); @@ -424,7 +426,7 @@ public: 0.1, fabs(out->getParameter("f1.w") - conv->getParameter("f1.w"))); conv->setAttributeValue("FixResolution", false); - Fit fit1; + Algorithms::Fit fit1; fit1.initialize(); fit1.setProperty("Function", boost::dynamic_pointer_cast<IFunction>(conv)); fit1.setProperty("InputWorkspace", data); diff --git a/Framework/CurveFitting/test/CubicSplineTest.h b/Framework/CurveFitting/test/Functions/CubicSplineTest.h similarity index 97% rename from Framework/CurveFitting/test/CubicSplineTest.h rename to Framework/CurveFitting/test/Functions/CubicSplineTest.h index f9a21e89591d04d0afa1c2943e88446a098a47e0..f90d200345fe5ffece9b81c38ba57583f84135e9 100644 --- a/Framework/CurveFitting/test/CubicSplineTest.h +++ b/Framework/CurveFitting/test/Functions/CubicSplineTest.h @@ -5,8 +5,8 @@ #include <cmath> #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/CubicSpline.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/CubicSpline.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/AnalysisDataService.h" @@ -16,6 +16,8 @@ using namespace Mantid; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; class CubicSplineTest : public CxxTest::TestSuite { public: diff --git a/Framework/CurveFitting/test/DeltaFunctionTest.h b/Framework/CurveFitting/test/Functions/DeltaFunctionTest.h similarity index 93% rename from Framework/CurveFitting/test/DeltaFunctionTest.h rename to Framework/CurveFitting/test/Functions/DeltaFunctionTest.h index d6ff22def118eb83ee4bd09828903e1cc5e7ebf6..b7fabe94be69f939f9593a29ee64bf745353847f 100644 --- a/Framework/CurveFitting/test/DeltaFunctionTest.h +++ b/Framework/CurveFitting/test/Functions/DeltaFunctionTest.h @@ -2,10 +2,10 @@ #define DELTAFUNCTIONTEST_H #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Algorithms/Fit.h" -#include "MantidCurveFitting/DeltaFunction.h" -#include "MantidCurveFitting/Convolution.h" +#include "MantidCurveFitting/Functions/DeltaFunction.h" +#include "MantidCurveFitting/Functions/Convolution.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" @@ -13,6 +13,8 @@ using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; // same class as ConvolutionTest_Gauss in ConvolutionTest.h class DeltaFunctionTest_Gauss : public IPeakFunction { diff --git a/Framework/CurveFitting/test/DiffRotDiscreteCircleTest.h b/Framework/CurveFitting/test/Functions/DiffRotDiscreteCircleTest.h similarity index 94% rename from Framework/CurveFitting/test/DiffRotDiscreteCircleTest.h rename to Framework/CurveFitting/test/Functions/DiffRotDiscreteCircleTest.h index b6ffb6e4c0ff751c700ef445c3a6cb72a15f52d6..4b8df7d7a42592fafb9a381ecd27f535e01e3fdb 100644 --- a/Framework/CurveFitting/test/DiffRotDiscreteCircleTest.h +++ b/Framework/CurveFitting/test/Functions/DiffRotDiscreteCircleTest.h @@ -3,10 +3,10 @@ #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/AlgorithmFactory.h" -#include "MantidCurveFitting/Convolution.h" -#include "MantidCurveFitting/DiffRotDiscreteCircle.h" -#include "MantidCurveFitting/Gaussian.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/Convolution.h" +#include "MantidCurveFitting/Functions/DiffRotDiscreteCircle.h" +#include "MantidCurveFitting/Functions/Gaussian.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidGeometry/Instrument/ReferenceFrame.h" #include "MantidTestHelpers/ComponentCreationHelper.h" #include "MantidTestHelpers/WorkspaceCreationHelper.h" @@ -18,6 +18,10 @@ #include <boost/random/uniform_real.hpp> #include <boost/shared_ptr.hpp> +using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; + class DiffRotDiscreteCircleTest : public CxxTest::TestSuite { public: @@ -34,8 +38,7 @@ public: const double w0 = random_value(-1.0, 1.0); const double h = random_value(1.0, 1000.0); const double fwhm = random_value(1.0, 100.0); - boost::shared_ptr<Mantid::CurveFitting::Gaussian> resolution( - new Mantid::CurveFitting::Gaussian()); + boost::shared_ptr<Gaussian> resolution(new Gaussian()); resolution->initialize(); // declare parameters resolution->setCentre(w0); resolution->setHeight(h); @@ -47,16 +50,15 @@ public: const double r = random_value(0.3, 9.8); const double Q = 0.9; const int N = 6; - boost::shared_ptr<Mantid::CurveFitting::ElasticDiffRotDiscreteCircle> - structure_factor( - new Mantid::CurveFitting::ElasticDiffRotDiscreteCircle()); + boost::shared_ptr<ElasticDiffRotDiscreteCircle> structure_factor( + new ElasticDiffRotDiscreteCircle()); structure_factor->setParameter("Height", I); structure_factor->setParameter("Radius", r); structure_factor->setAttributeValue("Q", Q); structure_factor->setAttributeValue("N", N); // initialize the convolution function - Mantid::CurveFitting::Convolution conv; + Convolution conv; conv.addFunction(resolution); conv.addFunction(structure_factor); @@ -124,7 +126,7 @@ public: "9,Intensity=2.9,Radius=2.3,Decay=0.468"; // Do a fit with no iterations - Mantid::CurveFitting::Fit fitalg; + Algorithms::Fit fitalg; TS_ASSERT_THROWS_NOTHING(fitalg.initialize()); TS_ASSERT(fitalg.isInitialized()); fitalg.setProperty("Function", funtion_string); @@ -172,7 +174,7 @@ public: const double tao = 0.45; const double Q = 0.7; const int N = 4; - Mantid::CurveFitting::DiffRotDiscreteCircle func; + DiffRotDiscreteCircle func; func.init(); func.setParameter("f1.Intensity", I); func.setParameter("f1.Radius", R); @@ -181,8 +183,7 @@ public: func.setAttributeValue("N", N); // check values where correctly initialized - auto ids = boost::dynamic_pointer_cast< - Mantid::CurveFitting::InelasticDiffRotDiscreteCircle>( + auto ids = boost::dynamic_pointer_cast<InelasticDiffRotDiscreteCircle>( func.getFunction(1)); TS_ASSERT_EQUALS(ids->getParameter("Intensity"), I); TS_ASSERT_EQUALS(ids->getParameter("Radius"), R); @@ -192,8 +193,7 @@ public: // check the ties were applied correctly func.applyTies(); // elastic parameters are tied to inelastic parameters - auto eds = boost::dynamic_pointer_cast< - Mantid::CurveFitting::ElasticDiffRotDiscreteCircle>( + auto eds = boost::dynamic_pointer_cast<ElasticDiffRotDiscreteCircle>( func.getFunction(0)); TS_ASSERT_EQUALS(eds->getParameter("Height"), I); TS_ASSERT_EQUALS(eds->getParameter("Radius"), R); @@ -207,15 +207,14 @@ public: const double tao = 0.45; // This should set parameters of the inelastic part - Mantid::CurveFitting::DiffRotDiscreteCircle func; + DiffRotDiscreteCircle func; func.init(); func.setParameter("Intensity", I); func.setParameter("Radius", R); func.setParameter("Decay", tao); // check the parameter of the inelastic part - auto ifunc = boost::dynamic_pointer_cast< - Mantid::CurveFitting::InelasticDiffRotDiscreteCircle>( + auto ifunc = boost::dynamic_pointer_cast<InelasticDiffRotDiscreteCircle>( func.getFunction(1)); TS_ASSERT_EQUALS(ifunc->getParameter("Intensity"), I); TS_ASSERT_EQUALS(ifunc->getParameter("Radius"), R); @@ -223,8 +222,7 @@ public: // check the parameters of the elastic part func.applyTies(); // elastic parameters are tied to inelastic parameters - auto efunc = boost::dynamic_pointer_cast< - Mantid::CurveFitting::ElasticDiffRotDiscreteCircle>( + auto efunc = boost::dynamic_pointer_cast<ElasticDiffRotDiscreteCircle>( func.getFunction(0)); TS_ASSERT_EQUALS(efunc->getParameter("Height"), I); TS_ASSERT_EQUALS(efunc->getParameter("Radius"), R); @@ -244,7 +242,7 @@ public: "Radius=1.567,Decay=7.567))"; // Initialize the fit function in the Fit algorithm - Mantid::CurveFitting::Fit fitalg; + Algorithms::Fit fitalg; TS_ASSERT_THROWS_NOTHING(fitalg.initialize()); TS_ASSERT(fitalg.isInitialized()); fitalg.setProperty("Function", funtion_string); @@ -277,8 +275,7 @@ public: Mantid::API::IFunction_sptr fitalg_function = fitalg.getProperty("Function"); auto fitalg_conv = - boost::dynamic_pointer_cast<Mantid::CurveFitting::Convolution>( - fitalg_function); + boost::dynamic_pointer_cast<Convolution>(fitalg_function); Mantid::API::IFunction_sptr fitalg_resolution = fitalg_conv->getFunction(0); TS_ASSERT_DELTA(fitalg_resolution->getParameter("PeakCentre"), 0.0, 0.00001); // allow for a small percent variation @@ -342,7 +339,7 @@ private: << ",Shift=" << S << ")"; // Initialize the fit function in the Fit algorithm - Mantid::CurveFitting::Fit fitalg; + Algorithms::Fit fitalg; TS_ASSERT_THROWS_NOTHING(fitalg.initialize()); TS_ASSERT(fitalg.isInitialized()); fitalg.setProperty("Function", function_stream.str()); @@ -384,8 +381,7 @@ private: Mantid::API::IFunction_sptr fitalg_function = fitalg.getProperty("Function"); auto fitalg_conv = - boost::dynamic_pointer_cast<Mantid::CurveFitting::Convolution>( - fitalg_function); + boost::dynamic_pointer_cast<Convolution>(fitalg_function); Mantid::API::IFunction_sptr fitalg_resolution = fitalg_conv->getFunction(0); TS_ASSERT_DELTA(fitalg_resolution->getParameter("PeakCentre"), 0.0, 0.00001); // allow for a small percent variation @@ -525,7 +521,7 @@ private: // create a data workspace using a Fit algorithm Mantid::DataObjects::Workspace2D_sptr - generateWorkspaceFromFitAlgorithm(Mantid::CurveFitting::Fit &fitalg) { + generateWorkspaceFromFitAlgorithm(Algorithms::Fit &fitalg) { using namespace Mantid::Kernel; using namespace Mantid::Geometry; diff --git a/Framework/CurveFitting/test/DiffSphereTest.h b/Framework/CurveFitting/test/Functions/DiffSphereTest.h similarity index 94% rename from Framework/CurveFitting/test/DiffSphereTest.h rename to Framework/CurveFitting/test/Functions/DiffSphereTest.h index 17d2e95afd9b115fcab90a1a311baa33d63013ab..06807332917f92d65dcc128bff337207ef34e7fa 100644 --- a/Framework/CurveFitting/test/DiffSphereTest.h +++ b/Framework/CurveFitting/test/Functions/DiffSphereTest.h @@ -10,17 +10,21 @@ // Include local copy of Valgrind header to avoid creating a dependency #include "valgrind.h" -#include "MantidCurveFitting/DiffSphere.h" -#include "MantidCurveFitting/Gaussian.h" -#include "MantidCurveFitting/Convolution.h" +#include "MantidCurveFitting/Functions/DiffSphere.h" +#include "MantidCurveFitting/Functions/Gaussian.h" +#include "MantidCurveFitting/Functions/Convolution.h" #include "MantidTestHelpers/WorkspaceCreationHelper.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/AlgorithmFactory.h" #include "MantidGeometry/Instrument/ReferenceFrame.h" #include "MantidTestHelpers/ComponentCreationHelper.h" +using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; + class DiffSphereTest : public CxxTest::TestSuite { public: bool skipTests() { @@ -42,7 +46,7 @@ public: "Sigma=0.002);name=ElasticDiffSphere,Q=0.5,Height=47.014,Radius=3.567)"; // Initialize the fit function in the Fit algorithm - Mantid::CurveFitting::Fit fitalg; + Algorithms::Fit fitalg; TS_ASSERT_THROWS_NOTHING(fitalg.initialize()); TS_ASSERT(fitalg.isInitialized()); fitalg.setProperty("Function", funtion_string); @@ -82,8 +86,7 @@ public: Mantid::API::IFunction_sptr fitalg_function = fitalg.getProperty("Function"); auto fitalg_conv = - boost::dynamic_pointer_cast<Mantid::CurveFitting::Convolution>( - fitalg_function); + boost::dynamic_pointer_cast<Convolution>(fitalg_function); Mantid::API::IFunction_sptr fitalg_resolution = fitalg_conv->getFunction(0); TS_ASSERT_DELTA(fitalg_resolution->getParameter("PeakCentre"), 0.0, 0.00001); // allow for a small percent variation @@ -132,16 +135,15 @@ public: // of the 99 coefficients to break down // initialize the elastic part - boost::shared_ptr<Mantid::CurveFitting::ElasticDiffSphere> elastic_part( - new Mantid::CurveFitting::ElasticDiffSphere()); + boost::shared_ptr<ElasticDiffSphere> elastic_part(new ElasticDiffSphere()); elastic_part->setParameter("Height", I); elastic_part->setParameter("Radius", R); elastic_part->setAttributeValue("Q", Q); elastic_part->init(); // initialize the inelastic part - boost::shared_ptr<Mantid::CurveFitting::InelasticDiffSphere> inelastic_part( - new Mantid::CurveFitting::InelasticDiffSphere()); + boost::shared_ptr<InelasticDiffSphere> inelastic_part( + new InelasticDiffSphere()); inelastic_part->setParameter("Intensity", I); inelastic_part->setParameter("Radius", R); inelastic_part->setParameter("Diffusion", D); @@ -185,7 +187,7 @@ public: const double Q(0.5); // Initialize the fit function in the Fit algorithm - Mantid::CurveFitting::Fit fitalg; + Algorithms::Fit fitalg; TS_ASSERT_THROWS_NOTHING(fitalg.initialize()); TS_ASSERT(fitalg.isInitialized()); std::ostringstream funtion_stream; @@ -205,18 +207,15 @@ public: Mantid::API::IFunction_sptr fitalg_function = fitalg.getProperty("Function"); // main function fitalg_function->initialize(); - auto fitalg_conv = - boost::dynamic_pointer_cast<Mantid::CurveFitting::Convolution>( - fitalg_function); // cast to Convolution + auto fitalg_conv = boost::dynamic_pointer_cast<Convolution>( + fitalg_function); // cast to Convolution fitalg_function = fitalg_conv->getFunction(1); // DiffSphere auto fitalg_structure_factor = - boost::dynamic_pointer_cast<Mantid::CurveFitting::DiffSphere>( - fitalg_function); + boost::dynamic_pointer_cast<DiffSphere>(fitalg_function); fitalg_function = fitalg_structure_factor->getFunction(0); auto fitalg_elastic = - boost::dynamic_pointer_cast<Mantid::CurveFitting::ElasticDiffSphere>( - fitalg_function); + boost::dynamic_pointer_cast<ElasticDiffSphere>(fitalg_function); TS_ASSERT_DELTA(fitalg_elastic->getParameter("Height"), I_0, std::numeric_limits<double>::epsilon()); TS_ASSERT_DELTA(fitalg_elastic->getParameter("Radius"), R_0, @@ -229,8 +228,7 @@ public: fitalg_function = fitalg_structure_factor->getFunction(1); auto fitalg_inelastic = - boost::dynamic_pointer_cast<Mantid::CurveFitting::InelasticDiffSphere>( - fitalg_function); + boost::dynamic_pointer_cast<InelasticDiffSphere>(fitalg_function); TS_ASSERT_DELTA(fitalg_inelastic->getParameter("Intensity"), I_0, std::numeric_limits<double>::epsilon()); TS_ASSERT_DELTA(fitalg_inelastic->getParameter("Radius"), R_0, @@ -331,7 +329,7 @@ private: simQ = 0.20092; // Initialize the fit function in the Fit algorithm - Mantid::CurveFitting::Fit fitalg; + Algorithms::Fit fitalg; TS_ASSERT_THROWS_NOTHING(fitalg.initialize()); TS_ASSERT(fitalg.isInitialized()); std::ostringstream funtion_stream; @@ -398,8 +396,7 @@ private: Mantid::API::IFunction_sptr fitalg_function = fitalg.getProperty("Function"); auto fitalg_conv = - boost::dynamic_pointer_cast<Mantid::CurveFitting::Convolution>( - fitalg_function); + boost::dynamic_pointer_cast<Convolution>(fitalg_function); Mantid::API::IFunction_sptr fitalg_resolution = fitalg_conv->getFunction(0); TS_ASSERT_DELTA(fitalg_resolution->getParameter("PeakCentre"), S, @@ -457,7 +454,7 @@ private: // create a data workspace using a Fit algorithm Mantid::DataObjects::Workspace2D_sptr - generateWorkspaceFromFitAlgorithm(Mantid::CurveFitting::Fit &fitalg) { + generateWorkspaceFromFitAlgorithm(Algorithms::Fit &fitalg) { using namespace Mantid::Kernel; using namespace Mantid::Geometry; diff --git a/Framework/CurveFitting/test/DynamicKuboToyabeTest.h b/Framework/CurveFitting/test/Functions/DynamicKuboToyabeTest.h similarity index 95% rename from Framework/CurveFitting/test/DynamicKuboToyabeTest.h rename to Framework/CurveFitting/test/Functions/DynamicKuboToyabeTest.h index cb987b5fc70802662484bb4c949f927c2b696a77..dd533ab427dc806cd9709c3986360e37ded82496 100644 --- a/Framework/CurveFitting/test/DynamicKuboToyabeTest.h +++ b/Framework/CurveFitting/test/Functions/DynamicKuboToyabeTest.h @@ -3,14 +3,15 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/DynamicKuboToyabe.h" -#include "MantidCurveFitting/StaticKuboToyabe.h" +#include "MantidCurveFitting/Functions/DynamicKuboToyabe.h" +#include "MantidCurveFitting/Functions/StaticKuboToyabe.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; class DynamicKuboToyabeTest : public CxxTest::TestSuite { public: diff --git a/Framework/CurveFitting/test/EndErfcTest.h b/Framework/CurveFitting/test/Functions/EndErfcTest.h similarity index 92% rename from Framework/CurveFitting/test/EndErfcTest.h rename to Framework/CurveFitting/test/Functions/EndErfcTest.h index 8e2ba2f3485752e855f833486be3d5dc079979b5..dc03dd49687bc3504fa6fede22461e39bd487145 100644 --- a/Framework/CurveFitting/test/EndErfcTest.h +++ b/Framework/CurveFitting/test/Functions/EndErfcTest.h @@ -3,11 +3,8 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/EndErfc.h" -#include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/LinearBackground.h" -#include "MantidCurveFitting/BoundaryConstraint.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/EndErfc.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" #include "MantidDataObjects/Workspace2D.h" @@ -16,6 +13,8 @@ using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::Algorithms; using namespace Mantid::DataObjects; class EndErfcTest : public CxxTest::TestSuite { @@ -41,7 +40,7 @@ public: } void testAgainstMockData() { - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); diff --git a/Framework/CurveFitting/test/ExpDecayMuonTest.h b/Framework/CurveFitting/test/Functions/ExpDecayMuonTest.h similarity index 89% rename from Framework/CurveFitting/test/ExpDecayMuonTest.h rename to Framework/CurveFitting/test/Functions/ExpDecayMuonTest.h index bf17e5d9a7728820700c5cccac72a17cf1b66225..02a079776da1b8fc1632ca1ddc4e09cd632bcaff 100644 --- a/Framework/CurveFitting/test/ExpDecayMuonTest.h +++ b/Framework/CurveFitting/test/Functions/ExpDecayMuonTest.h @@ -3,11 +3,11 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/ExpDecayMuon.h" +#include "MantidCurveFitting/Functions/ExpDecayMuon.h" #include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/LinearBackground.h" -#include "MantidCurveFitting/BoundaryConstraint.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/LinearBackground.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" #include "MantidDataObjects/Workspace2D.h" @@ -16,6 +16,8 @@ using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::DataObjects; class ExpDecayMuonTest : public CxxTest::TestSuite { @@ -48,7 +50,7 @@ public: } void testAgainstMockData() { - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); diff --git a/Framework/CurveFitting/test/ExpDecayOscTest.h b/Framework/CurveFitting/test/Functions/ExpDecayOscTest.h similarity index 90% rename from Framework/CurveFitting/test/ExpDecayOscTest.h rename to Framework/CurveFitting/test/Functions/ExpDecayOscTest.h index 865c28d2c1c9811aae3c25d04b01e35ed13e8975..9c91b5e7dccd6734f9deb754062e9da48fcc81a9 100644 --- a/Framework/CurveFitting/test/ExpDecayOscTest.h +++ b/Framework/CurveFitting/test/Functions/ExpDecayOscTest.h @@ -4,9 +4,9 @@ #include <cxxtest/TestSuite.h> #include <cmath> -#include "MantidCurveFitting/ExpDecayOsc.h" -#include "MantidCurveFitting/Fit.h" -#include "MantidCurveFitting/BoundaryConstraint.h" +#include "MantidCurveFitting/Functions/ExpDecayOsc.h" +#include "MantidCurveFitting/Algorithms/Fit.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" #include "MantidDataObjects/Workspace2D.h" @@ -14,6 +14,9 @@ using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::Constraints; using namespace Mantid::DataObjects; class ExpDecayOscTest : public CxxTest::TestSuite { @@ -48,7 +51,7 @@ public: } void testAgainstMockData() { - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); diff --git a/Framework/CurveFitting/test/ExpDecayTest.h b/Framework/CurveFitting/test/Functions/ExpDecayTest.h similarity index 90% rename from Framework/CurveFitting/test/ExpDecayTest.h rename to Framework/CurveFitting/test/Functions/ExpDecayTest.h index fbfa2c5a556b69117e0bf3163c16e4b3285a5738..149edd05e1a5ba33f31244e8764be4b53a4c5692 100644 --- a/Framework/CurveFitting/test/ExpDecayTest.h +++ b/Framework/CurveFitting/test/Functions/ExpDecayTest.h @@ -3,11 +3,11 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/ExpDecay.h" +#include "MantidCurveFitting/Functions/ExpDecay.h" #include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/LinearBackground.h" -#include "MantidCurveFitting/BoundaryConstraint.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/LinearBackground.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" @@ -19,6 +19,8 @@ using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::DataObjects; class ExpDecayTest : public CxxTest::TestSuite { @@ -51,7 +53,7 @@ public: } void testAgainstMockData() { - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); diff --git a/Framework/CurveFitting/test/FlatBackgroundTest.h b/Framework/CurveFitting/test/Functions/FlatBackgroundTest.h similarity index 92% rename from Framework/CurveFitting/test/FlatBackgroundTest.h rename to Framework/CurveFitting/test/Functions/FlatBackgroundTest.h index bc0dd6bbe920f081dfd366d54a2a61c04448c220..821dfed7a8478416ac589cca32e44d24e2e87dba 100644 --- a/Framework/CurveFitting/test/FlatBackgroundTest.h +++ b/Framework/CurveFitting/test/Functions/FlatBackgroundTest.h @@ -5,10 +5,11 @@ #include "MantidKernel/Timer.h" #include "MantidKernel/System.h" -#include "MantidCurveFitting/FlatBackground.h" +#include "MantidCurveFitting/Functions/FlatBackground.h" using namespace Mantid; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; class FlatBackgroundTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/FullprofPolynomialTest.h b/Framework/CurveFitting/test/Functions/FullprofPolynomialTest.h similarity index 92% rename from Framework/CurveFitting/test/FullprofPolynomialTest.h rename to Framework/CurveFitting/test/Functions/FullprofPolynomialTest.h index 2ecf9c6d841e358fb2ebab5aaf284bcc245302e2..42b9226a157d35194382d641ca202f57561deb76 100644 --- a/Framework/CurveFitting/test/FullprofPolynomialTest.h +++ b/Framework/CurveFitting/test/Functions/FullprofPolynomialTest.h @@ -3,17 +3,19 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/FullprofPolynomial.h" +#include "MantidCurveFitting/Functions/FullprofPolynomial.h" #include "MantidAPI/IFunction.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidDataObjects/Workspace2D.h" -using Mantid::CurveFitting::FullprofPolynomial; +using Mantid::CurveFitting::Functions::FullprofPolynomial; using namespace Mantid; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Algorithms; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::DataObjects; using namespace Mantid::Kernel; @@ -87,7 +89,7 @@ public: tofbkgd->setParameter("A3", 0.0); // Set up fit - CurveFitting::Fit fitalg; + CurveFitting::Algorithms::Fit fitalg; TS_ASSERT_THROWS_NOTHING(fitalg.initialize()); TS_ASSERT(fitalg.isInitialized()); diff --git a/Framework/CurveFitting/test/GausDecayTest.h b/Framework/CurveFitting/test/Functions/GausDecayTest.h similarity index 90% rename from Framework/CurveFitting/test/GausDecayTest.h rename to Framework/CurveFitting/test/Functions/GausDecayTest.h index d3a087a5a047ce48be4856fa3eb57ce798df056f..3771d22c694d4c4438d2c3681fb7435e5dc634ac 100644 --- a/Framework/CurveFitting/test/GausDecayTest.h +++ b/Framework/CurveFitting/test/Functions/GausDecayTest.h @@ -3,11 +3,11 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/GausDecay.h" +#include "MantidCurveFitting/Functions/GausDecay.h" #include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/LinearBackground.h" -#include "MantidCurveFitting/BoundaryConstraint.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/LinearBackground.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" @@ -21,6 +21,8 @@ using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::Algorithms; using namespace Mantid::DataObjects; using namespace Mantid::DataHandling; @@ -52,7 +54,7 @@ public: } void testAgainstMockData() { - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); diff --git a/Framework/CurveFitting/test/GausOscTest.h b/Framework/CurveFitting/test/Functions/GausOscTest.h similarity index 91% rename from Framework/CurveFitting/test/GausOscTest.h rename to Framework/CurveFitting/test/Functions/GausOscTest.h index 434cf9ba475c4eb988b4c6239aeedc90c829b9b3..0e31dc9c702bb0f9a5499f3a7ffcceaf22dd8d86 100644 --- a/Framework/CurveFitting/test/GausOscTest.h +++ b/Framework/CurveFitting/test/Functions/GausOscTest.h @@ -4,11 +4,11 @@ #include <cxxtest/TestSuite.h> #include <cmath> -#include "MantidCurveFitting/GausOsc.h" +#include "MantidCurveFitting/Functions/GausOsc.h" #include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/LinearBackground.h" -#include "MantidCurveFitting/BoundaryConstraint.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/LinearBackground.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" @@ -22,6 +22,8 @@ using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::Algorithms; using namespace Mantid::DataObjects; using namespace Mantid::DataHandling; @@ -57,7 +59,7 @@ public: void testAgainstMockData() // Parts of test disabled because it does not give // result like that obtained in mantidplot. { - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); diff --git a/Framework/CurveFitting/test/GaussianComptonProfileTest.h b/Framework/CurveFitting/test/Functions/GaussianComptonProfileTest.h similarity index 94% rename from Framework/CurveFitting/test/GaussianComptonProfileTest.h rename to Framework/CurveFitting/test/Functions/GaussianComptonProfileTest.h index 546dd4a9de2cb7c9d032fbff41062962064a02c6..dfec3f0af151f71660962a523f453ec815eb1a96 100644 --- a/Framework/CurveFitting/test/GaussianComptonProfileTest.h +++ b/Framework/CurveFitting/test/Functions/GaussianComptonProfileTest.h @@ -2,12 +2,13 @@ #define MANTID_CURVEFITTING_GAUSSIANCOMPTONPROFILETEST_H_ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/GaussianComptonProfile.h" +#include "MantidCurveFitting/Functions/GaussianComptonProfile.h" #include "MantidAPI/FunctionDomain1D.h" #include "ComptonProfileTestHelpers.h" -using Mantid::CurveFitting::GaussianComptonProfile; +using Mantid::CurveFitting::Functions::GaussianComptonProfile; +using Mantid::CurveFitting::Functions::ComptonProfile; class GaussianComptonProfileTest : public CxxTest::TestSuite { public: @@ -40,8 +41,7 @@ public: } void test_Function_Has_One_Intensity_Coefficient() { - boost::shared_ptr<Mantid::CurveFitting::ComptonProfile> profile = - createFunction(); + boost::shared_ptr<ComptonProfile> profile = createFunction(); auto intensityIndices = profile->intensityParameterIndices(); TS_ASSERT_EQUALS(1, intensityIndices.size()); diff --git a/Framework/CurveFitting/test/GaussianTest.h b/Framework/CurveFitting/test/Functions/GaussianTest.h similarity index 95% rename from Framework/CurveFitting/test/GaussianTest.h rename to Framework/CurveFitting/test/Functions/GaussianTest.h index 91492c50f5ab2aa2bd0da295408e010fec8d0561..079292914546c5b19922438bcc98aab4ab79b476 100644 --- a/Framework/CurveFitting/test/GaussianTest.h +++ b/Framework/CurveFitting/test/Functions/GaussianTest.h @@ -3,11 +3,10 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/Gaussian.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/Gaussian.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/LinearBackground.h" -#include "MantidCurveFitting/BoundaryConstraint.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/InstrumentDataService.h" @@ -23,14 +22,19 @@ #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" -#include "MantidCurveFitting/LevenbergMarquardtMDMinimizer.h" -#include "MantidCurveFitting/UserFunction.h" -#include "MantidCurveFitting/CostFuncLeastSquares.h" +#include "MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMDMinimizer.h" +#include "MantidCurveFitting/Functions/UserFunction.h" +#include "MantidCurveFitting/Functions/LinearBackground.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" using namespace Mantid; using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::CostFunctions; +using namespace Mantid::CurveFitting::Constraints; +using namespace Mantid::CurveFitting::Algorithms; using namespace Mantid::DataObjects; using namespace Mantid::DataHandling; @@ -201,7 +205,7 @@ public: costFun->setFittingFunction(fnWithBk, domain, values); // TS_ASSERT_EQUALS(costFun->nParams(),3); - LevenbergMarquardtMDMinimizer s; + FuncMinimisers::LevenbergMarquardtMDMinimizer s; s.initialize(costFun); TS_ASSERT(s.minimize()); @@ -236,7 +240,7 @@ public: TS_ASSERT_THROWS_NOTHING(AnalysisDataService::Instance().add(wsName, ws2D)); // Initialise algorithm - Fit alg; + Algorithms::Fit alg; TS_ASSERT_THROWS_NOTHING(alg.initialize()); TS_ASSERT(alg.isInitialized()); @@ -305,7 +309,7 @@ public: Mantid::MantidVec &e = ws2D->dataE(0); // error values of counts getMockData(y, e); - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); @@ -358,7 +362,7 @@ public: // put this workspace in the data service TS_ASSERT_THROWS_NOTHING(AnalysisDataService::Instance().add(wsName, ws2D)); - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); @@ -424,7 +428,7 @@ public: ConfigService::Instance().getString("curvefitting.peakRadius"); ConfigService::Instance().setString("curvefitting.peakRadius", "5"); - Fit alg; + Algorithms::Fit alg; TS_ASSERT_THROWS_NOTHING(alg.initialize()); TS_ASSERT(alg.isInitialized()); diff --git a/Framework/CurveFitting/test/GramCharlierComptonProfileTest.h b/Framework/CurveFitting/test/Functions/GramCharlierComptonProfileTest.h similarity index 94% rename from Framework/CurveFitting/test/GramCharlierComptonProfileTest.h rename to Framework/CurveFitting/test/Functions/GramCharlierComptonProfileTest.h index 8220bfd74ed2e60ec30d4ada2ee6b3282141622a..905278a19172c6d03ee6b237f972058c2da5d16a 100644 --- a/Framework/CurveFitting/test/GramCharlierComptonProfileTest.h +++ b/Framework/CurveFitting/test/Functions/GramCharlierComptonProfileTest.h @@ -2,11 +2,12 @@ #define MANTID_CURVEFITTING_GRAMCHARLIERCOMPTONPROFILETEST_H_ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/GramCharlierComptonProfile.h" +#include "MantidCurveFitting/Functions/GramCharlierComptonProfile.h" #include "ComptonProfileTestHelpers.h" -using Mantid::CurveFitting::GramCharlierComptonProfile; +using Mantid::CurveFitting::Functions::ComptonProfile; +using Mantid::CurveFitting::Functions::GramCharlierComptonProfile; class GramCharlierComptonProfileTest : public CxxTest::TestSuite { public: @@ -58,8 +59,7 @@ public: void test_Function_Returns_Same_Number_Intensity_Coefficents_As_Active_Hermite_Coefficients_If_KFSE_Is_Fixed() { - boost::shared_ptr<Mantid::CurveFitting::ComptonProfile> profile = - createFunction(); + boost::shared_ptr<ComptonProfile> profile = createFunction(); profile->setAttributeValue("HermiteCoeffs", "1 0 1"); // turn on C_0 & C_4 profile->fix(profile->parameterIndex("FSECoeff")); @@ -69,8 +69,7 @@ public: void test_Function_Returns_Same_Number_Intensity_Coefficents_As_Active_Hermite_Coefficients_Plus_One_If_KFSE_Is_Free() { - boost::shared_ptr<Mantid::CurveFitting::ComptonProfile> profile = - createFunction(); + boost::shared_ptr<ComptonProfile> profile = createFunction(); profile->setAttributeValue("HermiteCoeffs", "1 0 1"); // turn on C_0 & C_4 auto intensityIndices = profile->intensityParameterIndices(); diff --git a/Framework/CurveFitting/test/IkedaCarpenterPVTest.h b/Framework/CurveFitting/test/Functions/IkedaCarpenterPVTest.h similarity index 96% rename from Framework/CurveFitting/test/IkedaCarpenterPVTest.h rename to Framework/CurveFitting/test/Functions/IkedaCarpenterPVTest.h index 53cc7b2f7d9a362e1915efffd4cfeb308c8be2b9..df2182987c94074e520b9ee41fedffc68bff08f7 100644 --- a/Framework/CurveFitting/test/IkedaCarpenterPVTest.h +++ b/Framework/CurveFitting/test/Functions/IkedaCarpenterPVTest.h @@ -3,8 +3,8 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/IkedaCarpenterPV.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/IkedaCarpenterPV.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidKernel/ConfigService.h" #include "MantidTestHelpers/WorkspaceCreationHelper.h" @@ -102,6 +102,7 @@ public: void testAgainstMockData() { using namespace Mantid::API; using namespace Mantid::CurveFitting; + using namespace Mantid::CurveFitting::Functions; /** * Changing compiler on OS X has yet again caused this (and only this) test to @@ -172,6 +173,7 @@ public: void test_Against_Data_In_DeltaE() { using namespace Mantid::API; using namespace Mantid::CurveFitting; + using namespace Mantid::CurveFitting::Functions; #if !(defined __APPLE__) @@ -253,6 +255,7 @@ private: Mantid::API::IAlgorithm_sptr runFit(const std::string &wsName) { using namespace Mantid::API; using namespace Mantid::CurveFitting; + using namespace Mantid::CurveFitting::Functions; // set up fitting function and pass to Fit IkedaCarpenterPV icpv; @@ -265,7 +268,7 @@ private: icpv.tie("Kappa", "46.025921"); icpv.setParameter("X0", 45.0); - auto alg = boost::shared_ptr<IAlgorithm>(new Fit); + auto alg = boost::shared_ptr<IAlgorithm>(new Algorithms::Fit); alg->initialize(); alg->setPropertyValue("Function", icpv.asString()); // Set general Fit parameters diff --git a/Framework/CurveFitting/test/LinearBackgroundTest.h b/Framework/CurveFitting/test/Functions/LinearBackgroundTest.h similarity index 92% rename from Framework/CurveFitting/test/LinearBackgroundTest.h rename to Framework/CurveFitting/test/Functions/LinearBackgroundTest.h index f281f018e0533813b77359d129e0e5b63497cba0..03f2d8341c2adbb05608afa567f854141bc8298d 100644 --- a/Framework/CurveFitting/test/LinearBackgroundTest.h +++ b/Framework/CurveFitting/test/Functions/LinearBackgroundTest.h @@ -3,9 +3,9 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/LinearBackground.h" +#include "MantidCurveFitting/Functions/LinearBackground.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" @@ -17,8 +17,8 @@ using namespace Mantid::Kernel; using namespace Mantid::API; -using Mantid::CurveFitting::LinearBackground; -using Mantid::CurveFitting::Fit; +using Mantid::CurveFitting::Functions::LinearBackground; +using Mantid::CurveFitting::Algorithms::Fit; using namespace Mantid::DataObjects; using namespace Mantid::DataHandling; diff --git a/Framework/CurveFitting/test/LogNormalTest.h b/Framework/CurveFitting/test/Functions/LogNormalTest.h similarity index 92% rename from Framework/CurveFitting/test/LogNormalTest.h rename to Framework/CurveFitting/test/Functions/LogNormalTest.h index b6ca2231c59266dcc8b9538d6c5b43c1a7c7ca69..d4391f687f2020a2aab3d304feae0ad7e181ec74 100644 --- a/Framework/CurveFitting/test/LogNormalTest.h +++ b/Framework/CurveFitting/test/Functions/LogNormalTest.h @@ -3,11 +3,11 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/LogNormal.h" +#include "MantidCurveFitting/Functions/LogNormal.h" #include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/LinearBackground.h" -#include "MantidCurveFitting/BoundaryConstraint.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/LinearBackground.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" @@ -19,6 +19,8 @@ using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::Algorithms; using namespace Mantid::DataObjects; class LogNormalTest : public CxxTest::TestSuite { @@ -54,7 +56,7 @@ public: } void testAgainstMockData() { - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); diff --git a/Framework/CurveFitting/test/Lorentzian1DTest.h b/Framework/CurveFitting/test/Functions/Lorentzian1DTest.h similarity index 96% rename from Framework/CurveFitting/test/Lorentzian1DTest.h rename to Framework/CurveFitting/test/Functions/Lorentzian1DTest.h index 10d4d940f1751a5491e9528d421f16d347c75714..d56d87abe45f2cf3e6dd7bb6b2719c5e6b4f8a67 100644 --- a/Framework/CurveFitting/test/Lorentzian1DTest.h +++ b/Framework/CurveFitting/test/Functions/Lorentzian1DTest.h @@ -3,7 +3,7 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/Lorentzian1D.h" +#include "MantidCurveFitting/Functions/Lorentzian1D.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" @@ -12,7 +12,7 @@ using namespace Mantid::Kernel; using namespace Mantid::API; -using Mantid::CurveFitting::Lorentzian1D; +using Mantid::CurveFitting::Functions::Lorentzian1D; using namespace Mantid::DataObjects; class Lorentzian1DTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/LorentzianTest.h b/Framework/CurveFitting/test/Functions/LorentzianTest.h similarity index 87% rename from Framework/CurveFitting/test/LorentzianTest.h rename to Framework/CurveFitting/test/Functions/LorentzianTest.h index f4fa3ef83c727c495bf6ba4650de053a2a6859c3..50f9bc895d555bd215ed6dd191b9d617e2718612 100644 --- a/Framework/CurveFitting/test/LorentzianTest.h +++ b/Framework/CurveFitting/test/Functions/LorentzianTest.h @@ -3,12 +3,13 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/Lorentzian.h" +#include "MantidCurveFitting/Functions/Lorentzian.h" #include "MantidCurveFitting/Jacobian.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" #include <boost/make_shared.hpp> +using Mantid::CurveFitting::Functions::Lorentzian; class LorentzianTest : public CxxTest::TestSuite { public: @@ -41,7 +42,7 @@ public: } void test_categories() { - Mantid::CurveFitting::Lorentzian forCat; + Lorentzian forCat; const std::vector<std::string> categories = forCat.categories(); TS_ASSERT(categories.size() == 1); TS_ASSERT(categories[0] == "Peak"); @@ -49,7 +50,7 @@ public: void test_FWHM() { double hwhm = 0.5; - Mantid::CurveFitting::Lorentzian lor; + Lorentzian lor; lor.initialize(); lor.setParameter("Amplitude", 1.0); lor.setParameter("PeakCentre", 0.0); @@ -63,7 +64,7 @@ public: } void test_height() { - Mantid::CurveFitting::Lorentzian lor; + Lorentzian lor; lor.initialize(); lor.setHeight(2.0); lor.setCentre(3.0); @@ -78,7 +79,7 @@ public: } void test_height_zero_width() { - Mantid::CurveFitting::Lorentzian lor; + Lorentzian lor; lor.initialize(); lor.setHeight(2.0); lor.setCentre(3.0); @@ -96,7 +97,7 @@ public: } void testIntensity() { - Mantid::CurveFitting::Lorentzian lor; + Lorentzian lor; lor.initialize(); lor.setHeight(2.0); lor.setCentre(3.0); @@ -110,15 +111,15 @@ public: } private: - class TestableLorentzian : public Mantid::CurveFitting::Lorentzian { + class TestableLorentzian : public Lorentzian { public: void functionLocal(double *out, const double *xValues, const size_t nData) const { - Mantid::CurveFitting::Lorentzian::functionLocal(out, xValues, nData); + Lorentzian::functionLocal(out, xValues, nData); } void functionDerivLocal(Mantid::API::Jacobian *out, const double *xValues, const size_t nData) { - Mantid::CurveFitting::Lorentzian::functionDerivLocal(out, xValues, nData); + Lorentzian::functionDerivLocal(out, xValues, nData); } }; diff --git a/Framework/CurveFitting/test/MuonFInteractionTest.h b/Framework/CurveFitting/test/Functions/MuonFInteractionTest.h similarity index 93% rename from Framework/CurveFitting/test/MuonFInteractionTest.h rename to Framework/CurveFitting/test/Functions/MuonFInteractionTest.h index b9b5b3b7d968869e05b05e394344826c27ed76c4..a03d49a13135f5697a6f46e2ca9d2a8a2c067e89 100644 --- a/Framework/CurveFitting/test/MuonFInteractionTest.h +++ b/Framework/CurveFitting/test/Functions/MuonFInteractionTest.h @@ -3,11 +3,8 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/MuonFInteraction.h" -#include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/LinearBackground.h" -#include "MantidCurveFitting/BoundaryConstraint.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/MuonFInteraction.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" @@ -19,6 +16,8 @@ using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::Algorithms; using namespace Mantid::DataObjects; class MuonFInteractionTest : public CxxTest::TestSuite { @@ -54,7 +53,7 @@ public: } void testAgainstMockData() { - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); diff --git a/Framework/CurveFitting/test/NeutronBk2BkExpConvPVoigtTest.h b/Framework/CurveFitting/test/Functions/NeutronBk2BkExpConvPVoigtTest.h similarity index 99% rename from Framework/CurveFitting/test/NeutronBk2BkExpConvPVoigtTest.h rename to Framework/CurveFitting/test/Functions/NeutronBk2BkExpConvPVoigtTest.h index 946ebe697dc0713f9887fa454ad16d3ad3f90294..ad44379ead2f7307b6fff1d56f2bda5df4561ac5 100644 --- a/Framework/CurveFitting/test/NeutronBk2BkExpConvPVoigtTest.h +++ b/Framework/CurveFitting/test/Functions/NeutronBk2BkExpConvPVoigtTest.h @@ -3,10 +3,10 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/NeutronBk2BkExpConvPVoigt.h" +#include "MantidCurveFitting/Functions/NeutronBk2BkExpConvPVoigt.h" using namespace std; -using Mantid::CurveFitting::NeutronBk2BkExpConvPVoigt; +using Mantid::CurveFitting::Functions::NeutronBk2BkExpConvPVoigt; class NeutronBk2BkExpConvPVoigtTest : public CxxTest::TestSuite { public: diff --git a/Framework/CurveFitting/test/PawleyFunctionTest.h b/Framework/CurveFitting/test/Functions/PawleyFunctionTest.h similarity index 99% rename from Framework/CurveFitting/test/PawleyFunctionTest.h rename to Framework/CurveFitting/test/Functions/PawleyFunctionTest.h index 141f4d008e4764a8fdbb892a25f23da0b1f51422..f746d52c86d2c82aa215978eafe8cb2ea0257b04 100644 --- a/Framework/CurveFitting/test/PawleyFunctionTest.h +++ b/Framework/CurveFitting/test/Functions/PawleyFunctionTest.h @@ -3,7 +3,7 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/PawleyFunction.h" +#include "MantidCurveFitting/Functions/PawleyFunction.h" #include "MantidGeometry/Crystal/PointGroup.h" #include "MantidAPI/AlgorithmManager.h" #include "MantidAPI/FunctionFactory.h" @@ -11,6 +11,7 @@ #include "MantidTestHelpers/WorkspaceCreationHelper.h" using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; using namespace Mantid::Geometry; using namespace Mantid::Kernel; diff --git a/Framework/CurveFitting/test/PeakParameterFunctionTest.h b/Framework/CurveFitting/test/Functions/PeakParameterFunctionTest.h similarity index 97% rename from Framework/CurveFitting/test/PeakParameterFunctionTest.h rename to Framework/CurveFitting/test/Functions/PeakParameterFunctionTest.h index 4f5bb3317308e6f871d5c0f994b693b99be1c5d3..80cf00d80492ae098d07649a3cf5b8c882d8aca7 100644 --- a/Framework/CurveFitting/test/PeakParameterFunctionTest.h +++ b/Framework/CurveFitting/test/Functions/PeakParameterFunctionTest.h @@ -3,7 +3,7 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/PeakParameterFunction.h" +#include "MantidCurveFitting/Functions/PeakParameterFunction.h" #include "MantidAPI/FrameworkManager.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionFactory.h" @@ -13,6 +13,7 @@ #include "MantidCurveFitting/Jacobian.h" using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; class PeakParameterFunctionTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/PolynomialTest.h b/Framework/CurveFitting/test/Functions/PolynomialTest.h similarity index 92% rename from Framework/CurveFitting/test/PolynomialTest.h rename to Framework/CurveFitting/test/Functions/PolynomialTest.h index c33a5e183567d675eb3ad72a41be6b0052334813..13d0461f676997d8bc7ccc44f69831644154cb02 100644 --- a/Framework/CurveFitting/test/PolynomialTest.h +++ b/Framework/CurveFitting/test/Functions/PolynomialTest.h @@ -3,15 +3,16 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/Polynomial.h" +#include "MantidCurveFitting/Functions/Polynomial.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Algorithms/Fit.h" -using Mantid::CurveFitting::Polynomial; +using Mantid::CurveFitting::Functions::Polynomial; using namespace Mantid; using namespace API; using namespace Kernel; +using namespace Mantid::CurveFitting::Algorithms; class PolynomialTest : public CxxTest::TestSuite { public: @@ -45,7 +46,7 @@ public: // put this workspace in the data service TS_ASSERT_THROWS_NOTHING(AnalysisDataService::Instance().add(wsName, ws2D)); - CurveFitting::Fit alg2; + CurveFitting::Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); diff --git a/Framework/CurveFitting/test/ProcessBackgroundTest.h b/Framework/CurveFitting/test/Functions/ProcessBackgroundTest.h similarity index 99% rename from Framework/CurveFitting/test/ProcessBackgroundTest.h rename to Framework/CurveFitting/test/Functions/ProcessBackgroundTest.h index 393ef4b2ceb904fc8a169e8317b46abcf277693b..9ad20b34455b34d2f8d1d236501ce8af4c42ae4d 100644 --- a/Framework/CurveFitting/test/ProcessBackgroundTest.h +++ b/Framework/CurveFitting/test/Functions/ProcessBackgroundTest.h @@ -3,7 +3,7 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/ProcessBackground.h" +#include "MantidCurveFitting/Functions/ProcessBackground.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidDataObjects/TableWorkspace.h" #include "MantidAPI/WorkspaceFactory.h" @@ -11,7 +11,7 @@ #include <fstream> -using Mantid::CurveFitting::ProcessBackground; +using Mantid::CurveFitting::Functions::ProcessBackground; using namespace Mantid; using namespace Mantid::API; using namespace Kernel; diff --git a/Framework/CurveFitting/test/ProductFunctionTest.h b/Framework/CurveFitting/test/Functions/ProductFunctionTest.h similarity index 94% rename from Framework/CurveFitting/test/ProductFunctionTest.h rename to Framework/CurveFitting/test/Functions/ProductFunctionTest.h index 48cb11dc1fea7b8bde2140d39d630e177960b956..a34711c1d98af800f1f0c991ade79c0a39b44026 100644 --- a/Framework/CurveFitting/test/ProductFunctionTest.h +++ b/Framework/CurveFitting/test/Functions/ProductFunctionTest.h @@ -3,10 +3,10 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/ProductFunction.h" -#include "MantidCurveFitting/Fit.h" -#include "MantidCurveFitting/Gaussian.h" +#include "MantidCurveFitting/Functions/ProductFunction.h" +#include "MantidCurveFitting/Functions/Gaussian.h" #include "MantidCurveFitting/Jacobian.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidDataObjects/Workspace2D.h" @@ -19,6 +19,9 @@ #include "MantidAPI/FunctionValues.h" typedef Mantid::DataObjects::Workspace2D_sptr WS_type; +using Mantid::CurveFitting::Functions::ProductFunction; +using Mantid::CurveFitting::Functions::Gaussian; +using Mantid::CurveFitting::Algorithms::Fit; class ProductFunctionMWTest_Gauss : public Mantid::API::IPeakFunction { public: @@ -99,7 +102,7 @@ DECLARE_FUNCTION(ProductFunctionMWTest_Linear) class ProductFunctionTest : public CxxTest::TestSuite { public: void testFunction() { - Mantid::CurveFitting::ProductFunction prodF; + ProductFunction prodF; Mantid::API::IFunction_sptr gauss1(new ProductFunctionMWTest_Gauss); gauss1->setParameter(0, 1.1); @@ -154,8 +157,7 @@ public: prodF.asString()); TS_ASSERT(fun); - Mantid::CurveFitting::ProductFunction *prodF1 = - dynamic_cast<Mantid::CurveFitting::ProductFunction *>(fun.get()); + ProductFunction *prodF1 = dynamic_cast<ProductFunction *>(fun.get()); TS_ASSERT(prodF1); TS_ASSERT_EQUALS(prodF1->nFunctions(), 4); @@ -182,12 +184,12 @@ public: } void testProductFunction() { - Mantid::CurveFitting::ProductFunction prodF; + ProductFunction prodF; double c1 = 1.0; double h1 = 3.0; double s1 = 0.5; - Mantid::API::IFunction_sptr f0(new Mantid::CurveFitting::Gaussian); + Mantid::API::IFunction_sptr f0(new Gaussian); f0->initialize(); f0->setParameter("PeakCentre", c1); f0->setParameter("Height", h1); @@ -208,7 +210,7 @@ public: double c2 = 2; double h2 = 10.0; double s2 = 0.5; - Mantid::API::IFunction_sptr f1(new Mantid::CurveFitting::Gaussian); + Mantid::API::IFunction_sptr f1(new Gaussian); f1->initialize(); f1->setParameter("PeakCentre", c2); f1->setParameter("Height", h2); @@ -249,7 +251,7 @@ public: Mantid::API::AnalysisDataService::Instance().add(wsName, ws); - Mantid::CurveFitting::Fit fit; + Mantid::CurveFitting::Algorithms::Fit fit; fit.initialize(); f0->tie("PeakCentre", "1.0"); @@ -284,14 +286,14 @@ public: } void testForCategories() { - Mantid::CurveFitting::ProductFunction forCat; + ProductFunction forCat; const std::vector<std::string> categories = forCat.categories(); TS_ASSERT(categories.size() == 1); TS_ASSERT(categories[0] == "General"); } void testDerivatives() { - Mantid::CurveFitting::ProductFunction prodF; + ProductFunction prodF; Mantid::API::IFunction_sptr linear1(new ProductFunctionMWTest_Linear); linear1->setParameter(0, 1.0); diff --git a/Framework/CurveFitting/test/ProductLinearExpTest.h b/Framework/CurveFitting/test/Functions/ProductLinearExpTest.h similarity index 96% rename from Framework/CurveFitting/test/ProductLinearExpTest.h rename to Framework/CurveFitting/test/Functions/ProductLinearExpTest.h index 99cb313f5f6ebbfd17f9a148b1d9250e945652fc..a198b826c7ae86af588c6f966874bde85024b175 100644 --- a/Framework/CurveFitting/test/ProductLinearExpTest.h +++ b/Framework/CurveFitting/test/Functions/ProductLinearExpTest.h @@ -3,10 +3,10 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/ProductLinearExp.h" -#include "MantidCurveFitting/ExpDecay.h" -#include "MantidCurveFitting/LinearBackground.h" -#include "MantidCurveFitting/ProductFunction.h" +#include "MantidCurveFitting/Functions/ProductLinearExp.h" +#include "MantidCurveFitting/Functions/ExpDecay.h" +#include "MantidCurveFitting/Functions/LinearBackground.h" +#include "MantidCurveFitting/Functions/ProductFunction.h" #include "MantidCurveFitting/Jacobian.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" @@ -16,6 +16,7 @@ #include <boost/make_shared.hpp> using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; class ProductLinearExpTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/ProductQuadraticExpTest.h b/Framework/CurveFitting/test/Functions/ProductQuadraticExpTest.h similarity index 96% rename from Framework/CurveFitting/test/ProductQuadraticExpTest.h rename to Framework/CurveFitting/test/Functions/ProductQuadraticExpTest.h index 51604e1a486f1b734ac181257475df8c162fdb91..c6c4385de3e644ddc19eb57c44e70fa1ed07c65a 100644 --- a/Framework/CurveFitting/test/ProductQuadraticExpTest.h +++ b/Framework/CurveFitting/test/Functions/ProductQuadraticExpTest.h @@ -3,10 +3,10 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/ProductQuadraticExp.h" -#include "MantidCurveFitting/ExpDecay.h" -#include "MantidCurveFitting/Quadratic.h" -#include "MantidCurveFitting/ProductFunction.h" +#include "MantidCurveFitting/Functions/ProductQuadraticExp.h" +#include "MantidCurveFitting/Functions/ExpDecay.h" +#include "MantidCurveFitting/Functions/Quadratic.h" +#include "MantidCurveFitting/Functions/ProductFunction.h" #include "MantidCurveFitting/Jacobian.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" @@ -16,6 +16,7 @@ #include <boost/make_shared.hpp> using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; class ProductQuadraticExpTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/PseudoVoigtTest.h b/Framework/CurveFitting/test/Functions/PseudoVoigtTest.h similarity index 98% rename from Framework/CurveFitting/test/PseudoVoigtTest.h rename to Framework/CurveFitting/test/Functions/PseudoVoigtTest.h index 53a4d256f16cf76d0714a5b84ee8f5d9f0c548ef..fd94bc3955f8d97674c3d4a57dc417ba80c34dab 100644 --- a/Framework/CurveFitting/test/PseudoVoigtTest.h +++ b/Framework/CurveFitting/test/Functions/PseudoVoigtTest.h @@ -3,13 +3,13 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/PseudoVoigt.h" +#include "MantidCurveFitting/Functions/PseudoVoigt.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidCurveFitting/Jacobian.h" #include <boost/make_shared.hpp> -#include "MantidCurveFitting/Gaussian.h" -#include "MantidCurveFitting/Lorentzian.h" +#include "MantidCurveFitting/Functions/Gaussian.h" +#include "MantidCurveFitting/Functions/Lorentzian.h" #include "MantidAPI/AlgorithmManager.h" #include "MantidTestHelpers/WorkspaceCreationHelper.h" @@ -17,6 +17,7 @@ #include "MantidKernel/MersenneTwister.h" using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; using namespace Mantid::DataObjects; diff --git a/Framework/CurveFitting/test/QuadraticTest.h b/Framework/CurveFitting/test/Functions/QuadraticTest.h similarity index 92% rename from Framework/CurveFitting/test/QuadraticTest.h rename to Framework/CurveFitting/test/Functions/QuadraticTest.h index 110a2f079bbd45b51546c5fddc2e384197dc4ce8..293b34a479a774bb824a08c6e21c509b25d17a39 100644 --- a/Framework/CurveFitting/test/QuadraticTest.h +++ b/Framework/CurveFitting/test/Functions/QuadraticTest.h @@ -3,9 +3,9 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/Quadratic.h" +#include "MantidCurveFitting/Functions/Quadratic.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" @@ -17,8 +17,8 @@ using namespace Mantid::Kernel; using namespace Mantid::API; -using Mantid::CurveFitting::Quadratic; -using Mantid::CurveFitting::Fit; +using Mantid::CurveFitting::Functions::Quadratic; +using Mantid::CurveFitting::Algorithms::Fit; using namespace Mantid::DataObjects; using namespace Mantid::DataHandling; diff --git a/Framework/CurveFitting/test/ReflectivityMulfTest.h b/Framework/CurveFitting/test/Functions/ReflectivityMulfTest.h similarity index 96% rename from Framework/CurveFitting/test/ReflectivityMulfTest.h rename to Framework/CurveFitting/test/Functions/ReflectivityMulfTest.h index 7c045ddccc3a764e0a3126bfa990e485fb6cee90..b32cfb9c05f1a3aa4c7e65b45a632af23e3b5853 100644 --- a/Framework/CurveFitting/test/ReflectivityMulfTest.h +++ b/Framework/CurveFitting/test/Functions/ReflectivityMulfTest.h @@ -3,13 +3,14 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/ReflectivityMulf.h" +#include "MantidCurveFitting/Functions/ReflectivityMulf.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" using namespace Mantid; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; class ReflectivityMulfTest : public CxxTest::TestSuite { public: diff --git a/Framework/CurveFitting/test/ResolutionTest.h b/Framework/CurveFitting/test/Functions/ResolutionTest.h similarity index 96% rename from Framework/CurveFitting/test/ResolutionTest.h rename to Framework/CurveFitting/test/Functions/ResolutionTest.h index 5dfdd646bdea04ae81665ad2bee4fabb533325a4..7ac7e7a642c912f6a0cd301f390f0908b776dedb 100644 --- a/Framework/CurveFitting/test/ResolutionTest.h +++ b/Framework/CurveFitting/test/Functions/ResolutionTest.h @@ -3,9 +3,9 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/Resolution.h" -#include "MantidCurveFitting/Fit.h" -#include "MantidCurveFitting/Convolution.h" +#include "MantidCurveFitting/Functions/Resolution.h" +#include "MantidCurveFitting/Algorithms/Fit.h" +#include "MantidCurveFitting/Functions/Convolution.h" #include "MantidAPI/IPeakFunction.h" #include "MantidAPI/FunctionFactory.h" #include <Poco/File.h> @@ -13,6 +13,7 @@ #include <fstream> using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; class ResolutionTest_Gauss : public IPeakFunction { @@ -169,7 +170,7 @@ public: conv.addFunction(res); conv.addFunction(gauss); - Fit fit; + Algorithms::Fit fit; fit.initialize(); fit.setPropertyValue("Function", conv.asString()); fit.setPropertyValue("InputWorkspace", "ResolutionTest_WS"); diff --git a/Framework/CurveFitting/test/SimpleChebfunTest.h b/Framework/CurveFitting/test/Functions/SimpleChebfunTest.h similarity index 98% rename from Framework/CurveFitting/test/SimpleChebfunTest.h rename to Framework/CurveFitting/test/Functions/SimpleChebfunTest.h index 7d13981bb5581d93df5691dcdcf992a64f561550..c512c001280461964ebd0b5a38694aae74a7d6e9 100644 --- a/Framework/CurveFitting/test/SimpleChebfunTest.h +++ b/Framework/CurveFitting/test/Functions/SimpleChebfunTest.h @@ -3,12 +3,13 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/SimpleChebfun.h" +#include "MantidCurveFitting/Functions/SimpleChebfun.h" #include <cmath> using namespace Mantid; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; namespace { double Sin(double x) { return sin(x); } diff --git a/Framework/CurveFitting/test/StaticKuboToyabeTest.h b/Framework/CurveFitting/test/Functions/StaticKuboToyabeTest.h similarity index 91% rename from Framework/CurveFitting/test/StaticKuboToyabeTest.h rename to Framework/CurveFitting/test/Functions/StaticKuboToyabeTest.h index 6d188da076a69e7035b6f2e9c8dd7ad74e085c03..75aabd12039f6c9253ca7a6683e7352c39939be0 100644 --- a/Framework/CurveFitting/test/StaticKuboToyabeTest.h +++ b/Framework/CurveFitting/test/Functions/StaticKuboToyabeTest.h @@ -3,11 +3,11 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/StaticKuboToyabe.h" +#include "MantidCurveFitting/Functions/StaticKuboToyabe.h" #include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/LinearBackground.h" -#include "MantidCurveFitting/BoundaryConstraint.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/LinearBackground.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" @@ -19,6 +19,7 @@ using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::DataObjects; class StaticKuboToyabeTest : public CxxTest::TestSuite { @@ -50,7 +51,7 @@ public: } void testAgainstMockData() { - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); diff --git a/Framework/CurveFitting/test/StaticKuboToyabeTimesExpDecayTest.h b/Framework/CurveFitting/test/Functions/StaticKuboToyabeTimesExpDecayTest.h similarity index 91% rename from Framework/CurveFitting/test/StaticKuboToyabeTimesExpDecayTest.h rename to Framework/CurveFitting/test/Functions/StaticKuboToyabeTimesExpDecayTest.h index 1546f743eefec9d8b70eae292361d17d15c34f32..41872069e5d1ce649428af575ca217ba8050f801 100644 --- a/Framework/CurveFitting/test/StaticKuboToyabeTimesExpDecayTest.h +++ b/Framework/CurveFitting/test/Functions/StaticKuboToyabeTimesExpDecayTest.h @@ -3,16 +3,18 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/StaticKuboToyabeTimesExpDecay.h" +#include "MantidCurveFitting/Functions/StaticKuboToyabeTimesExpDecay.h" #include "MantidAPI/FunctionFactory.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidDataObjects/Workspace2D.h" -using Mantid::CurveFitting::StaticKuboToyabeTimesExpDecay; +using Mantid::CurveFitting::Functions::StaticKuboToyabeTimesExpDecay; using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::Algorithms; using namespace Mantid::DataObjects; class StaticKuboToyabeTimesExpDecayTest : public CxxTest::TestSuite { @@ -69,7 +71,7 @@ public: } void test_AgainstMockData() { - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); diff --git a/Framework/CurveFitting/test/StaticKuboToyabeTimesGausDecayTest.h b/Framework/CurveFitting/test/Functions/StaticKuboToyabeTimesGausDecayTest.h similarity index 91% rename from Framework/CurveFitting/test/StaticKuboToyabeTimesGausDecayTest.h rename to Framework/CurveFitting/test/Functions/StaticKuboToyabeTimesGausDecayTest.h index e49a1065582563e8098f0e810c661b1418d0b023..f257182091434c6f21ab1bac0b9c17afa3e90b29 100644 --- a/Framework/CurveFitting/test/StaticKuboToyabeTimesGausDecayTest.h +++ b/Framework/CurveFitting/test/Functions/StaticKuboToyabeTimesGausDecayTest.h @@ -3,15 +3,17 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/StaticKuboToyabeTimesGausDecay.h" +#include "MantidCurveFitting/Functions/StaticKuboToyabeTimesGausDecay.h" #include "MantidAPI/FunctionFactory.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidDataObjects/Workspace2D.h" -using Mantid::CurveFitting::StaticKuboToyabeTimesGausDecay; +using Mantid::CurveFitting::Functions::StaticKuboToyabeTimesGausDecay; using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::Algorithms; using namespace Mantid::DataObjects; class StaticKuboToyabeTimesGausDecayTest : public CxxTest::TestSuite { @@ -68,7 +70,7 @@ public: } void test_AgainstMockData() { - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); diff --git a/Framework/CurveFitting/test/StretchExpMuonTest.h b/Framework/CurveFitting/test/Functions/StretchExpMuonTest.h similarity index 91% rename from Framework/CurveFitting/test/StretchExpMuonTest.h rename to Framework/CurveFitting/test/Functions/StretchExpMuonTest.h index dcf022beceeabfaa68bd7539a38575e69929b90b..8bbbfb9041cd005233bdd865d79009bcdcb0f444 100644 --- a/Framework/CurveFitting/test/StretchExpMuonTest.h +++ b/Framework/CurveFitting/test/Functions/StretchExpMuonTest.h @@ -3,11 +3,11 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/StretchExpMuon.h" +#include "MantidCurveFitting/Functions/StretchExpMuon.h" #include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/LinearBackground.h" -#include "MantidCurveFitting/BoundaryConstraint.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/LinearBackground.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" @@ -19,6 +19,8 @@ using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::Algorithms; using namespace Mantid::DataObjects; class StretchExpMuonTest : public CxxTest::TestSuite { @@ -54,7 +56,7 @@ public: } void testAgainstMockData() { - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); diff --git a/Framework/CurveFitting/test/StretchExpTest.h b/Framework/CurveFitting/test/Functions/StretchExpTest.h similarity index 93% rename from Framework/CurveFitting/test/StretchExpTest.h rename to Framework/CurveFitting/test/Functions/StretchExpTest.h index 8ad7fbd15465389bc445b84126dcbe845ee15314..a17208356f7b9261d4ab4551706426a3fe683297 100644 --- a/Framework/CurveFitting/test/StretchExpTest.h +++ b/Framework/CurveFitting/test/Functions/StretchExpTest.h @@ -3,11 +3,11 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/StretchExp.h" +#include "MantidCurveFitting/Functions/StretchExp.h" #include "MantidAPI/CompositeFunction.h" -#include "MantidCurveFitting/LinearBackground.h" -#include "MantidCurveFitting/BoundaryConstraint.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/Functions/LinearBackground.h" +#include "MantidCurveFitting/Constraints/BoundaryConstraint.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" @@ -21,6 +21,8 @@ using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; +using namespace Mantid::CurveFitting::Algorithms; using namespace Mantid::DataObjects; class StretchExpTest_Jacobian : public Mantid::API::Jacobian { @@ -65,7 +67,7 @@ public: } void testAgainstMockData() { - Fit alg2; + Algorithms::Fit alg2; TS_ASSERT_THROWS_NOTHING(alg2.initialize()); TS_ASSERT(alg2.isInitialized()); diff --git a/Framework/CurveFitting/test/TabulatedFunctionTest.h b/Framework/CurveFitting/test/Functions/TabulatedFunctionTest.h similarity index 98% rename from Framework/CurveFitting/test/TabulatedFunctionTest.h rename to Framework/CurveFitting/test/Functions/TabulatedFunctionTest.h index f243adc77658f580826be8c15e34342bf1fbb2ad..1937f365c1cab0b8a9f5d3f4a557868d3c3ed357 100644 --- a/Framework/CurveFitting/test/TabulatedFunctionTest.h +++ b/Framework/CurveFitting/test/Functions/TabulatedFunctionTest.h @@ -3,8 +3,8 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/TabulatedFunction.h" -#include "MantidCurveFitting/UserFunction.h" +#include "MantidCurveFitting/Functions/TabulatedFunction.h" +#include "MantidCurveFitting/Functions/UserFunction.h" #include "MantidCurveFitting/Jacobian.h" #include "MantidAPI/FunctionDomain.h" #include "MantidAPI/AlgorithmFactory.h" @@ -19,6 +19,7 @@ #include <fstream> using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; namespace { diff --git a/Framework/CurveFitting/test/ThermalNeutronBk2BkExpAlphaTest.h b/Framework/CurveFitting/test/Functions/ThermalNeutronBk2BkExpAlphaTest.h similarity index 90% rename from Framework/CurveFitting/test/ThermalNeutronBk2BkExpAlphaTest.h rename to Framework/CurveFitting/test/Functions/ThermalNeutronBk2BkExpAlphaTest.h index 93179e749256588a67025dc326afb4959f9e1955..5a61091389e989eee6469986bb54e6cccf5bc672 100644 --- a/Framework/CurveFitting/test/ThermalNeutronBk2BkExpAlphaTest.h +++ b/Framework/CurveFitting/test/Functions/ThermalNeutronBk2BkExpAlphaTest.h @@ -3,10 +3,10 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/ThermalNeutronBk2BkExpAlpha.h" +#include "MantidCurveFitting/Functions/ThermalNeutronBk2BkExpAlpha.h" using namespace Mantid; -using Mantid::CurveFitting::ThermalNeutronBk2BkExpAlpha; +using Mantid::CurveFitting::Functions::ThermalNeutronBk2BkExpAlpha; class ThermalNeutronBk2BkExpAlphaTest : public CxxTest::TestSuite { public: @@ -36,7 +36,7 @@ public: vec_tof.push_back(124187); // 2. Initialize the method - Mantid::CurveFitting::ThermalNeutronBk2BkExpAlpha function; + ThermalNeutronBk2BkExpAlpha function; function.initialize(); function.setParameter("Alph0", 4.026); diff --git a/Framework/CurveFitting/test/ThermalNeutronBk2BkExpBetaTest.h b/Framework/CurveFitting/test/Functions/ThermalNeutronBk2BkExpBetaTest.h similarity index 90% rename from Framework/CurveFitting/test/ThermalNeutronBk2BkExpBetaTest.h rename to Framework/CurveFitting/test/Functions/ThermalNeutronBk2BkExpBetaTest.h index 226e9229d10ac60170f0eb72ae3c26767133d927..978370be21897feafe65708f61d40d7e7a0b7a24 100644 --- a/Framework/CurveFitting/test/ThermalNeutronBk2BkExpBetaTest.h +++ b/Framework/CurveFitting/test/Functions/ThermalNeutronBk2BkExpBetaTest.h @@ -3,10 +3,10 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/ThermalNeutronBk2BkExpBeta.h" +#include "MantidCurveFitting/Functions/ThermalNeutronBk2BkExpBeta.h" using namespace Mantid; -using Mantid::CurveFitting::ThermalNeutronBk2BkExpBeta; +using Mantid::CurveFitting::Functions::ThermalNeutronBk2BkExpBeta; class ThermalNeutronBk2BkExpBetaTest : public CxxTest::TestSuite { public: @@ -36,7 +36,7 @@ public: vec_tof.push_back(124187); // 2. Initialize the method - Mantid::CurveFitting::ThermalNeutronBk2BkExpBeta function; + ThermalNeutronBk2BkExpBeta function; function.initialize(); function.setParameter("Beta0", 3.489); diff --git a/Framework/CurveFitting/test/ThermalNeutronBk2BkExpConvPVoigtTest.h b/Framework/CurveFitting/test/Functions/ThermalNeutronBk2BkExpConvPVoigtTest.h similarity index 99% rename from Framework/CurveFitting/test/ThermalNeutronBk2BkExpConvPVoigtTest.h rename to Framework/CurveFitting/test/Functions/ThermalNeutronBk2BkExpConvPVoigtTest.h index 0be6d35d56e5ee0d15c12d432c080c335aaf0964..ee593a2d2fbb7f09ae2663dc081eba4d765c95b4 100644 --- a/Framework/CurveFitting/test/ThermalNeutronBk2BkExpConvPVoigtTest.h +++ b/Framework/CurveFitting/test/Functions/ThermalNeutronBk2BkExpConvPVoigtTest.h @@ -5,12 +5,12 @@ #include <fstream> #include <cmath> -#include "MantidCurveFitting/ThermalNeutronBk2BkExpConvPVoigt.h" +#include "MantidCurveFitting/Functions/ThermalNeutronBk2BkExpConvPVoigt.h" using namespace Mantid; using namespace Kernel; using namespace std; -using Mantid::CurveFitting::ThermalNeutronBk2BkExpConvPVoigt; +using Mantid::CurveFitting::Functions::ThermalNeutronBk2BkExpConvPVoigt; class ThermalNeutronBk2BkExpConvPVoigtTest : public CxxTest::TestSuite { public: @@ -137,7 +137,7 @@ public: generateData(vecX, vecY, vecE); // 1. Create peak - CurveFitting::ThermalNeutronBk2BkExpConvPVoigt peak; + ThermalNeutronBk2BkExpConvPVoigt peak; peak.initialize(); peak.setMillerIndex(1, 1, 1); diff --git a/Framework/CurveFitting/test/ThermalNeutronBk2BkExpSigmaTest.h b/Framework/CurveFitting/test/Functions/ThermalNeutronBk2BkExpSigmaTest.h similarity index 89% rename from Framework/CurveFitting/test/ThermalNeutronBk2BkExpSigmaTest.h rename to Framework/CurveFitting/test/Functions/ThermalNeutronBk2BkExpSigmaTest.h index 3e861dafcbdd461b342e18e1a692e2c113528995..cdc782f28503b2189db8142fda18c6ed8420b43e 100644 --- a/Framework/CurveFitting/test/ThermalNeutronBk2BkExpSigmaTest.h +++ b/Framework/CurveFitting/test/Functions/ThermalNeutronBk2BkExpSigmaTest.h @@ -3,9 +3,9 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/ThermalNeutronBk2BkExpSigma.h" +#include "MantidCurveFitting/Functions/ThermalNeutronBk2BkExpSigma.h" -using Mantid::CurveFitting::ThermalNeutronBk2BkExpSigma; +using Mantid::CurveFitting::Functions::ThermalNeutronBk2BkExpSigma; using namespace Mantid; class ThermalNeutronBk2BkExpSigmaTest : public CxxTest::TestSuite { @@ -36,7 +36,7 @@ public: vec_tof.push_back(124187); // 2. Initialize the method - Mantid::CurveFitting::ThermalNeutronBk2BkExpSigma function; + ThermalNeutronBk2BkExpSigma function; function.initialize(); function.setParameter("Sig2", sqrt(11.380)); diff --git a/Framework/CurveFitting/test/ThermalNeutronDtoTOFFunctionTest.h b/Framework/CurveFitting/test/Functions/ThermalNeutronDtoTOFFunctionTest.h similarity index 95% rename from Framework/CurveFitting/test/ThermalNeutronDtoTOFFunctionTest.h rename to Framework/CurveFitting/test/Functions/ThermalNeutronDtoTOFFunctionTest.h index e24ea0b0262732010a508f4e85abeb1dacfa30d8..ef8adbfa43e6989e178c00b1fc2908887de122dc 100644 --- a/Framework/CurveFitting/test/ThermalNeutronDtoTOFFunctionTest.h +++ b/Framework/CurveFitting/test/Functions/ThermalNeutronDtoTOFFunctionTest.h @@ -6,11 +6,11 @@ #include <math.h> #include <fstream> -#include "MantidCurveFitting/ThermalNeutronDtoTOFFunction.h" +#include "MantidCurveFitting/Functions/ThermalNeutronDtoTOFFunction.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" -using Mantid::CurveFitting::ThermalNeutronDtoTOFFunction; +using Mantid::CurveFitting::Functions::ThermalNeutronDtoTOFFunction; using namespace Mantid; using namespace Mantid::API; @@ -44,7 +44,7 @@ public: vec_tof.push_back(124187); // 2. Initialize the method - Mantid::CurveFitting::ThermalNeutronDtoTOFFunction function; + ThermalNeutronDtoTOFFunction function; function.initialize(); function.setParameter("Dtt1", 22777.1); diff --git a/Framework/CurveFitting/test/UserFunction1DTest.h b/Framework/CurveFitting/test/Functions/UserFunction1DTest.h similarity index 96% rename from Framework/CurveFitting/test/UserFunction1DTest.h rename to Framework/CurveFitting/test/Functions/UserFunction1DTest.h index 43abd49d3c90739abf922eac37866fa98c5f0ecb..8ea1cd7792cca9458adabe1b2842ce987f6e0ac9 100644 --- a/Framework/CurveFitting/test/UserFunction1DTest.h +++ b/Framework/CurveFitting/test/Functions/UserFunction1DTest.h @@ -3,7 +3,7 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/UserFunction1D.h" +#include "MantidCurveFitting/Functions/UserFunction1D.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/FrameworkManager.h" #include "MantidDataObjects/Workspace2D.h" @@ -11,6 +11,7 @@ #include "MantidAPI/ITableWorkspace.h" using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; class UserFunction1DTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/UserFunctionTest.h b/Framework/CurveFitting/test/Functions/UserFunctionTest.h similarity index 95% rename from Framework/CurveFitting/test/UserFunctionTest.h rename to Framework/CurveFitting/test/Functions/UserFunctionTest.h index 7355f7120938957f2b0057217199df9962db4214..b527257a1754fe4503333ffb399c9b3db34eafe7 100644 --- a/Framework/CurveFitting/test/UserFunctionTest.h +++ b/Framework/CurveFitting/test/Functions/UserFunctionTest.h @@ -3,11 +3,12 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/UserFunction.h" +#include "MantidCurveFitting/Functions/UserFunction.h" #include "MantidAPI/Jacobian.h" #include "MantidAPI/FunctionDomain1D.h" using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::API; class UserFunctionTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/VesuvioResolutionTest.h b/Framework/CurveFitting/test/Functions/VesuvioResolutionTest.h similarity index 96% rename from Framework/CurveFitting/test/VesuvioResolutionTest.h rename to Framework/CurveFitting/test/Functions/VesuvioResolutionTest.h index 2e0fe33a435ea860f9d78d19a367bdbe1ecc6ade..8488b55e50588cf4734bf3b03463c4c3dd374660 100644 --- a/Framework/CurveFitting/test/VesuvioResolutionTest.h +++ b/Framework/CurveFitting/test/Functions/VesuvioResolutionTest.h @@ -2,11 +2,11 @@ #define MANTID_CURVEFITTING_VESUVIORESOLUTIONTEST_H_ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/VesuvioResolution.h" +#include "MantidCurveFitting/Functions/VesuvioResolution.h" #include "ComptonProfileTestHelpers.h" -using Mantid::CurveFitting::VesuvioResolution; +using Mantid::CurveFitting::Functions::VesuvioResolution; class VesuvioResolutionTest : public CxxTest::TestSuite { public: diff --git a/Framework/CurveFitting/test/VoigtTest.h b/Framework/CurveFitting/test/Functions/VoigtTest.h similarity index 98% rename from Framework/CurveFitting/test/VoigtTest.h rename to Framework/CurveFitting/test/Functions/VoigtTest.h index 769a77f2d4b6c5e9f70cb825bbf23d2553d9add5..74c76e0aa518baa8c9d7ed76c45d70b2b04ea523 100644 --- a/Framework/CurveFitting/test/VoigtTest.h +++ b/Framework/CurveFitting/test/Functions/VoigtTest.h @@ -3,7 +3,7 @@ #include <cxxtest/TestSuite.h> -#include "MantidCurveFitting/Voigt.h" +#include "MantidCurveFitting/Functions/Voigt.h" #include "MantidAPI/FunctionDomain1D.h" #include "MantidAPI/FunctionValues.h" @@ -12,7 +12,7 @@ #include <boost/scoped_ptr.hpp> #include <boost/make_shared.hpp> -using Mantid::CurveFitting::Voigt; +using Mantid::CurveFitting::Functions::Voigt; using Mantid::API::IFunction; class VoigtTest : public CxxTest::TestSuite { diff --git a/Framework/CurveFitting/test/valgrind.h b/Framework/CurveFitting/test/Functions/valgrind.h similarity index 100% rename from Framework/CurveFitting/test/valgrind.h rename to Framework/CurveFitting/test/Functions/valgrind.h diff --git a/Framework/CurveFitting/test/MultiDomainCreatorTest.h b/Framework/CurveFitting/test/MultiDomainCreatorTest.h index 96f3dbab2de5fe35887c085723e248f5d63407bd..1694bf0d114b7a05bd639b8defe1c3786fc4461d 100644 --- a/Framework/CurveFitting/test/MultiDomainCreatorTest.h +++ b/Framework/CurveFitting/test/MultiDomainCreatorTest.h @@ -12,7 +12,7 @@ #include "MantidAPI/ParamFunction.h" #include "MantidCurveFitting/MultiDomainCreator.h" #include "MantidCurveFitting/FitMW.h" -#include "MantidCurveFitting/UserFunction.h" +#include "MantidCurveFitting/Functions/UserFunction.h" #include "MantidKernel/PropertyManager.h" #include "MantidTestHelpers/FakeObjects.h" @@ -24,6 +24,7 @@ using namespace Mantid; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; class MultiDomainCreatorTest_Fun : public IFunction1D, public ParamFunction { public: diff --git a/Framework/CurveFitting/test/MultiDomainFunctionTest.h b/Framework/CurveFitting/test/MultiDomainFunctionTest.h index afc12650780ca6f0e630e1e0a5dae6083a6d3a1f..b379b210af6f1737273136468e9e6e052958e2f0 100644 --- a/Framework/CurveFitting/test/MultiDomainFunctionTest.h +++ b/Framework/CurveFitting/test/MultiDomainFunctionTest.h @@ -9,9 +9,9 @@ #include "MantidAPI/ParamFunction.h" #include "MantidAPI/AlgorithmManager.h" #include "MantidAPI/FrameworkManager.h" -#include "MantidCurveFitting/CostFuncLeastSquares.h" -#include "MantidCurveFitting/LevenbergMarquardtMDMinimizer.h" -#include "MantidCurveFitting/Fit.h" +#include "MantidCurveFitting/CostFunctions/CostFuncLeastSquares.h" +#include "MantidCurveFitting/FuncMinimizers/LevenbergMarquardtMDMinimizer.h" +#include "MantidCurveFitting/Algorithms/Fit.h" #include "MantidTestHelpers/FakeObjects.h" @@ -22,6 +22,8 @@ using namespace Mantid; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::CostFunctions; +using namespace Mantid::CurveFitting::Algorithms; class MultiDomainFunctionTest_Function : public virtual IFunction1D, public virtual ParamFunction { @@ -161,7 +163,7 @@ public: costFun->setFittingFunction(multi, domain, values); TS_ASSERT_EQUALS(costFun->nParams(), 6); - LevenbergMarquardtMDMinimizer s; + FuncMinimisers::LevenbergMarquardtMDMinimizer s; s.initialize(costFun); TS_ASSERT(s.minimize()); @@ -185,7 +187,7 @@ public: multi->getFunction(2)->setParameter("A", 0); multi->getFunction(2)->setParameter("B", 0); - Fit fit; + Algorithms::Fit fit; fit.initialize(); fit.setProperty("Function", boost::dynamic_pointer_cast<IFunction>(multi)); fit.setProperty("InputWorkspace", ws1); diff --git a/Framework/CurveFitting/test/SpecialFunctionSupportTest.h b/Framework/CurveFitting/test/SpecialFunctionSupportTest.h index 4117c204942f384dd9403e591a2232cd5aeee87f..60cef0c51dcc6e96a18cd04a3ae6d78e49cb90e0 100644 --- a/Framework/CurveFitting/test/SpecialFunctionSupportTest.h +++ b/Framework/CurveFitting/test/SpecialFunctionSupportTest.h @@ -5,7 +5,7 @@ #include <complex> #include "MantidCurveFitting/SpecialFunctionSupport.h" -#include "MantidCurveFitting/Lorentzian1D.h" +#include "MantidCurveFitting/Functions/Lorentzian1D.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceFactory.h" diff --git a/Framework/MDAlgorithms/src/ConvertToReflectometryQ.cpp b/Framework/MDAlgorithms/src/ConvertToReflectometryQ.cpp index 1431b38ae0e1e338d1d4035d2b67584c9cba4ff4..fe2dfbcc3e23ed987c6f0bb5d042c46f8b37ded7 100644 --- a/Framework/MDAlgorithms/src/ConvertToReflectometryQ.cpp +++ b/Framework/MDAlgorithms/src/ConvertToReflectometryQ.cpp @@ -353,40 +353,54 @@ void ConvertToReflectometryQ::exec() { TableWorkspace_sptr vertexes = boost::make_shared<Mantid::DataObjects::TableWorkspace>(); - + Progress transSelectionProg(this, 0.0, 0.1, 2); if (outputAsMDWorkspace) { + transSelectionProg.report("Choosing Transformation"); if (transMethod == centerTransform()) { auto outputMDWS = transform->executeMD(inputWs, bc); + Progress transPerformProg(this, 0.1, 0.7, 5); + transPerformProg.report("Performed transformation"); // Copy ExperimentInfo (instrument, run, sample) to the output WS ExperimentInfo_sptr ei(inputWs->cloneExperimentInfo()); outputMDWS->addExperimentInfo(ei); outputWS = outputMDWS; } else if (transMethod == normPolyTransform()) { + Progress transPerformProg(this, 0.1, 0.7, 5); const bool dumpVertexes = this->getProperty("DumpVertexes"); auto vertexesTable = vertexes; // perform the normalised polygon transformation + transPerformProg.report("Performing Transformation"); auto normPolyTrans = transform->executeNormPoly( inputWs, vertexesTable, dumpVertexes, outputDimensions); // copy any experiment info from input workspace normPolyTrans->copyExperimentInfoFrom(inputWs.get()); // produce MDHistoWorkspace from normPolyTrans workspace. + Progress outputToMDProg(this, 0.7, 0.75, 10); auto outputMDWS = transform->executeMDNormPoly(normPolyTrans); ExperimentInfo_sptr ei(normPolyTrans->cloneExperimentInfo()); outputMDWS->addExperimentInfo(ei); outputWS = outputMDWS; + outputToMDProg.report("Successfully output to MD"); } else { throw std::runtime_error("Unknown rebinning method: " + transMethod); } } else if (transMethod == normPolyTransform()) { + transSelectionProg.report("Choosing Transformation"); + Progress transPerformProg(this, 0.1, 0.7, 5); const bool dumpVertexes = this->getProperty("DumpVertexes"); auto vertexesTable = vertexes; // perform the normalised polygon transformation + transPerformProg.report("Performing Transformation"); auto output2DWS = transform->executeNormPoly( inputWs, vertexesTable, dumpVertexes, outputDimensions); // copy any experiment info from input workspace output2DWS->copyExperimentInfoFrom(inputWs.get()); outputWS = output2DWS; + transPerformProg.report("Transformation Complete"); } else if (transMethod == centerTransform()) { + transSelectionProg.report("Choosing Transformation"); + Progress transPerformProg(this, 0.1, 0.7, 5); + transPerformProg.report("Performing Transformation"); auto output2DWS = transform->execute(inputWs); output2DWS->copyExperimentInfoFrom(inputWs.get()); outputWS = output2DWS; @@ -397,6 +411,8 @@ void ConvertToReflectometryQ::exec() { // Execute the transform and bind to the output. setProperty("OutputWorkspace", outputWS); setProperty("OutputVertexes", vertexes); + Progress setPropertyProg(this, 0.8, 1.0, 2); + setPropertyProg.report("Success"); } } // namespace Mantid diff --git a/Framework/PythonInterface/plugins/algorithms/TOFTOFMergeRuns.py b/Framework/PythonInterface/plugins/algorithms/TOFTOFMergeRuns.py new file mode 100644 index 0000000000000000000000000000000000000000..443a8249b46b60ca036b0bec1e6482e55d983c88 --- /dev/null +++ b/Framework/PythonInterface/plugins/algorithms/TOFTOFMergeRuns.py @@ -0,0 +1,191 @@ +from mantid.kernel import Direction, StringArrayProperty, StringArrayLengthValidator +from mantid.api import PythonAlgorithm, AlgorithmFactory, WorkspaceProperty, WorkspaceGroup +import mantid.simpleapi as api +import numpy as np +from dateutil.parser import parse +import mlzutils + + +class TOFTOFMergeRuns(PythonAlgorithm): + """ Clean the Sample Logs of workspace after merging for TOFTOF instrument + """ + + mandatory_properties = ['channel_width', 'chopper_ratio', 'chopper_speed', 'Ei', 'wavelength', 'full_channels', 'EPP'] + optional_properties = ['temperature', 'run_title'] + properties_to_merge = ['temperature', 'monitor_counts', 'duration', 'run_number', 'run_start', 'run_end'] + must_have_properties = ['monitor_counts', 'duration', 'run_number', 'run_start', 'run_end'] + + def __init__(self): + """ + Init + """ + PythonAlgorithm.__init__(self) + + def category(self): + """ Return category + """ + return "PythonAlgorithms\\MLZ\\TOFTOF;Utility" + + def name(self): + """ Return summary + """ + return "TOFTOFMergeRuns" + + def summary(self): + return "Merge runs and the sample logs." + + def PyInit(self): + """ Declare properties + """ + validator = StringArrayLengthValidator() + validator.setLengthMin(1) + self.declareProperty(StringArrayProperty(name="InputWorkspaces", direction=Direction.Input, validator=validator), + doc="Comma separated list of workspaces or groups of workspaces.") + self.declareProperty(WorkspaceProperty("OutputWorkspace", "", direction=Direction.Output), + doc="Name of the workspace that will contain the merged workspaces.") + return + + def _validate_input(self): + """ + Checks for the valid input: + all given workspaces and/or groups must exist + gets names of the grouped workspaces + """ + workspaces = self.getProperty("InputWorkspaces").value + mlzutils.ws_exist(workspaces, self.log()) + input_workspaces = [] + if len(workspaces) < 1: + message = "List of workspaces is empty. Nothing to merge." + self.log().error(message) + raise RuntimeError(message) + for wsname in workspaces: + wks = api.AnalysisDataService.retrieve(wsname) + if isinstance(wks, WorkspaceGroup): + input_workspaces.extend(wks.getNames()) + else: + input_workspaces.append(wsname) + return input_workspaces + + def _can_merge(self, wsnames): + """ + Checks whether given workspaces can be merged + """ + # mandatory properties must be identical + mlzutils.compare_mandatory(wsnames, self.mandatory_properties, self.log()) + + # timing (x-axis binning) must match + # is it possible to use WorkspaceHelpers::matchingBins from python? + self.timingsMatch(wsnames) + + # Check sample logs for must have properties + for wsname in wsnames: + wks = api.AnalysisDataService.retrieve(wsname) + run = wks.getRun() + for prop in self.must_have_properties: + if not run.hasProperty(prop): + message = "Error: Workspace " + wsname + " does not have property " + prop +\ + ". Cannot merge." + self.log().error(message) + raise RuntimeError(message) + + # warnig if optional properties are not identical must be given + ws1 = api.AnalysisDataService.retrieve(wsnames[0]) + run1 = ws1.getRun() + for wsname in wsnames[1:]: + wks = api.AnalysisDataService.retrieve(wsname) + run = wks.getRun() + mlzutils.compare_properties(run1, run, self.optional_properties, self.log(), tolerance=0.01) + return True + + def PyExec(self): + """ Main execution body + """ + # get list of input workspaces + input_workspace_list = self._validate_input() + workspaceCount = len(input_workspace_list) + self.log().information("Workspaces to merge " + str(workspaceCount)) + wsOutput = self.getPropertyValue("OutputWorkspace") + + if workspaceCount < 2: + api.CloneWorkspace(InputWorkspace=self.wsNames[0], OutputWorkspace=wsOutput) + self.log().warning("Cannot merge one workspace. Clone is produced.") + return + + # check whether given workspaces can be merged + self._can_merge(input_workspace_list) + + # delete output workspace if it exists + if api.mtd.doesExist(wsOutput): + api.DeleteWorkspace(Workspace=wsOutput) + + # Merge runs + api.MergeRuns(InputWorkspaces=input_workspace_list, OutputWorkspace=wsOutput) + + # Merge logs + # MergeRuns by default copies all logs from the first workspace + pdict = {} + for prop in self.properties_to_merge: + pdict[prop] = [] + + for wsname in input_workspace_list: + wks = api.AnalysisDataService.retrieve(wsname) + run = wks.getRun() + for prop in self.properties_to_merge: + if run.hasProperty(prop): + pdict[prop].append(run.getProperty(prop).value) + + # take average for temperatures + nentries = len(pdict['temperature']) + if nentries > 0: + temps = [float(temp) for temp in pdict['temperature']] + tmean = sum(temps)/nentries + api.AddSampleLog(Workspace=wsOutput, LogName='temperature', LogText=str(tmean), + LogType='Number', LogUnit='K') + # sum monitor counts + mcounts = [int(mco) for mco in pdict['monitor_counts']] + # check for zero monitor counts + zeros = np.where(np.array(mcounts) == 0)[0] + if len(zeros) > 0: + for index in zeros: + self.log().warning("Workspace " + self.wsNames[index] + " has zero monitor counts.") + # create sample log + api.AddSampleLog(Workspace=wsOutput, LogName='monitor_counts', LogText=str(sum(mcounts)), + LogType='Number') + # sum durations + durations = [int(dur) for dur in pdict['duration']] + api.AddSampleLog(Workspace=wsOutput, LogName='duration', LogText=str(sum(durations)), + LogType='Number', LogUnit='s') + # get minimal run_start + fmt = "%Y-%m-%dT%H:%M:%S%z" + run_start = [parse(entry) for entry in pdict['run_start']] + api.AddSampleLog(Workspace=wsOutput, LogName='run_start', + LogText=min(run_start).strftime(fmt), LogType='String') + # get maximal run_end + run_end = [parse(entry) for entry in pdict['run_end']] + api.AddSampleLog(Workspace=wsOutput, LogName='run_end', + LogText=max(run_end).strftime(fmt), LogType='String') + # list of run_numbers + api.AddSampleLog(Workspace=wsOutput, LogName='run_number', + LogText=str(pdict['run_number']), LogType='String') + + self.setProperty("OutputWorkspace", wsOutput) + + def timingsMatch(self, wsNames): + """ + :param wsNames: + :return: + """ + for i in range(len(wsNames)): + leftWorkspace = wsNames[i] + rightWorkspace = wsNames[i+1] + leftXData = api.mtd[leftWorkspace].dataX(0) + rightXData = api.mtd[rightWorkspace].dataX(0) + leftDeltaX = leftXData[0] - leftXData[1] + rightDeltaX = rightXData[0] - rightXData[1] + if abs(leftDeltaX - rightDeltaX) >= 1e-4 or abs(rightXData[0] - leftXData[0]) >= 1e-4: + raise RuntimeError("Timings don't match") + else: + return True + +# Register algorithm with Mantid. +AlgorithmFactory.subscribe(TOFTOFMergeRuns) diff --git a/Framework/PythonInterface/plugins/algorithms/mlzutils.py b/Framework/PythonInterface/plugins/algorithms/mlzutils.py index 11929ab069adf73a25a143413a867ff4127985b6..3b69302522b7ef2cd6d2eba41c946e3e548d5673 100644 --- a/Framework/PythonInterface/plugins/algorithms/mlzutils.py +++ b/Framework/PythonInterface/plugins/algorithms/mlzutils.py @@ -55,7 +55,7 @@ def ws_exist(wslist, logger): return True -def compare_properties(lhs_run, rhs_run, plist, logger): +def compare_properties(lhs_run, rhs_run, plist, logger, tolerance=5e-3): """ checks whether properties match in the given runs, produces warnings @param lhs_run Left-hand-side run @@ -65,11 +65,16 @@ def compare_properties(lhs_run, rhs_run, plist, logger): """ lhs_title = "" rhs_title = "" - if lhs_run.hasProperty('run_title'): + if lhs_run.hasProperty('run_title') and rhs_run.hasProperty('run_title'): lhs_title = lhs_run.getProperty('run_title').value - if rhs_run.hasProperty('run_title'): rhs_title = rhs_run.getProperty('run_title').value + # for TOFTOF run_titles can be identical + if lhs_title == rhs_title: + if lhs_run.hasProperty('run_number') and rhs_run.hasProperty('run_number'): + lhs_title = str(lhs_run.getProperty('run_number').value) + rhs_title = str(rhs_run.getProperty('run_number').value) + for property_name in plist: if lhs_run.hasProperty(property_name) and rhs_run.hasProperty(property_name): lhs_property = lhs_run.getProperty(property_name) @@ -81,8 +86,8 @@ def compare_properties(lhs_run, rhs_run, plist, logger): lhs_title + ": " + lhs_property.value + ", but " + \ rhs_title + ": " + rhs_property.value logger.warning(message) - if lhs_property.type == 'number': - if abs(lhs_property.value - rhs_property.value) > 5e-3: + elif lhs_property.type == 'number': + if abs(lhs_property.value - rhs_property.value) > tolerance: message = "Property " + property_name + " does not match! " + \ lhs_title + ": " + str(lhs_property.value) + ", but " + \ rhs_title + ": " + str(rhs_property.value) @@ -98,3 +103,54 @@ def compare_properties(lhs_run, rhs_run, plist, logger): lhs_title + " or " + rhs_title + " - skipping comparison." logger.warning(message) return + + +def compare_mandatory(wslist, plist, logger, tolerance=0.01): + """ + Compares properties which are required to be the same. + Produces error message and throws exception if difference is observed + or if one of the sample logs is not found. + Important: exits after the first difference is observed. No further check is performed. + @param wslist List of workspaces + @param plist List of properties to compare + @param logger Logger self.log() + @param tolerance Tolerance for comparison of the double values. + """ + # retrieve the workspaces, form dictionary {wsname: run} + runs = {} + for wsname in wslist: + wks = api.AnalysisDataService.retrieve(wsname) + runs[wsname] = wks.getRun() + + for prop in plist: + properties = [] + for wsname in wslist: + run = runs[wsname] + if not run.hasProperty(prop): + message = "Workspace " + wsname + " does not have sample log " + prop + logger.error(message) + raise RuntimeError(message) + + curprop = run.getProperty(prop) + if curprop.type == 'string': + properties.append(curprop.value) + elif curprop.type == 'number': + properties.append(int(curprop.value/tolerance)) + else: + message = "Unknown type " + str(curprop.type) + " for the sample log " +\ + prop + " in the workspace " + wsname + logger.error(message) + raise RuntimeError(message) + # this should never happen, but lets check + nprop = len(properties) + if nprop != len(wslist): + message = "Error. Number of properties " + str(nprop) + " for property " + prop +\ + " is not equal to number of workspaces " + str(len(wslist)) + logger.error(message) + raise RuntimeError(message) + pvalue = properties[0] + if properties.count(pvalue) != nprop: + message = "Sample log " + prop + " is not identical in the given list of workspaces. \n" +\ + "Workspaces: " + ", ".join(wslist) + "\n Values: " + str(properties) + logger.error(message) + raise RuntimeError(message) diff --git a/Framework/PythonInterface/test/python/plugins/algorithms/CMakeLists.txt b/Framework/PythonInterface/test/python/plugins/algorithms/CMakeLists.txt index bb68b040a2e73b551095e18bf876be0abb92e83b..c12c040cddbff6f851d86f23bfa144fc0bbeb73f 100644 --- a/Framework/PythonInterface/test/python/plugins/algorithms/CMakeLists.txt +++ b/Framework/PythonInterface/test/python/plugins/algorithms/CMakeLists.txt @@ -75,6 +75,7 @@ set ( TEST_PY_FILES UpdatePeakParameterTableValueTest.py SANSSubtractTest.py TimeSliceTest.py + TOFTOFMergeRunsTest.py TOSCABankCorrectionTest.py TransformToIqtTest.py ExportSampleLogsToCSVFileTest.py diff --git a/Framework/PythonInterface/test/python/plugins/algorithms/TOFTOFMergeRunsTest.py b/Framework/PythonInterface/test/python/plugins/algorithms/TOFTOFMergeRunsTest.py new file mode 100644 index 0000000000000000000000000000000000000000..3e0b4dac93aa19f9044bba5ab938da751a5f231c --- /dev/null +++ b/Framework/PythonInterface/test/python/plugins/algorithms/TOFTOFMergeRunsTest.py @@ -0,0 +1,93 @@ +import unittest +from mantid.simpleapi import Load, DeleteWorkspace, AddSampleLogMultiple, \ + DeleteLog +from testhelpers import run_algorithm +from mantid.api import AnalysisDataService + + +class TOFTOFMergeRunsTest(unittest.TestCase): + + def setUp(self): + input_ws = Load(Filename="TOFTOFTestdata.nxs") + self._input_ws_base = input_ws + self._input_good = input_ws + AddSampleLogMultiple(Workspace=self._input_good, LogNames=['run_number'], LogValues=[001]) + + self._input_bad_entry = input_ws+0 + # remove a compulsory entry in Logs + DeleteLog(self._input_bad_entry, 'duration') + + self._input_bad_value = input_ws+0 + AddSampleLogMultiple(Workspace=self._input_bad_value, LogNames=['wavelength'], LogValues=[0.]) + + def test_success(self): + OutputWorkspaceName = "output_ws" + Inputws = "%s, %s" % (self._input_ws_base.name(), self._input_good.name()) + + alg_test = run_algorithm("TOFTOFMergeRuns", + InputWorkspaces=Inputws, + OutputWorkspace=OutputWorkspaceName) + self.assertTrue(alg_test.isExecuted()) + + wsoutput = AnalysisDataService.retrieve(OutputWorkspaceName) + + run_out = wsoutput.getRun() + run_in = self._input_ws_base.getRun() + self.assertEqual(run_out.getLogData('wavelength').value, run_in.getLogData('wavelength').value) + self.assertEqual(run_out.getLogData('chopper_speed').value, run_in.getLogData('chopper_speed').value) + self.assertEqual(run_out.getLogData('chopper_ratio').value, run_in.getLogData('chopper_ratio').value) + self.assertEqual(run_out.getLogData('channel_width').value, run_in.getLogData('channel_width').value) + self.assertEqual(run_out.getLogData('Ei').value, run_in.getLogData('Ei').value) + self.assertEqual(run_out.getLogData('EPP').value, run_in.getLogData('EPP').value) + self.assertEqual(run_out.getLogData('proposal_number').value, run_in.getLogData('proposal_number').value) + self.assertEqual(run_out.getLogData('proposal_title').value, run_in.getLogData('proposal_title').value) + self.assertEqual(run_out.getLogData('mode').value, run_in.getLogData('mode').value) + self.assertEqual(run_out.getLogData('experiment_team').value, run_in.getLogData('experiment_team').value) + + run_in_good = self._input_good.getRun() + self.assertEqual(run_out.getLogData('run_number').value, + str([run_in.getLogData('run_number').value, run_in_good.getLogData('run_number').value])) + + self.assertEqual(run_out.getLogData('temperature').value, float(run_in.getLogData('temperature').value)) + self.assertEqual(run_out.getLogData('duration').value, + float(run_in.getLogData('duration').value) + float(run_in_good.getLogData('duration').value)) + self.assertEqual(run_out.getLogData('run_start').value, run_in.getLogData('run_start').value) + self.assertEqual(run_out.getLogData('run_end').value, run_in.getLogData('run_end').value) + self.assertEqual(run_out.getLogData('full_channels').value, run_in.getLogData('full_channels').value) + self.assertEqual(run_out.getLogData('monitor_counts').value, 2*int(run_in.getLogData('monitor_counts').value)) + # Dimension output workspace + self.assertEqual(wsoutput.getNumberHistograms(), self._input_ws_base.getNumberHistograms()) + self.assertEqual(wsoutput.blocksize(), self._input_ws_base.blocksize()) + # check instrument + self.assertEqual(wsoutput.getInstrument().getName(), "TOFTOF") + + AnalysisDataService.remove("output_ws") + + def test_failed(self): + """ + Failed tests because of missing keys or different values + """ + OutputWorkspaceName = "output_ws" + Inputws_badvalue = "%s, %s" % (self._input_ws_base.name(), self._input_bad_value.name()) + self.assertRaises(RuntimeError, + run_algorithm, 'TOFTOFMergeRuns', + InputWorkspaces=Inputws_badvalue, + OutputWorkspace=OutputWorkspaceName, + rethrow=True) + + Inputws_badentry = "%s, %s" % (self._input_ws_base.name(), self._input_bad_entry.name()) + self.assertRaises(RuntimeError, + run_algorithm, 'TOFTOFMergeRuns', + InputWorkspaces=Inputws_badentry, + OutputWorkspace=OutputWorkspaceName, + rethrow=True) + + if "output_ws" is not None: + AnalysisDataService.remove("output_ws") + + def cleanUp(self): + if self._input_ws_base is not None: + DeleteWorkspace(self._input_ws_base) + +if __name__ == "__main__": + unittest.main() diff --git a/Framework/SINQ/test/PoldiFitPeaks1D2Test.h b/Framework/SINQ/test/PoldiFitPeaks1D2Test.h index 4ced3e46bad5c158d1d9ef7f047fa179be817d44..35fbec1cc249f38f5f47758afc1a36845b5b3002 100644 --- a/Framework/SINQ/test/PoldiFitPeaks1D2Test.h +++ b/Framework/SINQ/test/PoldiFitPeaks1D2Test.h @@ -9,8 +9,7 @@ #include "MantidAPI/CompositeFunction.h" #include "MantidAPI/IPeakFunction.h" -#include "MantidCurveFitting/Gaussian.h" -#include "MantidCurveFitting/FlatBackground.h" +#include "MantidCurveFitting/Functions/FlatBackground.h" #include "MantidSINQ/PoldiUtilities/PoldiPeak.h" #include "MantidTestHelpers/WorkspaceCreationHelper.h" @@ -21,6 +20,7 @@ using Mantid::Poldi::PoldiFitPeaks1D2; using namespace Mantid::Poldi; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::Kernel; using namespace Mantid::DataObjects; diff --git a/Framework/SINQ/test/PoldiFitPeaks1DTest.h b/Framework/SINQ/test/PoldiFitPeaks1DTest.h index a2158802104fad5391ed961eec6a2eced22c43b3..452d6472c3987e074ea2ba878042f6b2cca616c4 100644 --- a/Framework/SINQ/test/PoldiFitPeaks1DTest.h +++ b/Framework/SINQ/test/PoldiFitPeaks1DTest.h @@ -9,8 +9,7 @@ #include "MantidAPI/CompositeFunction.h" #include "MantidAPI/IPeakFunction.h" -#include "MantidCurveFitting/Gaussian.h" -#include "MantidCurveFitting/FlatBackground.h" +#include "MantidCurveFitting/Functions/FlatBackground.h" #include "MantidSINQ/PoldiUtilities/PoldiPeak.h" @@ -18,6 +17,7 @@ using Mantid::Poldi::PoldiFitPeaks1D; using namespace Mantid::Poldi; using namespace Mantid::API; using namespace Mantid::CurveFitting; +using namespace Mantid::CurveFitting::Functions; using namespace Mantid::Kernel; class TestablePoldiFitPeaks1D : public Mantid::Poldi::PoldiFitPeaks1D { diff --git a/Framework/SINQ/test/PoldiSpectrumDomainFunctionTest.h b/Framework/SINQ/test/PoldiSpectrumDomainFunctionTest.h index f9eb10908965fcbc41cb3fb4ab9d8c382c5a8382..492393f6b0a8a8122190cbd8da275650fb1d74fe 100644 --- a/Framework/SINQ/test/PoldiSpectrumDomainFunctionTest.h +++ b/Framework/SINQ/test/PoldiSpectrumDomainFunctionTest.h @@ -12,7 +12,6 @@ #include "MantidAPI/FunctionValues.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/MultiDomainFunction.h" -#include "MantidCurveFitting/Gaussian.h" #include "MantidCurveFitting/FitMW.h" #include "MantidCurveFitting/Jacobian.h" diff --git a/MantidQt/MantidWidgets/src/MuonSequentialFitDialog.cpp b/MantidQt/MantidWidgets/src/MuonSequentialFitDialog.cpp index 49ba9501a901953737b28baed4496415ab89b8c3..2169429a18df8d1b89d87677a524940365dd3ffe 100644 --- a/MantidQt/MantidWidgets/src/MuonSequentialFitDialog.cpp +++ b/MantidQt/MantidWidgets/src/MuonSequentialFitDialog.cpp @@ -368,28 +368,23 @@ namespace MantidWidgets MatrixWorkspace_sptr ws; - auto load = boost::dynamic_pointer_cast<AlgorithmProxy>( AlgorithmManager::Instance().create("MuonLoad") ); - load->setChild(true); - load->setRethrows(true); - load->copyPropertiesFrom(*m_loadAlg); - - try - { + try { + auto load = AlgorithmManager::Instance().create("MuonLoad"); load->initialize(); - - load->setPropertyValue( "Filename", fileIt->toStdString() ); - load->setPropertyValue( "OutputWorkspace", "__YouDontSeeMeIAmNinja" ); // Is not used - - if ( m_fitPropBrowser->rawData() ) // TODO: or vice verca? - load->setPropertyValue( "RebinParams", "" ); + load->setChild(true); + load->setRethrows(true); + load->updatePropertyValues(*m_loadAlg); + load->setPropertyValue("Filename", fileIt->toStdString()); + load->setPropertyValue("OutputWorkspace", "__YouDontSeeMeIAmNinja"); + if (m_fitPropBrowser->rawData()) // TODO: or vice verca? + load->setPropertyValue("RebinParams", ""); load->execute(); ws = load->getProperty("OutputWorkspace"); - } - catch(...) - { - QMessageBox::critical(this, "Loading failed", + } catch (...) { + QMessageBox::critical( + this, "Loading failed", "Unable to load one of the files.\n\nCheck log for details"); break; } diff --git a/buildconfig/move_class.py b/buildconfig/move_class.py index e51e53c45c28785f805f69b2f99f707b9d2a239b..09b62d51fee7a4296d2b399b93a97d5dfda56511 100755 --- a/buildconfig/move_class.py +++ b/buildconfig/move_class.py @@ -15,32 +15,36 @@ def move_one(subproject, classname, newproject, newclassname, oldfilename, newfi """Move one file """ # Move the file - cmd = "mv " + oldfilename + " " + newfilename - if not args.no_vcs: - cmd = "git " + cmd - print "Running:", cmd - retval = os.system(cmd) - if retval != 0: - raise RuntimeError("Error executing cmd '%s'" % cmd) - - f = open(newfilename, 'r') - text = f.read() - f.close() - - # Replace any includes of it - text = text.replace("Mantid" + subproject + "/" + args.source_subfolder + classname + ".h", - "Mantid" + newproject + "/" + args.dest_subfolder + newclassname + ".h") - - #Replace the guard - old_guard = "MANTID_%s_%s_H_" % (subproject.upper(), classname.upper()) - new_guard = "MANTID_%s_%s_H_" % (newproject.upper(), newclassname.upper()) - text = text.replace(old_guard, new_guard) - - # Replace the namespace declaration - text = text.replace("namespace " + subproject, "namespace " + newproject) - # Replace the conents - f = open(newfilename, 'w') - f.write(text) + try: + cmd = "mv " + oldfilename + " " + newfilename + cmd = cmd.replace("\\","/") + if not args.no_vcs: + cmd = "git " + cmd + print "Running:", cmd + retval = os.system(cmd) + if retval != 0: + raise RuntimeError("Error executing cmd '%s'" % cmd) + + f = open(newfilename, 'r') + text = f.read() + f.close() + + # Replace any includes of it + text = text.replace("Mantid" + subproject + "/" + args.source_subfolder + classname + ".h", + "Mantid" + newproject + "/" + args.dest_subfolder + newclassname + ".h") + + #Replace the guard + old_guard = "MANTID_%s_%s_H_" % (subproject.upper(), classname.upper()) + new_guard = "MANTID_%s_%s_H_" % (newproject.upper(), newclassname.upper()) + text = text.replace(old_guard, new_guard) + + # Replace the namespace declaration + text = text.replace("namespace " + subproject, "namespace " + newproject) + # Replace the conents + f = open(newfilename, 'w') + f.write(text) + except RuntimeError as err: + print err @@ -57,7 +61,7 @@ def move_all(subproject, classname, newproject, newclassname, args): newheaderfile = os.path.join(newbasedir, "inc/" + new_header_folder + "/" + args.dest_subfolder + newclassname + ".h") newsourcefile = os.path.join(newbasedir, "src/" + args.dest_subfolder + newclassname + ".cpp") - newtestfile = os.path.join(newbasedir, "test/" + newclassname + "Test.h") + newtestfile = os.path.join(newbasedir, "test/" + args.dest_subfolder + newclassname + "Test.h") if args.header and not overwrite and os.path.exists(newheaderfile): print "\nError! Header file %s already exists. Use --force to overwrite.\n" % newheaderfile diff --git a/docs/source/algorithms/Fit-v1.rst b/docs/source/algorithms/Fit-v1.rst index 55baf7dfbf7fbf9ae2af351d8b9afc0e82a8af2a..691219743c2e8a3c20358c1cb28e1cc099dbd908 100644 --- a/docs/source/algorithms/Fit-v1.rst +++ b/docs/source/algorithms/Fit-v1.rst @@ -355,5 +355,5 @@ Output: .. categories:: .. sourcelink:: - :h: Framework/CurveFitting/inc/MantidCurveFitting/Fit.h - :cpp: Framework/CurveFitting/src/Fit.cpp \ No newline at end of file + :h: Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/Fit.h + :cpp: Framework/CurveFitting/src/Algorithms/Fit.cpp \ No newline at end of file diff --git a/docs/source/algorithms/TOFTOFMergeRuns-v1.rst b/docs/source/algorithms/TOFTOFMergeRuns-v1.rst new file mode 100644 index 0000000000000000000000000000000000000000..25aec61d5f1324450adf5eb51a07564d619897ff --- /dev/null +++ b/docs/source/algorithms/TOFTOFMergeRuns-v1.rst @@ -0,0 +1,150 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Merges workspaces from a given list using :ref:`algm-MergeRuns` algorithm. Sample logs are merged in the following way. + ++---------++-------------------------------+ +| Type of || Parameter | +| merging || | ++=========++===============================+ +| Average || temperature | ++---------++-------------------------------+ +| Minimum || run_start | ++---------++-------------------------------+ +| Maximum || run_end | ++---------++-------------------------------+ +| Summed || duration, monitor_counts | ++---------++-------------------------------+ +| Listed || run_number | ++---------++-------------------------------+ + +Other sample logs are copied from the first workspace. + +**Valid input workspaces** + +Algorithm accepts both, matrix workspaces and groups of matrix workspaces. Valid input workspaces + +- must have following sample logs: *channel_width*, *chopper_ratio*, *chopper_speed*, *Ei*, *wavelength*, *full_channels*, *EPP*, *monitor_counts*, *duration*, *run_number*, *run_start*, *run_end* +- must have identical following sample logs: *channel_width*, *chopper_ratio*, *chopper_speed*, *Ei*, *wavelength*, *full_channels*, *EPP*. Tolerance for double comparison is 0.01. +- must have common binning for all its spectra for each input workspace. + +If these conditions are not fulfilled, algorithm terminates with an error message. + +Sample log *temperature* is optional. If it is present in some of input workspaces, mean value will be calculated. Otherwise, no *temperature* sample log will be created in the output workspace. + +Algorithm will produce warning if +- *temperature* and *run_title* sample logs are not present or different, +- some of input workspaces have zero monitor counts. + +Usage +----- + +**Example - Merge list of workspaces** + +.. testcode:: ExTOFTOFMergeRuns2ws + + ws1 = LoadMLZ(Filename='TOFTOFTestdata.nxs') + ws2 = LoadMLZ(Filename='TOFTOFTestdata.nxs') + + # change sample logs for a second workspace, not needed for real workspaces + lognames = 'temperature,run_start,run_end,monitor_counts,run_number' + logvalues = '296.15,2013-07-28T11:32:19+0053,2013-07-28T12:32:19+0053,145145,TOFTOFTestdata2' + AddSampleLogMultiple(ws2, lognames, logvalues) + + # Input = list of workspaces + ws3 = TOFTOFMergeRuns('ws1,ws2') + + # Temperature + print "Temperature of experiment for 1st workspace (in K): ", ws1.getRun().getLogData('temperature').value + print "Temperature of experiment for 2nd workspace (in K): ", ws2.getRun().getLogData('temperature').value + print "Temperature of experiment for merged workspaces = average over workspaces (in K): ", ws3.getRun().getLogData('temperature').value + + # Duration + print "Duration of experiment for 1st workspace (in s): ", ws1.getRun().getLogData('duration').value + print "Duration of experiment for 2nd workspace (in s): ", ws2.getRun().getLogData('duration').value + print "Duration of experiment for merged workspaces = sum of all durations (in s): ", ws3.getRun().getLogData('duration').value + + # Run start + print "Start of experiment for 1st workspace: ", ws1.getRun().getLogData('run_start').value + print "Start of experiment for 2nd workspace: ", ws2.getRun().getLogData('run_start').value + print "Start of experiment for merged workspaces = miminum of all workspaces: ", ws3.getRun().getLogData('run_start').value + + # Run end + print "End of experiment for 1st workspace: ", ws1.getRun().getLogData('run_end').value + print "End of experiment for 2nd workspace: ", ws2.getRun().getLogData('run_end').value + print "End of experiment for merged workspaces = maximum of all workspaces: ", ws3.getRun().getLogData('run_end').value + + # Run number + print "Run number for 1st workspace: ", ws1.getRun().getLogData('run_number').value + print "Run number for 2nd workspace: ", ws2.getRun().getLogData('run_number').value + print "Run number for merged workspaces = list of all workspaces: ", ws3.getRun().getLogData('run_number').value + + # Monitor counts + print "Monitor counts for 1st workspace: ", ws1.getRun().getLogData('monitor_counts').value + print "Monitor counts for 2nd workspace: ", ws2.getRun().getLogData('monitor_counts').value + print "Monitor counts for merged workspaces = sum over all workspaces: ", ws3.getRun().getLogData('monitor_counts').value + + +Output: + +.. testoutput:: ExTOFTOFMergeRuns2ws + + Temperature of experiment for 1st workspace (in K): 294.149414 + Temperature of experiment for 2nd workspace (in K): 296.15 + Temperature of experiment for merged workspaces = average over workspaces (in K): 295.149707 + Duration of experiment for 1st workspace (in s): 3601 + Duration of experiment for 2nd workspace (in s): 3601 + Duration of experiment for merged workspaces = sum of all durations (in s): 7202 + Start of experiment for 1st workspace: 2013-07-28T10:32:19+0053 + Start of experiment for 2nd workspace: 2013-07-28T11:32:19+0053 + Start of experiment for merged workspaces = miminum of all workspaces: 2013-07-28T10:32:19+0053 + End of experiment for 1st workspace: 2013-07-28T11:32:20+0053 + End of experiment for 2nd workspace: 2013-07-28T12:32:19+0053 + End of experiment for merged workspaces = maximum of all workspaces: 2013-07-28T12:32:19+0053 + Run number for 1st workspace: TOFTOFTestdata + Run number for 2nd workspace: TOFTOFTestdata2 + Run number for merged workspaces = list of all workspaces: ['TOFTOFTestdata', 'TOFTOFTestdata2'] + Monitor counts for 1st workspace: 136935 + Monitor counts for 2nd workspace: 145145 + Monitor counts for merged workspaces = sum over all workspaces: 282080 + +**Example - Merge group of workspaces** + +.. testcode:: ExTOFTOFMergeRunsGroup + + ws1 = LoadMLZ(Filename='TOFTOFTestdata.nxs') + ws2 = LoadMLZ(Filename='TOFTOFTestdata.nxs') + + # change sample logs for a second workspace, not needed for real workspaces + lognames = 'temperature,run_start,run_end,monitor_counts,run_number' + logvalues = '296.15,2013-07-28T11:32:19+0053,2013-07-28T12:32:19+0053,145145,TOFTOFTestdata2' + AddSampleLogMultiple(ws2, lognames, logvalues) + + group=GroupWorkspaces('ws1,ws2') + groupmerged=TOFTOFMergeRuns(group) + print "Monitor counts for 1st workspace: ", ws1.getRun().getLogData('monitor_counts').value + print "Monitor counts for 2nd workspace: ", ws2.getRun().getLogData('monitor_counts').value + print "Monitor counts for merged workspaces = sum over all workspaces: ", groupmerged.getRun().getLogData('monitor_counts').value + +Output: + +.. testoutput:: ExTOFTOFMergeRunsGroup + + Monitor counts for 1st workspace: 136935 + Monitor counts for 2nd workspace: 145145 + Monitor counts for merged workspaces = sum over all workspaces: 282080 + +.. categories:: + +.. sourcelink:: + + + diff --git a/docs/source/fitfunctions/Convolution.rst b/docs/source/fitfunctions/Convolution.rst index 4131d38a6c02f0a7699718f67a20c12abd0adb33..2d1effda494a58834752a49bd3c7ab410c77c1ce 100644 --- a/docs/source/fitfunctions/Convolution.rst +++ b/docs/source/fitfunctions/Convolution.rst @@ -45,5 +45,5 @@ Note that the box function is defined on interval [-5, 5]: .. categories:: .. sourcelink:: - :h: Framework/CurveFitting/inc/MantidCurveFitting/Convolution.h - :cpp: Framework/CurveFitting/src/Convolution.cpp \ No newline at end of file + :h: Framework/CurveFitting/inc/MantidCurveFitting/Functions/Convolution.h + :cpp: Framework/CurveFitting/src/Functions/Convolution.cpp \ No newline at end of file diff --git a/docs/source/fitfunctions/Quadratic.rst b/docs/source/fitfunctions/Quadratic.rst index ec969de22b9b6177cdc4299d1f9a2d8f8cfcc9c0..8ff860a418240b00e5bc2f381b9f03c666f4c98e 100644 --- a/docs/source/fitfunctions/Quadratic.rst +++ b/docs/source/fitfunctions/Quadratic.rst @@ -26,5 +26,5 @@ where .. categories:: .. sourcelink:: - :h: Framework/CurveFitting/inc/MantidCurveFitting/Quadratic.h - :cpp: Framework/CurveFitting/src/Quadratic.cpp \ No newline at end of file + :h: Framework/CurveFitting/inc/MantidCurveFitting/Functions/Quadratic.h + :cpp: Framework/CurveFitting/src/Functions/Quadratic.cpp \ No newline at end of file diff --git a/docs/source/fitfunctions/UserFunction.rst b/docs/source/fitfunctions/UserFunction.rst index 9cda7f413fdb76f7d3bbc3a30e82de60e69f4a32..9a8201cec132e63b0bd6cfd040011538f6b8b9b7 100644 --- a/docs/source/fitfunctions/UserFunction.rst +++ b/docs/source/fitfunctions/UserFunction.rst @@ -25,5 +25,5 @@ go first in UserFunction definition. .. categories:: .. sourcelink:: - :h: Framework/CurveFitting/inc/MantidCurveFitting/UserFunction.h - :cpp: Framework/CurveFitting/src/UserFunction.cpp \ No newline at end of file + :h: Framework/CurveFitting/inc/MantidCurveFitting/Functions/UserFunction.h + :cpp: Framework/CurveFitting/src/Functions/UserFunction.cpp \ No newline at end of file