Skip to content
Snippets Groups Projects
Commit 771ac3cd authored by Beerwerth, Randolf's avatar Beerwerth, Randolf
Browse files

Fix problem with MSVC compilation

parent 4b41d0b2
No related branches found
No related tags found
No related merge requests found
...@@ -18,16 +18,16 @@ ...@@ -18,16 +18,16 @@
#include "Slice.h" #include "Slice.h"
#include "ILayerRTCoefficients.h" #include "ILayerRTCoefficients.h"
class ISpecularStrategy class BA_CORE_API_ ISpecularStrategy
{ {
public: public:
typedef std::unique_ptr<const ILayerRTCoefficients> single_coeff_t; typedef std::unique_ptr<const ILayerRTCoefficients> single_coeff_t;
typedef std::vector<single_coeff_t> coeffs_t; typedef std::vector<single_coeff_t> coeffs_t;
BA_CORE_API_ virtual coeffs_t virtual coeffs_t
Execute(const std::vector<Slice>& slices, const kvector_t& k) const = 0; Execute(const std::vector<Slice>& slices, const kvector_t& k) const = 0;
BA_CORE_API_ virtual coeffs_t virtual coeffs_t
Execute(const std::vector<Slice>& slices, const std::vector<complex_t>& kz) const = 0; Execute(const std::vector<Slice>& slices, const std::vector<complex_t>& kz) const = 0;
}; };
......
...@@ -38,6 +38,9 @@ public: ...@@ -38,6 +38,9 @@ public:
MatrixFresnelMap(); MatrixFresnelMap();
~MatrixFresnelMap() override; ~MatrixFresnelMap() override;
MatrixFresnelMap(const MatrixFresnelMap& other) = delete;
MatrixFresnelMap& operator=(const MatrixFresnelMap& other) = delete;
std::unique_ptr<const ILayerRTCoefficients> std::unique_ptr<const ILayerRTCoefficients>
getOutCoefficients(const SimulationElement& sim_element, getOutCoefficients(const SimulationElement& sim_element,
size_t layer_index) const final override; size_t layer_index) const final override;
......
...@@ -36,6 +36,9 @@ public: ...@@ -36,6 +36,9 @@ public:
ScalarFresnelMap(); ScalarFresnelMap();
~ScalarFresnelMap() final; ~ScalarFresnelMap() final;
ScalarFresnelMap(const ScalarFresnelMap& other) = delete;
ScalarFresnelMap& operator=(const ScalarFresnelMap& other) = delete;
std::unique_ptr<const ILayerRTCoefficients> std::unique_ptr<const ILayerRTCoefficients>
getOutCoefficients(const SimulationElement& sim_element, size_t layer_index) const override; getOutCoefficients(const SimulationElement& sim_element, size_t layer_index) const override;
......
...@@ -27,15 +27,15 @@ class Slice; ...@@ -27,15 +27,15 @@ class Slice;
//! the coherent wave solution in a multilayer with magnetization. //! the coherent wave solution in a multilayer with magnetization.
//! @ingroup algorithms_internal //! @ingroup algorithms_internal
class SpecularMagneticOldStrategy : public ISpecularStrategy class BA_CORE_API_ SpecularMagneticOldStrategy : public ISpecularStrategy
{ {
public: public:
//! Computes refraction angle reflection/transmission coefficients //! Computes refraction angle reflection/transmission coefficients
//! for given sliced multilayer and wavevector k //! for given sliced multilayer and wavevector k
BA_CORE_API_ coeffs_t coeffs_t
Execute(const std::vector<Slice>& slices, const kvector_t& k) const; Execute(const std::vector<Slice>& slices, const kvector_t& k) const;
BA_CORE_API_ coeffs_t coeffs_t
Execute(const std::vector<Slice>& slices, const std::vector<complex_t>& kz) const; Execute(const std::vector<Slice>& slices, const std::vector<complex_t>& kz) const;
}; // class SpecularMagneticOldStrategy }; // class SpecularMagneticOldStrategy
......
...@@ -27,20 +27,20 @@ class Slice; ...@@ -27,20 +27,20 @@ class Slice;
//! coefficients for coherent wave propagation in a multilayer. //! coefficients for coherent wave propagation in a multilayer.
//! @ingroup algorithms_internal //! @ingroup algorithms_internal
class SpecularScalarStrategy : public ISpecularStrategy class BA_CORE_API_ SpecularScalarStrategy : public ISpecularStrategy
{ {
public: public:
//! Computes refraction angles and transmission/reflection coefficients //! Computes refraction angles and transmission/reflection coefficients
//! for given coherent wave propagation in a multilayer. //! for given coherent wave propagation in a multilayer.
//! Roughness is modelled by tanh profile [see e.g. Phys. Rev. B, vol. 47 (8), p. 4385 (1993)]. //! Roughness is modelled by tanh profile [see e.g. Phys. Rev. B, vol. 47 (8), p. 4385 (1993)].
BA_CORE_API_ virtual ISpecularStrategy::coeffs_t Execute(const std::vector<Slice>& slices, virtual ISpecularStrategy::coeffs_t Execute(const std::vector<Slice>& slices,
const kvector_t& k) const override; const kvector_t& k) const override;
//! Computes transmission/reflection coefficients //! Computes transmission/reflection coefficients
//! for given set of z-components of wave-vectors in a multilayer. //! for given set of z-components of wave-vectors in a multilayer.
//! Roughness is modelled by tanh profile [see e.g. Phys. Rev. B, vol. 47 (8), p. 4385 (1993)]. //! Roughness is modelled by tanh profile [see e.g. Phys. Rev. B, vol. 47 (8), p. 4385 (1993)].
BA_CORE_API_ virtual ISpecularStrategy::coeffs_t Execute(const std::vector<Slice>& slices, virtual ISpecularStrategy::coeffs_t Execute(const std::vector<Slice>& slices,
const std::vector<complex_t>& kz) const override; const std::vector<complex_t>& kz) const override;
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment