From 1de88f35df86485db331fd0ace24ed42af316f28 Mon Sep 17 00:00:00 2001
From: Nick Draper <nick.draper@stfc.ac.uk>
Date: Mon, 26 Mar 2018 17:12:34 +0100
Subject: [PATCH] remaining see Also algorithm changes

re #22143
---
 .../Algorithms/inc/MantidAlgorithms/AnyShapeAbsorption.h    | 6 ++++++
 .../Algorithms/inc/MantidAlgorithms/ConvertToHistogram.h    | 4 +++-
 .../Algorithms/inc/MantidAlgorithms/ConvertToPointData.h    | 4 +++-
 .../Algorithms/inc/MantidAlgorithms/CreatePSDBleedMask.h    | 4 +++-
 Framework/Algorithms/inc/MantidAlgorithms/PhaseQuadMuon.h   | 4 +++-
 .../SampleCorrections/MayersSampleCorrection.h              | 4 ++++
 Framework/Algorithms/inc/MantidAlgorithms/Stitch1D.h        | 3 +++
 .../inc/MantidCurveFitting/Algorithms/CalculateChiSquared.h | 3 +++
 .../MantidCurveFitting/Algorithms/CalculateCostFunction.h   | 3 +++
 .../MantidCurveFitting/Algorithms/EstimateFitParameters.h   | 3 +++
 .../inc/MantidCurveFitting/Algorithms/EstimatePeakErrors.h  | 3 +++
 .../inc/MantidCurveFitting/Algorithms/EvaluateFunction.h    | 3 +++
 .../CurveFitting/inc/MantidCurveFitting/Algorithms/Fit.h    | 3 +++
 .../inc/MantidCurveFitting/Algorithms/FitPowderDiffPeaks.h  | 3 +++
 .../inc/MantidCurveFitting/Algorithms/LeBailFit.h           | 3 +++
 .../inc/MantidCurveFitting/Algorithms/NormaliseByPeakArea.h | 4 ++++
 .../inc/MantidCurveFitting/Algorithms/PawleyFit.h           | 3 +++
 .../inc/MantidCurveFitting/Algorithms/PlotPeakByLogValue.h  | 3 +++
 .../Algorithms/RefinePowderInstrumentParameters3.h          | 3 +++
 .../inc/MantidCurveFitting/Algorithms/SplineBackground.h    | 3 +++
 .../inc/MantidCurveFitting/Algorithms/SplineInterpolation.h | 3 +++
 .../inc/MantidCurveFitting/Algorithms/SplineSmoothing.h     | 3 +++
 .../Algorithms/VesuvioCalculateGammaBackground.h            | 3 +++
 .../inc/MantidCurveFitting/Algorithms/VesuvioCalculateMS.h  | 5 +++++
 .../inc/MantidCurveFitting/Functions/UserFunction1D.h       | 3 +++
 .../LiveData/inc/MantidLiveData/ISIS/FakeISISEventDAE.h     | 3 +++
 .../LiveData/inc/MantidLiveData/ISIS/FakeISISHistoDAE.h     | 3 +++
 .../Quantification/FitResolutionConvolvedModel.h            | 3 +++
 .../Quantification/SimulateResolutionConvolvedModel.h       | 4 +++-
 .../PythonInterface/plugins/algorithms/BASISDiffraction.py  | 3 +++
 .../plugins/algorithms/CalculateSampleTransmission.py       | 5 ++++-
 .../plugins/algorithms/CreateEmptyTableWorkspace.py         | 5 ++++-
 .../plugins/algorithms/ExportExperimentLog.py               | 3 +++
 .../PythonInterface/plugins/algorithms/ExtractMonitors.py   | 5 ++++-
 Framework/PythonInterface/plugins/algorithms/FitGaussian.py | 5 ++++-
 .../PythonInterface/plugins/algorithms/LoadEmptyVesuvio.py  | 6 +++++-
 .../plugins/algorithms/LoadLogPropertyTable.py              | 5 ++++-
 Framework/PythonInterface/plugins/algorithms/LoadVesuvio.py | 6 ++++++
 Framework/PythonInterface/plugins/algorithms/MuonMaxent.py  | 3 +++
 .../PythonInterface/plugins/algorithms/PearlMCAbsorption.py | 6 +++++-
 .../PythonInterface/plugins/algorithms/RetrieveRunInfo.py   | 5 ++++-
 .../algorithms/WorkflowAlgorithms/AddSampleLogMultiple.py   | 3 +++
 .../WorkflowAlgorithms/CalculateMonteCarloAbsorption.py     | 5 ++++-
 .../WorkflowAlgorithms/ISISIndirectDiffractionReduction.py  | 3 +++
 .../WorkflowAlgorithms/OSIRISDiffractionReduction.py        | 5 ++++-
 .../WorkflowAlgorithms/SimpleShapeMonteCarloAbsorption.py   | 5 ++++-
 .../plugins/algorithms/WorkflowAlgorithms/TimeSlice.py      | 3 +++
 .../WorkflowAlgorithms/VesuvioDiffractionReduction.py       | 5 ++++-
 Framework/SINQ/inc/MantidSINQ/SINQTranspose3D.h             | 4 +++-
 49 files changed, 171 insertions(+), 18 deletions(-)

