From 2e9bdf613119b71a7e088cf387f1fd07e5559b24 Mon Sep 17 00:00:00 2001
From: Dmitry Yurov <d.yurov@fz-juelich.de>
Date: Fri, 24 Nov 2017 19:00:35 +0100
Subject: [PATCH] Enable specular simulation functional test

Redmine: #1906
---
 Core/StandardSamples/SampleBuilderFactory.cpp   |   5 +++++
 Core/StandardSamples/SimulationFactory.cpp      |   8 ++++++++
 .../Core/CoreStandardTest/CMakeLists.txt        |   1 +
 .../TestMachinery/StandardTestCatalogue.cpp     |   8 ++++++++
 .../StandardSuite/HomogeneousTiNiSample.int.gz  | Bin 0 -> 17082 bytes
 5 files changed, 22 insertions(+)
 create mode 100644 Tests/ReferenceData/StandardSuite/HomogeneousTiNiSample.int.gz

diff --git a/Core/StandardSamples/SampleBuilderFactory.cpp b/Core/StandardSamples/SampleBuilderFactory.cpp
index 0fa957208cf..8261f9f3544 100644
--- a/Core/StandardSamples/SampleBuilderFactory.cpp
+++ b/Core/StandardSamples/SampleBuilderFactory.cpp
@@ -20,6 +20,7 @@
 #include "CustomMorphologyBuilder.h"
 #include "CylindersAndPrismsBuilder.h"
 #include "CylindersBuilder.h"
+#include "HomogeneousMultilayerBuilder.h"
 #include "LatticeBuilder.h"
 #include "LayersWithAbsorptionBuilder.h"
 #include "MagneticParticlesBuilder.h"
@@ -290,6 +291,10 @@ SampleBuilderFactory::SampleBuilderFactory()
         create_new<ConesWithLimitsDistributionBuilder>,
         "Cones with the distribution applied to the angle and RealLimits defined.");
 
+    registerItem(
+        "HomogeneousMultilayerBuilder",
+        create_new<HomogeneousMultilayerBuilder>,
+        "Alternating homogeneous layers of Ti and Ni on silicone substrate.");
 }
 
 //! Retrieves a SampleBuilder from the registry, does the build, and returns the result.
diff --git a/Core/StandardSamples/SimulationFactory.cpp b/Core/StandardSamples/SimulationFactory.cpp
index 38cedf04fe7..186242a42a3 100644
--- a/Core/StandardSamples/SimulationFactory.cpp
+++ b/Core/StandardSamples/SimulationFactory.cpp
@@ -15,6 +15,7 @@
 
 #include "SimulationFactory.h"
 #include "GISASSimulation.h"
+#include "SpecularSimulation.h"
 #include "RealParameter.h"
 #include "StandardSimulations.h"
 
@@ -122,4 +123,11 @@ SimulationFactory::SimulationFactory()
     registerItem("RectDetWithRoi",
                  StandardSimulations::RectDetWithRoi,
                  "Rectangular detector with ROI and mask");
+
+    // specular simulations
+
+    registerItem("BasicSpecular",
+                 StandardSimulations::BasicSpecular,
+                 "Basic specular simulation with [0, 15] deg incident angle range and "
+                 "1.54 angstroms wavelength.");
 }
diff --git a/Tests/Functional/Core/CoreStandardTest/CMakeLists.txt b/Tests/Functional/Core/CoreStandardTest/CMakeLists.txt
index 5ffab973909..a3380a9a5c1 100644
--- a/Tests/Functional/Core/CoreStandardTest/CMakeLists.txt
+++ b/Tests/Functional/Core/CoreStandardTest/CMakeLists.txt
@@ -59,6 +59,7 @@ set(test_cases
     RotatedPyramidsDistribution
     SpheresWithLimitsDistribution
     ConesWithLimitsDistribution
+    HomogeneousTiNiSample
     )
 
 add_executable(CoreStandardTest main.cpp CoreStandardTest.h CoreStandardTest.cpp)
diff --git a/Tests/Functional/TestMachinery/StandardTestCatalogue.cpp b/Tests/Functional/TestMachinery/StandardTestCatalogue.cpp
index 4e9f99ad32e..89b0b80d5c9 100644
--- a/Tests/Functional/TestMachinery/StandardTestCatalogue.cpp
+++ b/Tests/Functional/TestMachinery/StandardTestCatalogue.cpp
@@ -362,6 +362,14 @@ StandardTestCatalogue::StandardTestCatalogue()
         "MiniGISAS",
         "SlicedCompositionBuilder",
         1e-10);
+
+    // Specular simulations
+
+    add("HomogeneousTiNiSample",
+        "Specular simulation for 10 interchanging Ti-Ni homogeneous layers",
+        "BasicSpecular",
+        "HomogeneousMultilayerBuilder",
+        1e-10);
 }
 
 //! Adds test description to the catalogue.
diff --git a/Tests/ReferenceData/StandardSuite/HomogeneousTiNiSample.int.gz b/Tests/ReferenceData/StandardSuite/HomogeneousTiNiSample.int.gz
new file mode 100644
index 0000000000000000000000000000000000000000..feaf3f618e84a5603bd049e52e6d39e83c7077a6
GIT binary patch
literal 17082
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

literal 0
HcmV?d00001

-- 
GitLab