BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
SpecularScalarNCStrategy.h
Go to the documentation of this file.
1
// ************************************************************************** //
2
//
3
// BornAgain: simulate and fit scattering at grazing incidence
4
//
5
//! @file Sample/Specular/SpecularScalarNCStrategy.h
6
//! @brief Defines class SpecularScalarNCStrategy.
7
//!
8
//! @homepage http://www.bornagainproject.org
9
//! @license GNU General Public License v3 or higher (see COPYING)
10
//! @copyright Forschungszentrum Jülich GmbH 2018
11
//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12
//
13
// ************************************************************************** //
14
15
#ifndef BORNAGAIN_CORE_MULTILAYER_SPECULARSCALARNCSTRATEGY_H
16
#define BORNAGAIN_CORE_MULTILAYER_SPECULARSCALARNCSTRATEGY_H
17
18
#include "
Sample/Specular/SpecularScalarStrategy.h
"
19
20
class
Slice
;
21
22
//! Implements Nevot-Croce roughness for a scaler computation.
23
//!
24
//! Implements the transition function that includes Nevot-Croce roughness
25
//! in the computation of the coefficients for coherent wave propagation
26
//! in a multilayer by applying modified Fresnel coefficients.
27
//!
28
//! @ingroup algorithms_internal
29
30
class
SpecularScalarNCStrategy
:
public
SpecularScalarStrategy
31
{
32
private
:
33
//! Roughness is modelled by a Gaussian profile, i.e. Nevot-Croce factors for the
34
//! reflection coefficients.
35
//! Implementation follows A. Gibaud and G. Vignaud, in X-ray and Neutron Reflectivity, edited
36
//! by J. Daillant and A. Gibaud, volume 770 of Lecture Notes in Physics (2009)
37
virtual
std::pair<complex_t, complex_t> transition(complex_t kzi, complex_t kzi1,
38
double
sigma)
const override
;
39
};
40
41
#endif
// BORNAGAIN_CORE_MULTILAYER_SPECULARSCALARNCSTRATEGY_H
SpecularScalarStrategy.h
Defines class SpecularScalarStrategy.
Slice
Data structure containing the data of a single slice, for calculating the Fresnel coefficients.
Definition:
Slice.h:28
SpecularScalarNCStrategy
Implements Nevot-Croce roughness for a scaler computation.
Definition:
SpecularScalarNCStrategy.h:31
SpecularScalarStrategy
Implements the scalar Fresnel computation.
Definition:
SpecularScalarStrategy.h:34
Sample
Specular
SpecularScalarNCStrategy.h
Generated by
1.9.1