BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
A roughness of interface between two layers. More...
Public Member Functions | |
LayerRoughness (double sigma, double hurstParameter, double lateralCorrLength) | |
Constructor of layer roughness. More... | |
LayerRoughness * | clone () const |
Returns a clone of this ISample object. | |
virtual void | accept (INodeVisitor *visitor) const |
Calls the INodeVisitor's visit method. | |
double | getSpectralFun (const kvector_t kvec) const |
Returns power spectral density of the surface roughness. More... | |
double | getCorrFun (const kvector_t k) const |
Correlation function of the roughness profile. | |
void | setSigma (double sigma) |
Sets rms of roughness. | |
double | getSigma () const |
Returns rms of roughness. | |
void | setHurstParameter (double hurstParameter) |
Sets hurst parameter. It describes how jagged the surface is. | |
double | getHurstParameter () const |
Returns hurst parameter. | |
void | setLatteralCorrLength (double lateralCorrLength) |
Sets lateral correlation length. | |
double | getLatteralCorrLength () const |
Returns lateral correlation length. | |
Public Member Functions inherited from ISample | |
ISample (const NodeMeta &meta, const std::vector< double > &PValues) | |
virtual const Material * | material () const |
Returns nullptr, unless overwritten to return a specific material. | |
std::vector< const Material * > | containedMaterials () const |
Returns set of unique materials contained in this ISample. | |
Public Member Functions inherited from ICloneable | |
ICloneable (const ICloneable &)=delete | |
ICloneable (ICloneable &&)=default | |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) | |
Public Member Functions inherited from INode | |
INode (const NodeMeta &meta, const std::vector< double > &PValues) | |
virtual std::string | treeToString () const |
Returns multiline string representing tree structure below the node. | |
void | registerChild (INode *node) |
virtual std::vector< const INode * > | getChildren () const |
Returns a vector of children (const). | |
virtual void | setParent (const INode *newParent) |
const INode * | parent () const |
INode * | parent () |
int | copyNumber (const INode *node) const |
Returns copyNumber of child, which takes into account existence of children with same name. | |
std::string | displayName () const |
Returns display name, composed from the name of node and it's copy number. | |
ParameterPool * | createParameterTree () const |
Creates new parameter pool, with all local parameters and those of its children. | |
Public Member Functions inherited from IParameterized | |
IParameterized (const std::string &name="") | |
IParameterized (const IParameterized &other) | |
IParameterized & | operator= (const IParameterized &other)=delete |
ParameterPool * | parameterPool () const |
Returns pointer to the parameter pool. | |
std::string | parametersToString () const |
Returns multiline string representing available parameters. | |
RealParameter & | registerParameter (const std::string &name, double *parpointer) |
void | registerVector (const std::string &base_name, kvector_t *p_vec, const std::string &units="nm") |
void | setParameterValue (const std::string &name, double value) |
void | setVectorValue (const std::string &base_name, kvector_t value) |
RealParameter * | parameter (const std::string &name) const |
Returns parameter with given 'name'. | |
virtual void | onChange () |
Action to be taken in inherited class when a parameter has changed. | |
void | removeParameter (const std::string &name) |
void | removeVector (const std::string &base_name) |
void | setName (const std::string &name) |
const std::string & | getName () const |
Additional Inherited Members | |
Static Public Member Functions inherited from IParameterized | |
static std::string | XComponentName (const std::string &base_name) |
static std::string | YComponentName (const std::string &base_name) |
static std::string | ZComponentName (const std::string &base_name) |
Protected Attributes inherited from INode | |
const size_t | m_NP |
std::vector< double > | m_P |
A roughness of interface between two layers.
Based on the article D.K.G. de Boer, Physical review B, Volume 51, Number 8, 15 February 1995 "X-ray reflection and transmission by rough surfaces"
Definition at line 28 of file LayerRoughness.h.
LayerRoughness::LayerRoughness | ( | double | sigma, |
double | hurstParameter, | ||
double | lateralCorrLength | ||
) |
Constructor of layer roughness.
sigma | rms of the roughness in nanometers |
hurstParameter | hurst parameter which describes how jagged the interface, dimensionless [0.0, 1.0], where 0.0 gives more spikes, 1.0 more smoothness |
lateralCorrLength | lateral correlation length of the roughness in nanometers |
Definition at line 24 of file LayerRoughness.cpp.
double LayerRoughness::getSpectralFun | ( | const kvector_t | kvec | ) | const |
Returns power spectral density of the surface roughness.
Power spectral density of the surface roughness is a result of two-dimensional Fourier transform of the correlation function of the roughness profile.
Based on the article D.K.G. de Boer, Physical review B, Volume 51, Number 8, 15 February 1995 "X-ray reflection and transmission by rough surfaces"
Definition at line 43 of file LayerRoughness.cpp.