Skip to content
Snippets Groups Projects
Commit 22295b58 authored by Pospelov, Gennady's avatar Pospelov, Gennady
Browse files

Revised "accept" method usage

parent 6a728cd6
No related branches found
No related tags found
No related merge requests found
Showing
with 30 additions and 16 deletions
......@@ -32,8 +32,6 @@ public:
init_parameters();
}
virtual ~FormFactorBox() {}
FormFactorBox *clone() const;
......
......@@ -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);
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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,
......
......@@ -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);
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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);
......
......@@ -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;
......
......@@ -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);
......
......@@ -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; }
......
......@@ -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; }
......
......@@ -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
......
......@@ -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; }
};
......
......@@ -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;
......
......@@ -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; }
......
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