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.