15 #ifndef BORNAGAIN_CORE_MULTILAYER_LAYERROUGHNESS_H
16 #define BORNAGAIN_CORE_MULTILAYER_LAYERROUGHNESS_H
31 LayerRoughness(
double sigma,
double hurstParameter,
double lateralCorrLength);
36 return new LayerRoughness(m_sigma, m_hurstParameter, m_lateralCorrLength);
46 void setSigma(
double sigma) { m_sigma = sigma; }
58 m_lateralCorrLength = lateralCorrLength;
65 double m_hurstParameter;
66 double m_lateralCorrLength;
Defines interface class ISample.
Visitor interface to visit ISample objects.
Pure virtual base class for sample components and properties related to scattering.
A roughness of interface between two layers.
void setSigma(double sigma)
Sets rms of roughness.
double getSigma() const
Returns rms of roughness.
double getSpectralFun(const kvector_t kvec) const
Returns power spectral density of the surface roughness.
double getLatteralCorrLength() const
Returns lateral correlation length.
double getHurstParameter() const
Returns hurst parameter.
double getCorrFun(const kvector_t k) const
Correlation function of the roughness profile.
LayerRoughness * clone() const
Returns a clone of this ISample object.
virtual void accept(INodeVisitor *visitor) const
Calls the INodeVisitor's visit method.
void setLatteralCorrLength(double lateralCorrLength)
Sets lateral correlation length.
void setHurstParameter(double hurstParameter)
Sets hurst parameter. It describes how jagged the surface is.