16 #error no need to expose this header to Swig
20 #ifndef BORNAGAIN_CORE_ELEMENT_SPECULARSIMULATIONELEMENT_H
21 #define BORNAGAIN_CORE_ELEMENT_SPECULARSIMULATIONELEMENT_H
57 std::vector<complex_t>
produceKz(
const std::vector<Slice>& slices);
63 const std::function<std::vector<complex_t>(
const std::vector<Slice>&)>
m_kz_computation;
Defines class PolarizationHandler.
Defines basic vectors in Z^3, R^3, C^3.
Assembles beam, detector and their relative positions with respect to the sample.
Convenience class for handling polarization density matrix and polarization analyzer operator.
Data structure containing the data of a single slice, for calculating the Fresnel coefficients.
Data stucture containing both input and output of a single image pixel for specular simulation.
bool isCalculated() const
Returns calculation flag (if it's false, zero intensity is assigned to the element)
std::vector< complex_t > produceKz(const std::vector< Slice > &slices)
Returns kz values for Abeles computation of reflection/transition coefficients.
const PolarizationHandler m_polarization
~SpecularSimulationElement()
SpecularSimulationElement & operator=(const SpecularSimulationElement &other)=delete
const std::function< std::vector< complex_t >const std::vector< Slice > &)> m_kz_computation
SpecularSimulationElement(double kz, const Instrument &instrument, bool computable)
double m_intensity
simulated intensity for detector cell
void setIntensity(double intensity)
const PolarizationHandler & polarizationHandler() const
Returns assigned PolarizationHandler.