From d979dd8ed0385d2459f1b7119fb316d332f9f2ab Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (l)" <j.wuttke@fz-juelich.de> Date: Thu, 14 Jul 2016 20:54:05 +0200 Subject: [PATCH] corr, only now it builds --- Core/Algorithms/SpecularSimulation.cpp | 3 ++ Core/Algorithms/SpecularSimulation.h | 43 +++++++++++--------------- 2 files changed, 21 insertions(+), 25 deletions(-) diff --git a/Core/Algorithms/SpecularSimulation.cpp b/Core/Algorithms/SpecularSimulation.cpp index c1b4aae9eda..a6ad12d0a69 100644 --- a/Core/Algorithms/SpecularSimulation.cpp +++ b/Core/Algorithms/SpecularSimulation.cpp @@ -13,7 +13,10 @@ // // ************************************************************************** // +#include "ISample.h" +#include "SpecularMatrix.h" #include "SpecularSimulation.h" +#include <memory> SpecularSimulation::SpecularSimulation() : IParameterized("SpecularSimulation"), m_sample(0), m_alpha_i_axis(0), m_z_axis(0), diff --git a/Core/Algorithms/SpecularSimulation.h b/Core/Algorithms/SpecularSimulation.h index 8d7c583f955..66e5ea8e274 100644 --- a/Core/Algorithms/SpecularSimulation.h +++ b/Core/Algorithms/SpecularSimulation.h @@ -16,12 +16,8 @@ #ifndef SPECULARSIMULATION_H #define SPECULARSIMULATION_H -//#include "MultiLayerRTCoefficients.h" - -#ifndef SWIG -#endif - - +#include "ICloneable.h" +#include "IParameterized.h" //! @class SpecularSimulation //! @ingroup simulation @@ -30,24 +26,24 @@ class BA_CORE_API_ SpecularSimulation : public ICloneable, public IParameterized { public: - typedef std::shared_ptr<const ILayerRTCoefficients> LayerRTCoefficients_t; + typedef std::shared_ptr<const ILayerRTCoefficients> LayerRTCoefficients_t; typedef std::vector<LayerRTCoefficients_t> MultiLayerRTCoefficients_t; SpecularSimulation(); - SpecularSimulation(const ISample& sample); + SpecularSimulation(const class ISample& sample); SpecularSimulation(std::shared_ptr<class ISampleBuilder> sample_builder); virtual ~SpecularSimulation(); - SpecularSimulation *clone() const; + SpecularSimulation* clone() const; //! Run a simulation with the current parameter settings void runSimulation(); //! Sets the sample to be tested - void setSample(const ISample& sample); + void setSample(const class ISample& sample); //! Returns the sample - ISample *getSample() const; + ISample* getSample() const; //! Sets the sample builder void setSampleBuilder(std::shared_ptr<class ISampleBuilder> sample_builder); @@ -56,24 +52,24 @@ public: std::shared_ptr<class ISampleBuilder> getSampleBuilder() const; //! Sets beam parameters with alpha_i of the beam defined in the range - void setBeamParameters(double lambda, const IAxis &alpha_axis); + void setBeamParameters(double lambda, const class IAxis &alpha_axis); void setBeamParameters(double lambda, int nbins, double alpha_i_min, double alpha_i_max); //! set axis for evanescent wave axis - void setEvanescentWaveAxis(const IAxis &z_axis); + void setEvanescentWaveAxis(const class IAxis &z_axis); void setEvanescentWaveAxis(int nbins, double z_min, double z_max); //! returns alpha_i axis - const IAxis *getAlphaAxis() const; + const class IAxis* getAlphaAxis() const; //! returns vector of reflection coefficients for all alpha_i angles for given layer index - std::vector<complex_t > getScalarR(size_t i_layer) const; + std::vector<complex_t> getScalarR(size_t i_layer) const; //! returns vector of transmission coefficients for all alpha_i angles for given layer index - std::vector<complex_t > getScalarT(size_t i_layer) const; + std::vector<complex_t> getScalarT(size_t i_layer) const; //! returns vector of Kz coefficients for all alpha_i angles for given layer index - std::vector<complex_t > getScalarKz(size_t i_layer) const; + std::vector<complex_t> getScalarKz(size_t i_layer) const; LayerRTCoefficients_t getLayerRTCoefficients(size_t i_alpha, size_t i_layer) const; @@ -92,10 +88,10 @@ protected: void updateSample(); //! calculates RT coefficients for multilayer without magnetic materials - void collectRTCoefficientsScalar(const MultiLayer *multilayer); + void collectRTCoefficientsScalar(const class MultiLayer* multilayer); //! calculates RT coefficients for multilayer with magnetic materials - void collectRTCoefficientsMatrix(const MultiLayer *multilayer); + void collectRTCoefficientsMatrix(const class MultiLayer* multilayer); //! calculates the intensity of evanescent wave // void calculateEvanescentWaveIntensity(); @@ -106,19 +102,16 @@ protected: //! update data axes void updateCoefficientDataAxes(); - ISample *m_sample; + class ISample* m_sample; std::shared_ptr<class ISampleBuilder> m_sample_builder; - IAxis *m_alpha_i_axis; - IAxis *m_z_axis; + class IAxis* m_alpha_i_axis; + class IAxis* m_z_axis; double m_lambda; #ifndef SWIG -// OutputData<SpecularMatrix::MultiLayerCoeff_t> *m_scalar_data; - OutputData<MultiLayerRTCoefficients_t> m_data; OutputData<double> m_ewave_intensity; #endif }; - #endif // SPECULARSIMULATION_H -- GitLab