diff --git a/Framework/Algorithms/inc/MantidAlgorithms/AnyShapeAbsorption.h b/Framework/Algorithms/inc/MantidAlgorithms/AnyShapeAbsorption.h
index 8e387758a60..efb56371700 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/AnyShapeAbsorption.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/AnyShapeAbsorption.h
@@ -88,6 +88,12 @@ public:
   AnyShapeAbsorption();
   /// Algorithm's name
   const std::string name() const override { return "AbsorptionCorrection"; }
+  
+  const std::vector<std::string> seeAlso() const override {
+    return{ "SetSampleMaterial", "CreateSampleShape", "DefineGaugeVolume", "CylinderAbsorption", 
+      "FlatPlateAbsorption", "AnnularRingAbsorption", "CuboidGaugeVolumeAbsorption" };
+  }
+
   /// Summary of algorithms purpose
   const std::string summary() const override {
     return "Calculates an approximation of the attenuation due to absorption "
diff --git a/Framework/Algorithms/inc/MantidAlgorithms/ConvertToHistogram.h b/Framework/Algorithms/inc/MantidAlgorithms/ConvertToHistogram.h
index 762f8298b57..75f844d8f49 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/ConvertToHistogram.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/ConvertToHistogram.h
@@ -46,7 +46,9 @@ public:
     return "Converts a workspace containing point data into one containing "
            "histograms.";
   }
-
+  const std::vector<std::string> seeAlso() const override {
+    return{ "ConvertToPointData" };
+  }
   /// Algorithm's category for identification overriding a virtual method
   const std::string category() const override { return "Transforms\\Axes"; }
 
diff --git a/Framework/Algorithms/inc/MantidAlgorithms/ConvertToPointData.h b/Framework/Algorithms/inc/MantidAlgorithms/ConvertToPointData.h
index ad628c2de7a..0de1a55f304 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/ConvertToPointData.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/ConvertToPointData.h
@@ -46,7 +46,9 @@ public:
     return "Converts a workspace containing histogram data into one containing "
            "point data.";
   }
-
+  const std::vector<std::string> seeAlso() const override {
+    return{ "ConvertToHistogram" };
+  }
   /// Algorithm's category for identification overriding a virtual method
   const std::string category() const override { return "Transforms\\Axes"; }
 
diff --git a/Framework/Algorithms/inc/MantidAlgorithms/CreatePSDBleedMask.h b/Framework/Algorithms/inc/MantidAlgorithms/CreatePSDBleedMask.h
index 05a492c9611..5f2aa11ed92 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/CreatePSDBleedMask.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/CreatePSDBleedMask.h
@@ -57,7 +57,9 @@ public:
     return "Runs a diagnostic test for saturation of PSD tubes and creates a "
            "MaskWorkspace marking the failed tube spectra.";
   }
-
+  const std::vector<std::string> seeAlso() const override {
+    return{ "IdentifyNoisyDetectors" };
+  }
   const std::string category() const override;
 
 private:
diff --git a/Framework/Algorithms/inc/MantidAlgorithms/PhaseQuadMuon.h b/Framework/Algorithms/inc/MantidAlgorithms/PhaseQuadMuon.h
index d47ca50770d..20b3ec2ef63 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/PhaseQuadMuon.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/PhaseQuadMuon.h
@@ -44,7 +44,9 @@ public:
   const std::string summary() const override {
     return "Generates a quadrature phase signal.";
   }
-
+  const std::vector<std::string> seeAlso() const override {
+    return{ "MuonMaxent" };
+  }
   /// Algorithm's version for identification overriding a virtual method
   int version() const override { return 1; }
   /// Algorithm's category for identification overriding a virtual method
diff --git a/Framework/Algorithms/inc/MantidAlgorithms/SampleCorrections/MayersSampleCorrection.h b/Framework/Algorithms/inc/MantidAlgorithms/SampleCorrections/MayersSampleCorrection.h
index 9d336dc7886..3ee8464c1e0 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/SampleCorrections/MayersSampleCorrection.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/SampleCorrections/MayersSampleCorrection.h
@@ -39,6 +39,10 @@ public:
   int version() const override;
   const std::string category() const override;
   const std::string summary() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ "MonteCarloAbsorption", "MultipleScatteringCylinderAbsorption",
+      "PearlMCAbsorption,VesuvioCalculateMS" };
+  }
 
 private:
   void init() override;
diff --git a/Framework/Algorithms/inc/MantidAlgorithms/Stitch1D.h b/Framework/Algorithms/inc/MantidAlgorithms/Stitch1D.h
index 973bd63c7cc..5ec8ca188ac 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/Stitch1D.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/Stitch1D.h
@@ -43,6 +43,9 @@ public:
   const std::string summary() const override {
     return "Stitches single histogram matrix workspaces together";
   }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "Stitch1DMany" };
+  }
   /// Does the x-axis have non-zero errors
   bool hasNonzeroErrors(Mantid::API::MatrixWorkspace_sptr ws);
 
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateChiSquared.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateChiSquared.h
index 3a4279938f5..69c920dd2c1 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateChiSquared.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateChiSquared.h
@@ -39,6 +39,9 @@ class DLLExport CalculateChiSquared : public IFittingAlgorithm {
 public:
   const std::string name() const override;
   int version() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""CalculateCostFunction","Fit"" };
+  }
   const std::string summary() const override;
 
 private:
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateCostFunction.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateCostFunction.h
index d66640fd091..5ecfc17ec21 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateCostFunction.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateCostFunction.h
@@ -42,6 +42,9 @@ class DLLExport CalculateCostFunction : public IFittingAlgorithm {
 public:
   const std::string name() const override;
   int version() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""CalculateChiSquared","Fit"" };
+  }
   const std::string summary() const override;
 
 private:
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimateFitParameters.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimateFitParameters.h
index 4e7bffa93e4..5a1671c98cd 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimateFitParameters.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimateFitParameters.h
@@ -37,6 +37,9 @@ class DLLExport EstimateFitParameters : public IFittingAlgorithm {
 public:
   const std::string name() const override;
   int version() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""Fit","EstimatePeakErrors"" };
+  }
   const std::string summary() const override;
 
 private:
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimatePeakErrors.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimatePeakErrors.h
index 9337aba2706..ae70f1f891f 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimatePeakErrors.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimatePeakErrors.h
@@ -38,6 +38,9 @@ public:
   const std::string summary() const override;
 
   int version() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""Fit","EstimateFitParameters"" };
+  }
   const std::string category() const override;
 
 private:
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EvaluateFunction.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EvaluateFunction.h
index 915b3285faa..8b439df7e70 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EvaluateFunction.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EvaluateFunction.h
@@ -38,6 +38,9 @@ class DLLExport EvaluateFunction : public IFittingAlgorithm {
 public:
   const std::string name() const override;
   int version() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ "Fit" };
+  }
   const std::string summary() const override;
 
 private:
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/Fit.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/Fit.h
index a60b8da6de0..373e7e3e1a6 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/Fit.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/Fit.h
@@ -103,6 +103,9 @@ public:
   }
   /// Algorithm's version for identification overriding a virtual method
   int version() const override { return (1); }
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""FitGaussian","FitGaussian","UserFunction1D","PlotPeakByLogValue","SplineBackground","EvaluateFunction"" };
+  }
 
 private:
   void initConcrete() override;
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/FitPowderDiffPeaks.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/FitPowderDiffPeaks.h
index c602e18e0f1..c243f1e9875 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/FitPowderDiffPeaks.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/FitPowderDiffPeaks.h
@@ -71,6 +71,9 @@ public:
 
   /// Algorithm's version for identification overriding a virtual method
   int version() const override { return 1; }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "LeBailFit" };
