BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
Data stucture containing both input and output of a single image pixel for specular simulation.
Definition at line 35 of file SpecularElement.h.
Public Member Functions | |
SpecularElement (const SpecularElement &other)=delete | |
SpecularElement (SpecularElement &&other) | |
~SpecularElement () | |
double | intensity () const |
bool | isCalculated () const |
Returns calculation flag (if it's false, zero intensity is assigned to the element) More... | |
const PolMatrices & | polMatrices () const |
Returns polarizer and analyzer matrices. More... | |
std::vector< complex_t > | produceKz (const SliceStack &slices) |
Returns kz values for Abeles computation of reflection/transition coefficients. More... | |
void | setIntensity (double intensity) |
Static Public Member Functions | |
static SpecularElement | FromAlphaScan (double wavelength, double alpha, const PolMatrices &polMatrices, bool computable) |
static SpecularElement | FromQzScan (double kz, const PolMatrices &polMatrices, bool computable) |
Protected Attributes | |
const PolMatrices | m_polMatrices |
Private Member Functions | |
SpecularElement (bool computable, const PolMatrices &polMatrices, std::function< std::vector< complex_t >(const SliceStack &)> kz_comp) | |
Private Attributes | |
const bool | m_computable |
double | m_intensity |
simulated intensity for detector cell More... | |
const std::function< std::vector< complex_t >const SliceStack &)> | m_kz_computation |
|
delete |
Referenced by FromAlphaScan(), and FromQzScan().
|
default |
|
default |
|
private |
Definition at line 37 of file SpecularElement.cpp.
|
static |
Definition at line 27 of file SpecularElement.cpp.
References SpecularElement(), Compute::Kz::computeKzFromRefIndices(), IElement::polMatrices(), and vecOfLambdaAlphaPhi().
Referenced by AlphaScan::generateElements().
|
static |
Definition at line 19 of file SpecularElement.cpp.
References SpecularElement(), Compute::Kz::computeKzFromSLDs(), and IElement::polMatrices().
Referenced by QzScan::generateElements().
|
inline |
Definition at line 46 of file SpecularElement.h.
References m_intensity.
Referenced by setIntensity().
|
inline |
Returns calculation flag (if it's false, zero intensity is assigned to the element)
Definition at line 50 of file SpecularElement.h.
References m_computable.
Referenced by SpecularComputation::runProtected().
|
inlineinherited |
Returns polarizer and analyzer matrices.
Definition at line 37 of file IElement.h.
References IElement::m_polMatrices.
Referenced by FromAlphaScan(), FromQzScan(), DecouplingApproximationStrategy::polarizedCalculation(), SSCAStrategy::polarizedCalculation(), and SpecularComputation::runProtected().
std::vector< complex_t > SpecularElement::produceKz | ( | const SliceStack & | slices | ) |
Returns kz values for Abeles computation of reflection/transition coefficients.
Definition at line 50 of file SpecularElement.cpp.
References m_kz_computation.
Referenced by SpecularComputation::runProtected().
|
inline |
Definition at line 47 of file SpecularElement.h.
References intensity(), and m_intensity.
Referenced by SpecularComputation::runProtected().
|
private |
Definition at line 60 of file SpecularElement.h.
Referenced by isCalculated().
|
private |
simulated intensity for detector cell
Definition at line 59 of file SpecularElement.h.
Referenced by intensity(), and setIntensity().
|
private |
Definition at line 61 of file SpecularElement.h.
Referenced by produceKz().
|
protectedinherited |
Definition at line 40 of file IElement.h.
Referenced by DiffuseElement::pointElement(), and IElement::polMatrices().