From 39b4cff181e54bcc3a3c0984cf0dd79c79ec3aa0 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (l)" <j.wuttke@fz-juelich.de> Date: Sat, 26 Sep 2020 15:03:20 +0200 Subject: [PATCH] Core/StandardSamples/MagneticLayersBuilder: simplify --- .../StandardSamples/MagneticLayersBuilder.cpp | 23 +++++++------------ Core/StandardSamples/MagneticLayersBuilder.h | 12 +--------- 2 files changed, 9 insertions(+), 26 deletions(-) diff --git a/Core/StandardSamples/MagneticLayersBuilder.cpp b/Core/StandardSamples/MagneticLayersBuilder.cpp index a65c0b84f54..ccd5f61fa0f 100644 --- a/Core/StandardSamples/MagneticLayersBuilder.cpp +++ b/Core/StandardSamples/MagneticLayersBuilder.cpp @@ -25,10 +25,11 @@ #include "Core/Parametrization/RealParameter.h" #include "Core/Particle/Particle.h" -MagneticSubstrateZeroFieldBuilder::MagneticSubstrateZeroFieldBuilder() - : m_sphere_radius(5 * Units::nanometer) -{ -} +namespace { + +const double sphere_radius = 5 * Units::nanometer; + +} // namespace MultiLayer* MagneticSubstrateZeroFieldBuilder::buildSample() const { @@ -42,7 +43,7 @@ MultiLayer* MagneticSubstrateZeroFieldBuilder::buildSample() const ParticleLayout particle_layout; kvector_t position(0.0, 0.0, -10.0 * Units::nanometer); - FormFactorFullSphere ff_sphere(m_sphere_radius); + FormFactorFullSphere ff_sphere(sphere_radius); Particle particle(particle_material, ff_sphere); particle_layout.addParticle(particle, 1.0, position); @@ -55,8 +56,6 @@ MultiLayer* MagneticSubstrateZeroFieldBuilder::buildSample() const return multi_layer; } -SimpleMagneticLayerBuilder::SimpleMagneticLayerBuilder() = default; - MultiLayer* SimpleMagneticLayerBuilder::buildSample() const { MultiLayer* multi_layer = new MultiLayer(); @@ -76,8 +75,6 @@ MultiLayer* SimpleMagneticLayerBuilder::buildSample() const return multi_layer; } -MagneticLayerBuilder::MagneticLayerBuilder() : m_sphere_radius(5 * Units::nanometer) {} - MultiLayer* MagneticLayerBuilder::buildSample() const { MultiLayer* multi_layer = new MultiLayer(); @@ -90,7 +87,7 @@ MultiLayer* MagneticLayerBuilder::buildSample() const Material particle_material = HomogeneousMaterial("MagParticle", 6e-4, 2e-8, particle_field); ParticleLayout particle_layout; - FormFactorFullSphere ff_sphere(m_sphere_radius); + FormFactorFullSphere ff_sphere(sphere_radius); Particle particle(particle_material, ff_sphere); particle_layout.addParticle(particle, 1.0); @@ -105,8 +102,6 @@ MultiLayer* MagneticLayerBuilder::buildSample() const return multi_layer; } -SimpleMagneticRotationBuilder::SimpleMagneticRotationBuilder() = default; - MultiLayer* SimpleMagneticRotationBuilder::buildSample() const { return builder(); @@ -161,8 +156,6 @@ MultiLayer* SimpleMagneticRotationBuilder::createSampleByIndex(size_t index) } } -MagneticRotationBuilder::MagneticRotationBuilder() : m_sphere_radius(5 * Units::nanometer) {} - MultiLayer* MagneticRotationBuilder::buildSample() const { MultiLayer* multi_layer = new MultiLayer(); @@ -175,7 +168,7 @@ MultiLayer* MagneticRotationBuilder::buildSample() const ParticleLayout particle_layout; kvector_t position(0.0, 0.0, -10.0 * Units::nanometer); - FormFactorFullSphere ff_sphere(m_sphere_radius); + FormFactorFullSphere ff_sphere(sphere_radius); Particle particle(particle_material, ff_sphere); RotationZ rot_z(90 * Units::deg); particle_layout.addParticle(particle, 1.0, position, rot_z); diff --git a/Core/StandardSamples/MagneticLayersBuilder.h b/Core/StandardSamples/MagneticLayersBuilder.h index ea281369e60..906bd254070 100644 --- a/Core/StandardSamples/MagneticLayersBuilder.h +++ b/Core/StandardSamples/MagneticLayersBuilder.h @@ -18,15 +18,12 @@ #include "Core/Multilayer/RoughnessModels.h" #include "Core/SampleBuilderEngine/ISampleBuilder.h" -class ISample; - //! Builds sample: spheres in substrate layer with a zero magnetic field. //! @ingroup standard_samples class MagneticSubstrateZeroFieldBuilder : public ISampleBuilder { public: - MagneticSubstrateZeroFieldBuilder(); MultiLayer* buildSample() const; private: @@ -39,7 +36,6 @@ private: class SimpleMagneticLayerBuilder : public ISampleBuilder { public: - SimpleMagneticLayerBuilder(); MultiLayer* buildSample() const; }; @@ -49,7 +45,6 @@ public: class MagneticLayerBuilder : public ISampleBuilder { public: - MagneticLayerBuilder(); MultiLayer* buildSample() const; private: @@ -62,13 +57,12 @@ private: class SimpleMagneticRotationBuilder : public ISampleBuilder { public: - SimpleMagneticRotationBuilder(); MultiLayer* buildSample() const override; MultiLayer* createSampleByIndex(size_t index) override; size_t size() override; -protected: +private: MultiLayer* builder(double sigmaRoughness = 0., RoughnessModel roughnessModel = RoughnessModel::TANH) const; }; @@ -79,11 +73,7 @@ protected: class MagneticRotationBuilder : public ISampleBuilder { public: - MagneticRotationBuilder(); MultiLayer* buildSample() const; - -private: - double m_sphere_radius; }; #endif // BORNAGAIN_CORE_STANDARDSAMPLES_MAGNETICLAYERSBUILDER_H -- GitLab