From 138762cea68cc144e9da8b1a3fd7132586d72dc0 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Fri, 14 Aug 2020 07:54:21 +0200 Subject: [PATCH] splitters in multi-class files --- Core/Correlations/FTDistributions1D.cpp | 28 +++++++++++++++++++++++++ Core/Correlations/FTDistributions1D.h | 7 +++++++ Core/Correlations/FTDistributions2D.cpp | 27 ++++++++++++++++++++---- Core/Correlations/FTDistributions2D.h | 6 ++++++ 4 files changed, 64 insertions(+), 4 deletions(-) diff --git a/Core/Correlations/FTDistributions1D.cpp b/Core/Correlations/FTDistributions1D.cpp index ff748bdef09..912eb0bbcd6 100644 --- a/Core/Correlations/FTDistributions1D.cpp +++ b/Core/Correlations/FTDistributions1D.cpp @@ -25,6 +25,10 @@ namespace const double CosineDistributionFactor = 1.0 / 3.0 - 2.0 / M_PI / M_PI; } +// ************************************************************************** // +// interface IFTDistribution1D +// ************************************************************************** // + IFTDistribution1D::IFTDistribution1D(double omega) : m_omega(omega) { registerParameter("Omega", &m_omega); @@ -35,6 +39,10 @@ IFTDistribution1D::IFTDistribution1D(const NodeMeta& meta, const std::vector<dou { } +// ************************************************************************** // +// class FTDistribution1DCauchy +// ************************************************************************** // + FTDistribution1DCauchy::FTDistribution1DCauchy(double omega) : IFTDistribution1D(omega) { setName("FTDistribution1DCauchy"); @@ -61,6 +69,10 @@ std::unique_ptr<IDistribution1DSampler> FTDistribution1DCauchy::createSampler() return std::make_unique<Distribution1DCauchySampler>(1 / m_omega); } +// ************************************************************************** // +// class FTDistribution1DGauss +// ************************************************************************** // + FTDistribution1DGauss::FTDistribution1DGauss(double omega) : IFTDistribution1D(omega) { setName("FTDistribution1DGauss"); @@ -87,6 +99,10 @@ std::unique_ptr<IDistribution1DSampler> FTDistribution1DGauss::createSampler() c return std::make_unique<Distribution1DGaussSampler>(0.0, m_omega); } +// ************************************************************************** // +// class FTDistribution1DGate +// ************************************************************************** // + FTDistribution1DGate::FTDistribution1DGate(double omega) : IFTDistribution1D(omega) { setName("FTDistribution1DGate"); @@ -112,6 +128,10 @@ std::unique_ptr<IDistribution1DSampler> FTDistribution1DGate::createSampler() co return std::make_unique<Distribution1DGateSampler>(-m_omega, m_omega); } +// ************************************************************************** // +// class FTDistribution1DTriangle +// ************************************************************************** // + FTDistribution1DTriangle::FTDistribution1DTriangle(double omega) : IFTDistribution1D(omega) { setName("FTDistribution1DTriangle"); @@ -138,6 +158,10 @@ std::unique_ptr<IDistribution1DSampler> FTDistribution1DTriangle::createSampler( return std::make_unique<Distribution1DTriangleSampler>(m_omega); } +// ************************************************************************** // +// class FTDistribution1DCosine +// ************************************************************************** // + FTDistribution1DCosine::FTDistribution1DCosine(double omega) : IFTDistribution1D(omega) { setName("FTDistribution1DCosine"); @@ -166,6 +190,10 @@ std::unique_ptr<IDistribution1DSampler> FTDistribution1DCosine::createSampler() return std::make_unique<Distribution1DCosineSampler>(m_omega); } +// ************************************************************************** // +// class FTDistribution1DVoigt +// ************************************************************************** // + FTDistribution1DVoigt::FTDistribution1DVoigt(double omega, double eta) : IFTDistribution1D(omega), m_eta(eta) { diff --git a/Core/Correlations/FTDistributions1D.h b/Core/Correlations/FTDistributions1D.h index 479eba9cabf..5b1f2ad3367 100644 --- a/Core/Correlations/FTDistributions1D.h +++ b/Core/Correlations/FTDistributions1D.h @@ -19,6 +19,7 @@ #include "Core/Correlations/IDistribution1DSampler.h" #include "Core/Parametrization/INode.h" + //! Interface for a one-dimensional distribution, with normalization adjusted so that //! the Fourier transform evaluate(q) is a decay function that starts at evaluate(0)=1. //! @ingroup distribution_internal @@ -51,6 +52,7 @@ protected: double m_omega; }; + //! Exponential IFTDistribution1D exp(-|omega*x|); //! its Fourier transform evaluate(q) is a Cauchy-Lorentzian starting at evaluate(0)=1. //! @ingroup distributionFT @@ -70,6 +72,7 @@ public: #endif }; + //! Gaussian IFTDistribution1D; //! its Fourier transform evaluate(q) is a Gaussian starting at evaluate(0)=1. //! @ingroup distributionFT @@ -89,6 +92,7 @@ public: #endif }; + //! Square gate IFTDistribution1D; //! its Fourier transform evaluate(q) is a sinc function starting at evaluate(0)=1. //! @ingroup distributionFT @@ -108,6 +112,7 @@ public: #endif }; + //! Triangle IFTDistribution1D [1-|x|/omega if |x|<omega, and 0 otherwise]; //! its Fourier transform evaluate(q) is a squared sinc function starting at evaluate(0)=1. //! @ingroup distributionFT @@ -127,6 +132,7 @@ public: #endif }; + //! IFTDistribution1D consisting of one cosine wave //! [1+cos(pi*x/omega) if |x|<omega, and 0 otherwise]; //! its Fourier transform evaluate(q) starts at evaluate(0)=1. @@ -147,6 +153,7 @@ public: #endif }; + //! IFTDistribution1D that provides a Fourier transform evaluate(q) in form //! of a pseudo-Voigt decay function eta*Gauss + (1-eta)*Cauchy, with both components //! starting at 1 for q=0. diff --git a/Core/Correlations/FTDistributions2D.cpp b/Core/Correlations/FTDistributions2D.cpp index 9461e81bab9..1d38f370fa3 100644 --- a/Core/Correlations/FTDistributions2D.cpp +++ b/Core/Correlations/FTDistributions2D.cpp @@ -23,10 +23,9 @@ using algo::concat; -//! Constructor of two-dimensional probability distribution. -//! @param omega_x: half-width of the distribution along its x-axis in nanometers -//! @param omega_y: half-width of the distribution along its y-axis in nanometers -//! @param gamma: angle in direct space between first lattice vector and x-axis of the distribution +// ************************************************************************** // +// interface IFTDistribution1D +// ************************************************************************** // IFTDistribution2D::IFTDistribution2D(double omega_x, double omega_y, double gamma) : m_omega_x(omega_x), m_omega_y(omega_y), m_gamma(gamma) @@ -52,6 +51,10 @@ double IFTDistribution2D::sumsq(double qx, double qy) const return qx * qx * m_omega_x * m_omega_x + qy * qy * m_omega_y * m_omega_y; } +// ************************************************************************** // +// class FTDistribution2DCauchy +// ************************************************************************** // + FTDistribution2DCauchy::FTDistribution2DCauchy(double omega_x, double omega_y, double gamma) : IFTDistribution2D(omega_x, omega_y, gamma) { @@ -73,6 +76,10 @@ std::unique_ptr<IDistribution2DSampler> FTDistribution2DCauchy::createSampler() return std::make_unique<Distribution2DCauchySampler>(m_omega_x, m_omega_y); } +// ************************************************************************** // +// class FTDistribution2DGauss +// ************************************************************************** // + FTDistribution2DGauss::FTDistribution2DGauss(double omega_x, double omega_y, double gamma) : IFTDistribution2D(omega_x, omega_y, gamma) { @@ -94,6 +101,10 @@ std::unique_ptr<IDistribution2DSampler> FTDistribution2DGauss::createSampler() c return std::make_unique<Distribution2DGaussSampler>(m_omega_x, m_omega_y); } +// ************************************************************************** // +// class FTDistribution2DGate +// ************************************************************************** // + FTDistribution2DGate::FTDistribution2DGate(double omega_x, double omega_y, double gamma) : IFTDistribution2D(omega_x, omega_y, gamma) { @@ -116,6 +127,10 @@ std::unique_ptr<IDistribution2DSampler> FTDistribution2DGate::createSampler() co return std::make_unique<Distribution2DGateSampler>(m_omega_x, m_omega_y); } +// ************************************************************************** // +// class FTDistribution2DCone +// ************************************************************************** // + FTDistribution2DCone::FTDistribution2DCone(double omega_x, double omega_y, double gamma) : IFTDistribution2D(omega_x, omega_y, gamma) { @@ -143,6 +158,10 @@ std::unique_ptr<IDistribution2DSampler> FTDistribution2DCone::createSampler() co return std::make_unique<Distribution2DConeSampler>(m_omega_x, m_omega_y); } +// ************************************************************************** // +// class FTDistribution2DVoigt +// ************************************************************************** // + //! Constructor of two-dimensional pseudo-Voigt probability distribution. //! @param omega_x: half-width of the distribution along its x-axis in nanometers //! @param omega_y: half-width of the distribution along its y-axis in nanometers diff --git a/Core/Correlations/FTDistributions2D.h b/Core/Correlations/FTDistributions2D.h index a284f2f813f..c640accb8c8 100644 --- a/Core/Correlations/FTDistributions2D.h +++ b/Core/Correlations/FTDistributions2D.h @@ -21,6 +21,7 @@ #include "Core/Parametrization/INode.h" #include "Core/Tools/Integrator.h" + //! Interface for two-dimensional distributions in Fourier space. //! @ingroup distribution_internal @@ -59,6 +60,7 @@ protected: double m_gamma; }; + //! Two-dimensional Cauchy distribution in Fourier space; //! corresponds to a normalized exp(-r) in real space, //! with \f$r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}\f$. @@ -77,6 +79,7 @@ public: #endif }; + //! Two-dimensional Gauss distribution in Fourier space; //! corresponds to normalized exp(-r^2/2) in real space //! with \f$r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}\f$. @@ -95,6 +98,7 @@ public: #endif }; + //! Two-dimensional gate distribution in Fourier space; //! corresponds to normalized constant if r<1 (and 0 otherwise) in real space, //! with \f$r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}\f$. @@ -113,6 +117,7 @@ public: #endif }; + //! Two-dimensional cone distribution in Fourier space; //! corresponds to 1-r if r<1 (and 0 otherwise) in real space //! with \f$r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}\f$. @@ -134,6 +139,7 @@ private: mutable RealIntegrator m_integrator; }; + //! Two-dimensional Voigt distribution in Fourier space; //! corresponds to eta*Gauss + (1-eta)*Cauchy //! @ingroup distributionFT -- GitLab