15 #ifndef BORNAGAIN_CORE_MULTILAYER_SPECULARSIMULATIONELEMENT_H
16 #define BORNAGAIN_CORE_MULTILAYER_SPECULARSIMULATIONELEMENT_H
48 double getIntensity()
const {
return m_intensity; }
49 void setIntensity(
double intensity) { m_intensity = intensity; }
55 std::vector<complex_t>
produceKz(
const std::vector<Slice>& slices);
62 const bool m_computable;
63 std::function<std::vector<complex_t>(
const std::vector<Slice>&)> m_kz_computation;
Defines complex_t, and a few elementary functions.
Defines class PolarizationHandler.
Defines basic vectors in R^3 and C^3.
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.
void setPolarizationHandler(const PolarizationHandler &handler)
Assigns PolarizationHandler.
const PolarizationHandler & polarizationHandler() const
Returns assigned PolarizationHandler.