| 
    BornAgain
    1.18.0
    
   Simulate and fit neutron and x-ray scattering at grazing incidence 
   | 
 
A roughness of interface between two layers. More...
 Inheritance diagram for LayerRoughness: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.