diff --git a/Core/FormFactors/inc/FormFactorBox.h b/Core/FormFactors/inc/FormFactorBox.h index 4e73b14e7d38aa14c6600c5c13c9f7ab6510f4c4..adeb14d495cf3655c2c98b939eb0a48b1ed5fb13 100644 --- a/Core/FormFactors/inc/FormFactorBox.h +++ b/Core/FormFactors/inc/FormFactorBox.h @@ -32,8 +32,6 @@ public: init_parameters(); } - - virtual ~FormFactorBox() {} FormFactorBox *clone() const; diff --git a/Core/FormFactors/inc/FormFactorDWBA.h b/Core/FormFactors/inc/FormFactorDWBA.h index 6a449b752545dd1fdeba736fc219c09a838ce877..da38d801e095884da37d70203bc7c6571721dd12 100644 --- a/Core/FormFactors/inc/FormFactorDWBA.h +++ b/Core/FormFactors/inc/FormFactorDWBA.h @@ -29,6 +29,8 @@ public: virtual FormFactorDWBA *clone() const; + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } + //! Sets reflection/transmission info for scalar DWBA simulation void setSpecularInfo(const LayerSpecularInfo& layer_specular_info); diff --git a/Core/FormFactors/inc/FormFactorDWBAConstZ.h b/Core/FormFactors/inc/FormFactorDWBAConstZ.h index 1bc2fc0c4303f043d20292996d85938f0b2e704d..b3668429825c5b8637a6f86e6489f8df2109f575 100644 --- a/Core/FormFactors/inc/FormFactorDWBAConstZ.h +++ b/Core/FormFactors/inc/FormFactorDWBAConstZ.h @@ -26,6 +26,7 @@ public: FormFactorDWBAConstZ(IFormFactor* p_form_factor, double depth=0.0); virtual ~FormFactorDWBAConstZ() {} virtual FormFactorDWBAConstZ *clone() const; + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } virtual complex_t evaluate(const cvector_t& k_i, const Bin1DCVector& k_f_bin, Bin1D alpha_f_bin) const; diff --git a/Core/FormFactors/inc/FormFactorDWBAPol.h b/Core/FormFactors/inc/FormFactorDWBAPol.h index dc1fcefbe9c9ddf4f7504795549da8c4b6df9f10..2d7088c077558c039f952acc80f67bb4a8c0cc63 100644 --- a/Core/FormFactors/inc/FormFactorDWBAPol.h +++ b/Core/FormFactors/inc/FormFactorDWBAPol.h @@ -29,6 +29,9 @@ public: virtual FormFactorDWBAPol *clone() const; + //! calls the ISampleVisitor's visit method + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } + //! Throws exception virtual complex_t evaluate(const cvector_t& k_i, const Bin1DCVector& k_f_bin, Bin1D alpha_f) const; diff --git a/Core/FormFactors/inc/FormFactorDWBAPolConstZ.h b/Core/FormFactors/inc/FormFactorDWBAPolConstZ.h index 2ab38e06656767eed9ac101d72994afb29ce8789..dbed3d4002af355d7dc8c19ceb4ada6a8d977abc 100644 --- a/Core/FormFactors/inc/FormFactorDWBAPolConstZ.h +++ b/Core/FormFactors/inc/FormFactorDWBAPolConstZ.h @@ -28,6 +28,9 @@ public: virtual FormFactorDWBAPolConstZ *clone() const; + //! calls the ISampleVisitor's visit method + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } + //! Calculates and returns a polarized form factor calculation in DWBA virtual Eigen::Matrix2cd evaluatePol(const cvector_t& k_i, const Bin1DCVector& k_f_bin, Bin1D alpha_f, Bin1D phi_f) const; diff --git a/Core/FormFactors/inc/FormFactorDecoratorDebyeWaller.h b/Core/FormFactors/inc/FormFactorDecoratorDebyeWaller.h index 74de998fa53f87b66bdb80c30ded7d6a9ba7b2de..6b90520e08ebeaace1c7984868167aeb132d70fe 100644 --- a/Core/FormFactors/inc/FormFactorDecoratorDebyeWaller.h +++ b/Core/FormFactors/inc/FormFactorDecoratorDebyeWaller.h @@ -39,6 +39,8 @@ public: virtual FormFactorDecoratorDebyeWaller *clone() const; + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } + virtual complex_t evaluate(const cvector_t& k_i, const Bin1DCVector& k_f_bin, Bin1D alpha_f_bin) const; diff --git a/Core/FormFactors/inc/FormFactorDecoratorFactor.h b/Core/FormFactors/inc/FormFactorDecoratorFactor.h index 59c44a8aff6dd147be7811f16143a52d67ebefdb..a8a7de62dc2bf84cdfc10683320c90539ba6bc71 100644 --- a/Core/FormFactors/inc/FormFactorDecoratorFactor.h +++ b/Core/FormFactors/inc/FormFactorDecoratorFactor.h @@ -24,8 +24,9 @@ class BA_CORE_API_ FormFactorDecoratorFactor : public IFormFactorDecorator { public: FormFactorDecoratorFactor(IFormFactor *p_form_factor, const complex_t& factor); - virtual FormFactorDecoratorFactor *clone() const; virtual ~FormFactorDecoratorFactor() {} + virtual FormFactorDecoratorFactor *clone() const; + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } //! Evaluate the form factor for scalar calculations virtual complex_t evaluate(const cvector_t& k_i, diff --git a/Core/FormFactors/inc/FormFactorDecoratorMaterial.h b/Core/FormFactors/inc/FormFactorDecoratorMaterial.h index db3cd3e3e85e9ab31a2307d18385cd9084cc0b77..661e58bd60ec52374f3b981e90b25b8b2a878d3b 100644 --- a/Core/FormFactors/inc/FormFactorDecoratorMaterial.h +++ b/Core/FormFactors/inc/FormFactorDecoratorMaterial.h @@ -32,6 +32,8 @@ public: virtual FormFactorDecoratorMaterial *clone() const; + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } + //! Sets the material of the scatterer virtual void setMaterial(const IMaterial *p_material); diff --git a/Core/FormFactors/inc/FormFactorDecoratorMultiPositionFactor.h b/Core/FormFactors/inc/FormFactorDecoratorMultiPositionFactor.h index 8131b5aa5b4b3c778c71c6656d193d52e36abe4e..86c82322e38fd682fff45f55af3bf16472e6d0b8 100644 --- a/Core/FormFactors/inc/FormFactorDecoratorMultiPositionFactor.h +++ b/Core/FormFactors/inc/FormFactorDecoratorMultiPositionFactor.h @@ -28,6 +28,8 @@ public: virtual ~FormFactorDecoratorMultiPositionFactor() {} virtual FormFactorDecoratorMultiPositionFactor *clone() const; + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } + virtual complex_t evaluate(const cvector_t& k_i, const Bin1DCVector& k_f_bin, Bin1D alpha_f_bin) const; diff --git a/Core/FormFactors/inc/FormFactorDecoratorPositionFactor.h b/Core/FormFactors/inc/FormFactorDecoratorPositionFactor.h index 00063b69e1587cfb72caa9906557c9573f9dda5a..1db9e93abb17d36f8c0d70e2d63e7493eeb40f02 100644 --- a/Core/FormFactors/inc/FormFactorDecoratorPositionFactor.h +++ b/Core/FormFactors/inc/FormFactorDecoratorPositionFactor.h @@ -28,6 +28,7 @@ public: kvector_t position); virtual ~FormFactorDecoratorPositionFactor() {} virtual FormFactorDecoratorPositionFactor *clone() const; + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } virtual complex_t evaluate(const cvector_t& k_i, const Bin1DCVector& k_f_bin, Bin1D alpha_f_bin) const; diff --git a/Core/FormFactors/inc/FormFactorDecoratorTransformation.h b/Core/FormFactors/inc/FormFactorDecoratorTransformation.h index cd1a3f3a6ae7abc5657cd5f45097aedf0e98d7e6..23b8e6bbdeba09c5f315f46b579252274e103f74 100644 --- a/Core/FormFactors/inc/FormFactorDecoratorTransformation.h +++ b/Core/FormFactors/inc/FormFactorDecoratorTransformation.h @@ -40,6 +40,7 @@ public: virtual ~FormFactorDecoratorTransformation() {} virtual FormFactorDecoratorTransformation *clone() const; + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } virtual complex_t evaluate(const cvector_t& k_i, const Bin1DCVector& k_f_bin, Bin1D alpha_f_bin) const; diff --git a/Core/FormFactors/inc/FormFactorWeighted.h b/Core/FormFactors/inc/FormFactorWeighted.h index 97f97161478bb8170b57b5eafb51521a1ef74a8c..3512abc9e426188eb9fde173b0f26c7667670c27 100644 --- a/Core/FormFactors/inc/FormFactorWeighted.h +++ b/Core/FormFactors/inc/FormFactorWeighted.h @@ -28,6 +28,9 @@ public: virtual ~FormFactorWeighted(); virtual FormFactorWeighted *clone() const; + //! calls the ISampleVisitor's visit method + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } + void addFormFactor(const IFormFactor& form_factor, double weight=1.0); virtual void setAmbientMaterial(const IMaterial *p_material); diff --git a/Core/FormFactors/inc/IFormFactorBorn.h b/Core/FormFactors/inc/IFormFactorBorn.h index c1fcd0518bfed5f1f5992d720a7764eb185fd3a5..6223cf41798a472e3861ed23cfbd24d1d017e1dd 100644 --- a/Core/FormFactors/inc/IFormFactorBorn.h +++ b/Core/FormFactors/inc/IFormFactorBorn.h @@ -27,9 +27,7 @@ public: virtual ~IFormFactorBorn() {} virtual IFormFactorBorn *clone() const=0; - virtual void accept(ISampleVisitor *visitor) const { - visitor->visit(this); - } + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } virtual complex_t evaluate(const cvector_t& k_i, const Bin1DCVector& k_f_bin, Bin1D alpha_f_bin) const; diff --git a/Core/FormFactors/inc/IFormFactorDecorator.h b/Core/FormFactors/inc/IFormFactorDecorator.h index f5984f5761fd33991b099b39eaa88c253271df29..e560c04da0579f76cf0dbff880073196e22a5d80 100644 --- a/Core/FormFactors/inc/IFormFactorDecorator.h +++ b/Core/FormFactors/inc/IFormFactorDecorator.h @@ -28,6 +28,7 @@ public: : mp_form_factor(p_form_factor) {} virtual ~IFormFactorDecorator(); virtual IFormFactorDecorator *clone() const=0; + virtual void accept(ISampleVisitor *visitor) const = 0; virtual void setAmbientMaterial(const IMaterial *p_material); diff --git a/Core/Samples/inc/DiffuseParticleInfo.h b/Core/Samples/inc/DiffuseParticleInfo.h index de08661b78cd761701606e977b8f67d269b53ff1..e3aaca19c65f4911fd1ebd59c84e09dc0ffbafaa 100644 --- a/Core/Samples/inc/DiffuseParticleInfo.h +++ b/Core/Samples/inc/DiffuseParticleInfo.h @@ -33,7 +33,7 @@ public: virtual ~DiffuseParticleInfo() {} //! Calls the ISampleVisitor's visit method - virtual void accept(ISampleVisitor *p_visitor) const { p_visitor->visit(this); } + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } //! scale abundance void scaleAbundance(double factor) { m_abundance *= factor; } diff --git a/Core/Samples/inc/IInterferenceFunction.h b/Core/Samples/inc/IInterferenceFunction.h index abf94eafd820264a986c1089ad165060fa4a1cfa..34c8a87f31a5ddaadf527bd2c52e39c52dc2566a 100644 --- a/Core/Samples/inc/IInterferenceFunction.h +++ b/Core/Samples/inc/IInterferenceFunction.h @@ -32,7 +32,7 @@ public: virtual IInterferenceFunction *clone() const=0; //! Calls the ISampleVisitor's visit method - virtual void accept(ISampleVisitor *p_visitor) const { p_visitor->visit(this); } + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } //! Retrieves the size-distance coupling constant (default 0.0) virtual double getKappa() const { return 0.0; } diff --git a/Core/Samples/inc/IRoughness.h b/Core/Samples/inc/IRoughness.h index 8fde31aa6a9eea770ca8d382a1cfd335078965fb..16f437744bc1b5852f48c0a7cd102c3f84755443 100644 --- a/Core/Samples/inc/IRoughness.h +++ b/Core/Samples/inc/IRoughness.h @@ -25,12 +25,7 @@ class BA_CORE_API_ IRoughness : public ISample public: IRoughness() {} virtual ~IRoughness() {} -// virtual IRoughness *clone() const -// { -// throw NotImplementedException( -// "IRoughness::clone() -> Error! Not implemented."); -// } - + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } }; #endif // IROUGHNESS_H diff --git a/Core/Samples/inc/InterferenceFunctionNone.h b/Core/Samples/inc/InterferenceFunctionNone.h index 6b1d2a7f8d32d6d422388dc10d53fb6b20cc10d7..0c3b5c271db0b2718e0aee30eae21dee63d00050 100644 --- a/Core/Samples/inc/InterferenceFunctionNone.h +++ b/Core/Samples/inc/InterferenceFunctionNone.h @@ -27,6 +27,7 @@ public: virtual ~InterferenceFunctionNone() {} virtual InterferenceFunctionNone *clone() const { return new InterferenceFunctionNone(); } + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } virtual double evaluate(const cvector_t& q) const { (void)q; return 1.0; } }; diff --git a/Core/Samples/inc/LayerRoughness.h b/Core/Samples/inc/LayerRoughness.h index 5927e52db7b6635ecf0c5e484036759830bd49bf..27705d0c3125347af9621009a6f5796c5ae8bcff 100644 --- a/Core/Samples/inc/LayerRoughness.h +++ b/Core/Samples/inc/LayerRoughness.h @@ -36,7 +36,7 @@ public: LayerRoughness *clone() const; //! Calls the ISampleVisitor's visit method - virtual void accept(ISampleVisitor *p_visitor) const { p_visitor->visit(this); } + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } //! Returns power spectral density of the surface roughness double getSpectralFun(const kvector_t& kvec) const; diff --git a/Core/Samples/inc/PositionParticleInfo.h b/Core/Samples/inc/PositionParticleInfo.h index 24822bebd2fc2032fd6e5dc84dce7724ddc97da5..b82d60cca8972d762c7d49abdafc7630aebe316f 100644 --- a/Core/Samples/inc/PositionParticleInfo.h +++ b/Core/Samples/inc/PositionParticleInfo.h @@ -37,7 +37,7 @@ public: virtual PositionParticleInfo *clone() const; //! Calls the ISampleVisitor's visit method - virtual void accept(ISampleVisitor *p_visitor) const { p_visitor->visit(this); } + virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } //! Returns particle. const Particle *getParticle() const { return mp_particle; }