+  }
 
   /// Algorithm's category for identification overriding a virtual method
   const std::string category() const override { return "Diffraction\\Fitting"; }
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/LeBailFit.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/LeBailFit.h
index 05466c164ed..3ae2713cdeb 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/LeBailFit.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/LeBailFit.h
@@ -91,6 +91,9 @@ public:
 
   /// Algorithm's version for identification overriding a virtual method
   int version() const override { return 1; }
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""CreateLeBailFitInput","FitPowderDiffPeaks"" };
+  }
 
   /// Algorithm's category for identification overriding a virtual method
   const std::string category() const override { return "Diffraction\\Fitting"; }
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/NormaliseByPeakArea.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/NormaliseByPeakArea.h
index 36c402f6e09..3d70e12bfa2 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/NormaliseByPeakArea.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/NormaliseByPeakArea.h
@@ -49,6 +49,10 @@ public:
            "input mass value.";
   }
 
+  const std::vector<std::string> seeAlso() const override {
+    return{ "MonitorEfficiencyCorUser", "Divide" };
+  }
+
   int version() const override;
   const std::string category() const override;
 
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PawleyFit.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PawleyFit.h
index deaad15eca4..ed6a95a5676 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PawleyFit.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PawleyFit.h
@@ -69,6 +69,9 @@ public:
   PawleyFit();
   const std::string name() const override { return "PawleyFit"; }
   int version() const override { return 1; }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "PoldiPeakSearch" };
+  }
   const std::string summary() const override;
   const std::string category() const override { return "Diffraction\\Fitting"; }
 
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PlotPeakByLogValue.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PlotPeakByLogValue.h
index 659bad57095..dbb09bd6528 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PlotPeakByLogValue.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PlotPeakByLogValue.h
@@ -88,6 +88,9 @@ public:
 
   /// Algorithm's version for identification overriding a virtual method
   int version() const override { return 1; }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "Fit" };
+  }
   /// Algorithm's category for identification overriding a virtual method
   const std::string category() const override { return "Optimization"; }
 
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters3.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters3.h
index 1c02e46c59e..a85bf873102 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters3.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters3.h
@@ -54,6 +54,9 @@ public:
 
   /// Algorithm's version for identification overriding a virtual method
   int version() const override { return 3; }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "RefinePowderDiffProfileSeq" };
+  }
 
   /// Algorithm's category for identification overriding a virtual method
   const std::string category() const override { return "Diffraction\\Fitting"; }
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineBackground.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineBackground.h
index c154c4c35aa..47f5341a007 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineBackground.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineBackground.h
@@ -47,6 +47,9 @@ public:
   const std::string name() const override { return "SplineBackground"; }
   /// Algorithm's version for identification overriding a virtual method
   int version() const override { return 1; }
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""Fit","SplineInterpolation","SplineSmoothing"" };
+  }
   /// Algorithm's category for identification overriding a virtual method
   const std::string category() const override {
     return "Optimization;CorrectionFunctions\\BackgroundCorrections";
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineInterpolation.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineInterpolation.h
index 0d4af58d67a..821eaec48c7 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineInterpolation.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineInterpolation.h
@@ -49,6 +49,9 @@ public:
 
   const std::string name() const override;
   int version() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""Fit","SplineBackground","SplineSmoothing"" };
+  }
   const std::string category() const override;
   const std::string summary() const override;
   std::map<std::string, std::string> validateInputs() override;
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineSmoothing.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineSmoothing.h
index 51ed2dce5c9..1f4b8c2938f 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineSmoothing.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineSmoothing.h
@@ -45,6 +45,9 @@ public:
 
   const std::string name() const override;
   int version() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""Fit","SplineInterpolation","SplineBackground"" };
+  }
   const std::string category() const override;
   /// Summary of algorithms purpose
   const std::string summary() const override {
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateGammaBackground.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateGammaBackground.h
index 108ccccdbd7..637a051d8af 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateGammaBackground.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateGammaBackground.h
@@ -57,6 +57,9 @@ public:
     return "Calculates the background due to gamma rays produced when neutrons "
            "are absorbed by shielding.";
   }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "VesuvioCorrections" };
+  }
 
   int version() const override;
   const std::string category() const override;
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateMS.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateMS.h
index d3e19adf0d6..e6c10f96567 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateMS.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateMS.h
@@ -95,6 +95,11 @@ public:
            "on a flat plate sample for VESUVIO";
   }
 
+  const std::vector<std::string> seeAlso() const override {
+    return{ "MayersSampleCorrection", "MonteCarloAbsorption",
+            "MultipleScatteringCylinderAbsorption" };
+  }
+
 private:
   void init() override;
   void exec() override;
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Functions/UserFunction1D.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/UserFunction1D.h
index 5274b319fc8..dd073bc344e 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Functions/UserFunction1D.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/UserFunction1D.h
@@ -88,6 +88,9 @@ public:
   const std::string summary() const override {
     return "Fits a histogram from a workspace to a user defined function.";
   }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "Fit" };
+  }
 
 protected:
   /// overwrite base class methods
diff --git a/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISEventDAE.h b/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISEventDAE.h
index d776a84d8e5..adbd54196d1 100644
--- a/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISEventDAE.h
+++ b/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISEventDAE.h
@@ -55,6 +55,9 @@ public:
   const std::string category() const override {
     return "DataHandling\\DataAcquisition";
   }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "FakeISISHistoDAE" };
+  }
 
   /// Algorithm's summary
   const std::string summary() const override {
diff --git a/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISHistoDAE.h b/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISHistoDAE.h
index 35c4dff7a37..6a7a9d8f5b3 100644
--- a/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISHistoDAE.h
+++ b/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISHistoDAE.h
@@ -61,6 +61,9 @@ public:
   const std::string category() const override {
     return "DataHandling\\DataAcquisition";
   }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "FakeISISEventDAE" };
+  }
   /// Summary of algorithms purpose
   const std::string summary() const override {
     return "Simulates ISIS histogram DAE.";
diff --git a/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/FitResolutionConvolvedModel.h b/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/FitResolutionConvolvedModel.h
index dd236708ec2..a684b01fe70 100644
--- a/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/FitResolutionConvolvedModel.h
+++ b/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/FitResolutionConvolvedModel.h
@@ -35,6 +35,9 @@ public:
     return "Fits a cuts/slices from an MDEventWorkspace using a resolution "
            "function convolved with a foreground model";
   }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "SimulateResolutionConvolvedModel" };
+  }
 
   int version() const override;
   const std::string category() const override;
diff --git a/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/SimulateResolutionConvolvedModel.h b/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/SimulateResolutionConvolvedModel.h
index d869716128e..9790469099c 100644
--- a/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/SimulateResolutionConvolvedModel.h
+++ b/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/SimulateResolutionConvolvedModel.h
@@ -43,7 +43,9 @@ public:
   const std::string summary() const override {
     return "Runs a simulation of a model with a selected resolution function";
   }
-
+  const std::vector<std::string> seeAlso() const override {
+    return{ "FitResolutionConvolvedModel" };
+  }
   int version() const override;
 
 private:
diff --git a/Framework/PythonInterface/plugins/algorithms/BASISDiffraction.py b/Framework/PythonInterface/plugins/algorithms/BASISDiffraction.py
index 23227fbd37c..2ca360cd7ec 100644
--- a/Framework/PythonInterface/plugins/algorithms/BASISDiffraction.py
+++ b/Framework/PythonInterface/plugins/algorithms/BASISDiffraction.py
@@ -103,6 +103,9 @@ class BASISDiffraction(DataProcessorAlgorithm):
     def summary(self):
         return "Multiple-file BASIS reduction for diffraction detectors."
 
+    def seeAlso(self):
+        return [ "AlignDetectors","DiffractionFocussing","SNSPowderReduction" ]
+        
     def PyInit(self):
         # Input validators
         array_length_three = FloatArrayLengthValidator(3)
diff --git a/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py b/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py
index 0c5d8382208..a30e6762279 100644
--- a/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py
+++ b/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py
@@ -19,7 +19,10 @@ class CalculateSampleTransmission(PythonAlgorithm):
 
     def category(self):
         return 'Sample'
-
+        
+    def seeAlso(self):
+        return [ "SetSampleMaterial" ]
+        
     def summary(self):
         return 'Calculates the scattering & transmission for a given sample material and size over a given wavelength range.'
 
diff --git a/Framework/PythonInterface/plugins/algorithms/CreateEmptyTableWorkspace.py b/Framework/PythonInterface/plugins/algorithms/CreateEmptyTableWorkspace.py
index 026393dc796..684ecc99fa2 100644
--- a/Framework/PythonInterface/plugins/algorithms/CreateEmptyTableWorkspace.py
+++ b/Framework/PythonInterface/plugins/algorithms/CreateEmptyTableWorkspace.py
@@ -15,7 +15,10 @@ class CreateEmptyTableWorkspace(PythonAlgorithm):
 
     def category(self):
         return 'Utility\\Workspaces'
-
+        
+    def seeAlso(self):
+        return [ "DeleteTableRows","SortTableWorkspace" ]
+        
     def PyInit(self):
         # Declare properties
         self.declareProperty(ITableWorkspaceProperty("OutputWorkspace", "", Direction.Output),
diff --git a/Framework/PythonInterface/plugins/algorithms/ExportExperimentLog.py b/Framework/PythonInterface/plugins/algorithms/ExportExperimentLog.py
index 82f6ca11e41..8e6e2127ab0 100644
--- a/Framework/PythonInterface/plugins/algorithms/ExportExperimentLog.py
+++ b/Framework/PythonInterface/plugins/algorithms/ExportExperimentLog.py
@@ -40,6 +40,9 @@ class ExportExperimentLog(PythonAlgorithm):
         """
         return 'DataHandling\\Logs'
 
+    def seeAlso(self):
+        return [ "ExportSampleLogsToCSVFile" ]
+        
     def PyInit(self):
         """ Declaration of properties
         """
diff --git a/Framework/PythonInterface/plugins/algorithms/ExtractMonitors.py b/Framework/PythonInterface/plugins/algorithms/ExtractMonitors.py
index 15f1a2fcf43..06c5c898808 100644
--- a/Framework/PythonInterface/plugins/algorithms/ExtractMonitors.py
+++ b/Framework/PythonInterface/plugins/algorithms/ExtractMonitors.py
@@ -10,7 +10,10 @@ class ExtractMonitors(DataProcessorAlgorithm):
 
     def summary(self):
         return 'Separates the monitors and/or detectors into separate workspaces.'
-
+        
+    def seeAlso(self):
+        return [ "ExtractMonitorWorkspace" ]
+        
     def PyInit(self):
         self.declareProperty(MatrixWorkspaceProperty('InputWorkspace', '',
                                                      direction=Direction.Input),
diff --git a/Framework/PythonInterface/plugins/algorithms/FitGaussian.py b/Framework/PythonInterface/plugins/algorithms/FitGaussian.py
index 8777631a52d..d00e3d4e329 100644
--- a/Framework/PythonInterface/plugins/algorithms/FitGaussian.py
+++ b/Framework/PythonInterface/plugins/algorithms/FitGaussian.py
@@ -10,7 +10,10 @@ class FitGaussian(PythonAlgorithm):
 
     def category(self):
         return "Optimization"
-
+        
+    def seeAlso(self):
+        return [ "Fit" ]
+        
     def PyInit(self):
         # input
         self.declareProperty(MatrixWorkspaceProperty("Workspace", "", Direction.Input),
diff --git a/Framework/PythonInterface/plugins/algorithms/LoadEmptyVesuvio.py b/Framework/PythonInterface/plugins/algorithms/LoadEmptyVesuvio.py
index c48ad3107be..e6bbaca16d5 100644
--- a/Framework/PythonInterface/plugins/algorithms/LoadEmptyVesuvio.py
+++ b/Framework/PythonInterface/plugins/algorithms/LoadEmptyVesuvio.py
@@ -28,7 +28,11 @@ class LoadEmptyVesuvio(PythonAlgorithm):
         """
         return 'DataHandling\\Raw'
 #----------------------------------------------------------------------------------------
-
+    
+    def seeAlso(self):
+        return [ "LoadVesuvio" ]
+        
+#----------------------------------------------------------------------------------------
     def PyInit(self):
         self.declareProperty(FileProperty(INST_PAR_PROP, "", action=FileAction.OptionalLoad,
                                           extensions=["dat"]),
diff --git a/Framework/PythonInterface/plugins/algorithms/LoadLogPropertyTable.py b/Framework/PythonInterface/plugins/algorithms/LoadLogPropertyTable.py
index 22d6f03a55e..440855c61af 100644
--- a/Framework/PythonInterface/plugins/algorithms/LoadLogPropertyTable.py
+++ b/Framework/PythonInterface/plugins/algorithms/LoadLogPropertyTable.py
@@ -17,7 +17,10 @@ class LoadLogPropertyTable(PythonAlgorithm):
         """
         return "Creates a table of Run number against the log values for that run for a range of files.\
          It can use a single log value or a list of log values."
-
+         
+    def seeAlso(self):
+        return [ "LoadLog", "LoadMuonLog" ]
+        
     # same concept as built in "CreateLogPropertyTable" but loads its own workspaces and needn't hold all in memory at once
     # select log values to put in table (list)
     # special cases for:
diff --git a/Framework/PythonInterface/plugins/algorithms/LoadVesuvio.py b/Framework/PythonInterface/plugins/algorithms/LoadVesuvio.py
index 9166c9e8e44..344005c163d 100644
--- a/Framework/PythonInterface/plugins/algorithms/LoadVesuvio.py
+++ b/Framework/PythonInterface/plugins/algorithms/LoadVesuvio.py
@@ -107,6 +107,12 @@ class LoadVesuvio(LoadEmptyVesuvio):
         """ Defines the category the algorithm will be put in the algorithm browser
         """
         return 'DataHandling\\Raw'
+        
+#----------------------------------------------------------------------------------------
+    
+    def seeAlso(self):
+        return [ "LoadEmptyVesuvio" ,"LoadRaw" ]
+        
 #----------------------------------------------------------------------------------------
 
     def PyInit(self):
diff --git a/Framework/PythonInterface/plugins/algorithms/MuonMaxent.py b/Framework/PythonInterface/plugins/algorithms/MuonMaxent.py
index 2ede9effc74..bdd3685c756 100644
--- a/Framework/PythonInterface/plugins/algorithms/MuonMaxent.py
+++ b/Framework/PythonInterface/plugins/algorithms/MuonMaxent.py
@@ -34,6 +34,9 @@ class MuonMaxent(PythonAlgorithm):
 
     def category(self):
         return "Muon;Arithmetic\\FFT"
+        
+    def seeAlso(self):
+        return [ "PhaseQuad","FFT" ]
 
     def PyInit(self):
         self.declareProperty(
diff --git a/Framework/PythonInterface/plugins/algorithms/PearlMCAbsorption.py b/Framework/PythonInterface/plugins/algorithms/PearlMCAbsorption.py
index 6d18bd5d01a..e13ec855a84 100644
--- a/Framework/PythonInterface/plugins/algorithms/PearlMCAbsorption.py
+++ b/Framework/PythonInterface/plugins/algorithms/PearlMCAbsorption.py
@@ -13,7 +13,11 @@ class PearlMCAbsorption(PythonAlgorithm):
 
     def summary(self):
         return "Loads pre-calculated or measured absorption correction files for Pearl."
-
+        
+    def seeAlso(self):
+        return [ "MonteCarloAbsorption", "MayersSampleCorrection", 
+                 "MultipleScatteringCylinderAbsorption", "VesuvioCalculateMS" ]
+                 
     def PyInit(self):
         # Input file
         self.declareProperty(FileProperty("Filename","", FileAction.Load, ['.out','.dat']), doc="The name of the input file.")
diff --git a/Framework/PythonInterface/plugins/algorithms/RetrieveRunInfo.py b/Framework/PythonInterface/plugins/algorithms/RetrieveRunInfo.py
index 112e1b8d5e5..99782418950 100644
--- a/Framework/PythonInterface/plugins/algorithms/RetrieveRunInfo.py
+++ b/Framework/PythonInterface/plugins/algorithms/RetrieveRunInfo.py
@@ -190,7 +190,10 @@ class RetrieveRunInfo(PythonAlgorithm):
     def summary(self):
         return "Given a range of run numbers and an output workspace name, will compile a table of info for "+\
                "each run of the instrument you have set as default."
-
+    
+    def seeAlso(self):
+        return [ "CreateLogPropertyTable" ]
+                 
     def PyInit(self):
         # Declare algorithm properties.
         self.declareProperty(
diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/AddSampleLogMultiple.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/AddSampleLogMultiple.py
index d523aabcc4c..d5a921662a2 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/AddSampleLogMultiple.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/AddSampleLogMultiple.py
@@ -13,6 +13,9 @@ class AddSampleLogMultiple(PythonAlgorithm):
 
     def summary(self):
         return 'Add multiple sample logs to a workspace'
+        
+    def seeAlso(self):
+        return ["AddSampleLog"]
 
     def PyInit(self):
         self.declareProperty(WorkspaceProperty('Workspace', '', direction=Direction.InOut),
diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/CalculateMonteCarloAbsorption.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/CalculateMonteCarloAbsorption.py
index 00bb6453ebd..21418de33fb 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/CalculateMonteCarloAbsorption.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/CalculateMonteCarloAbsorption.py
@@ -50,7 +50,10 @@ class CalculateMonteCarloAbsorption(DataProcessorAlgorithm):
 
     def category(self):
         return "Workflow\\Inelastic;CorrectionFunctions\\AbsorptionCorrections;Workflow\\MIDAS"
-
+        
+    def seeAlso(self):
+        return [ "MonteCarloAbsorption","SimpleShapeMonteCarloAbsorption" ]
+        
     def summary(self):
         return "Calculates indirect absorption corrections for a given sample shape, using a MonteCarlo simulation."
 
diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ISISIndirectDiffractionReduction.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ISISIndirectDiffractionReduction.py
index a80ac5c10bc..e88e1ec78c4 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ISISIndirectDiffractionReduction.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ISISIndirectDiffractionReduction.py
@@ -37,6 +37,9 @@ class ISISIndirectDiffractionReduction(DataProcessorAlgorithm):
 
     def summary(self):
         return 'Performs a diffraction reduction for a set of raw run files for an ISIS indirect spectrometer'
+        
+    def seeAlso(self):
+        return [ "AlignDetectors","DiffractionFocussing","SNSPowderReduction" ]
 
     # ------------------------------------------------------------------------------
 
diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/OSIRISDiffractionReduction.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/OSIRISDiffractionReduction.py
index 3f49c6af191..48295f8ea87 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/OSIRISDiffractionReduction.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/OSIRISDiffractionReduction.py
@@ -479,7 +479,10 @@ class OSIRISDiffractionReduction(PythonAlgorithm):
 
     def category(self):
         return 'Diffraction\\Reduction'
-
+        
+    def seeAlso(self):
+        return [ "ISISIndirectDiffractionReduction" ]
+        
     def summary(self):
         return "This Python algorithm performs the operations necessary for the reduction of diffraction data " + \
                "from the Osiris instrument at ISIS " + \
diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SimpleShapeMonteCarloAbsorption.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SimpleShapeMonteCarloAbsorption.py
index 2abf5198c05..17ed6c478bc 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SimpleShapeMonteCarloAbsorption.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SimpleShapeMonteCarloAbsorption.py
@@ -38,7 +38,10 @@ class SimpleShapeMonteCarloAbsorption(DataProcessorAlgorithm):
 
     def category(self):
         return 'Workflow\\Inelastic;CorrectionFunctions\\AbsorptionCorrections;Workflow\\MIDAS'
-
+        
+    def seeAlso(self):
+        return [ "CalculateMonteCarloAbsorption","MonteCarloAbsorption" ]
+        
     def summary(self):
         return 'Calculates absorption corrections for a given sample shape.'
 
diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/TimeSlice.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/TimeSlice.py
index 441becd9231..18cfb195077 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/TimeSlice.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/TimeSlice.py
@@ -59,6 +59,9 @@ class TimeSlice(PythonAlgorithm):
 
     def summary(self):
         return 'Performa an integration on a raw file over a specified time of flight range'
+    
+    def seeAlso(self):
+        return [ "Integration" ]
 
     def PyInit(self):
         self.declareProperty(StringArrayProperty(name='InputFiles'),
diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/VesuvioDiffractionReduction.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/VesuvioDiffractionReduction.py
index 20bba523daf..d1928b9ec30 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/VesuvioDiffractionReduction.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/VesuvioDiffractionReduction.py
@@ -24,7 +24,10 @@ class VesuvioDiffractionReduction(DataProcessorAlgorithm):
 
     def category(self):
         return 'Diffraction\\Reduction'
-
+        
+    def seeAlso(self):
+        return [ "ISISIndirectDiffractionReduction" ]
+        
     def summary(self):
         return ('Performs diffraction reduction for VESUVIO. This algorithm is deprecated (April-2017).')
 
diff --git a/Framework/SINQ/inc/MantidSINQ/SINQTranspose3D.h b/Framework/SINQ/inc/MantidSINQ/SINQTranspose3D.h
index 52d9b8611a6..d4fab5b88ab 100644
--- a/Framework/SINQ/inc/MantidSINQ/SINQTranspose3D.h
+++ b/Framework/SINQ/inc/MantidSINQ/SINQTranspose3D.h
@@ -52,7 +52,9 @@ public:
   const std::string summary() const override {
     return "SINQ specific MD data reordering";
   }
-
+  const std::vector<std::string> seeAlso() const override {
+    return{ "TransposeMD", "Transpose" };
+  }
   /// Algorithm's version
   int version() const override { return (1); }
   /// Algorithm's category for identification
-- 
GitLab