Skip to content
Snippets Groups Projects
Commit 96784bd6 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

DiffuseElement now holds fluxes

parent f99a3504
No related branches found
No related tags found
1 merge request!197rm IFresnelMap class hierarchy
...@@ -50,6 +50,12 @@ DiffuseElement::DiffuseElement(const DiffuseElement& other) ...@@ -50,6 +50,12 @@ DiffuseElement::DiffuseElement(const DiffuseElement& other)
DiffuseElement::~DiffuseElement() = default; DiffuseElement::~DiffuseElement() = default;
void DiffuseElement::setFluxes(const Fluxes* fluxes_in, const Fluxes* fluxes_out)
{
m_fluxes_in = fluxes_in;
m_fluxes_out = fluxes_out;
}
DiffuseElement DiffuseElement::pointElement(double x, double y) const DiffuseElement DiffuseElement::pointElement(double x, double y) const
{ {
return {m_wavelength, return {m_wavelength,
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include "Base/Vector/Vectors3D.h" #include "Base/Vector/Vectors3D.h"
#include <memory> #include <memory>
class Fluxes;
class IFresnelMap; class IFresnelMap;
class IPixel; class IPixel;
...@@ -42,6 +43,8 @@ public: ...@@ -42,6 +43,8 @@ public:
void setFresnelMap(const IFresnelMap* const fresnel_map) { m_fresnel_map = fresnel_map; } void setFresnelMap(const IFresnelMap* const fresnel_map) { m_fresnel_map = fresnel_map; }
const IFresnelMap* fresnelMap() const { return m_fresnel_map; } const IFresnelMap* fresnelMap() const { return m_fresnel_map; }
void setFluxes(const Fluxes* fluxes_in, const Fluxes* fluxes_out);
//! Returns copy of this DiffuseElement with k_f given by in-pixel coordinate x,y. //! Returns copy of this DiffuseElement with k_f given by in-pixel coordinate x,y.
DiffuseElement pointElement(double x, double y) const; DiffuseElement pointElement(double x, double y) const;
...@@ -83,6 +86,8 @@ private: ...@@ -83,6 +86,8 @@ private:
const std::unique_ptr<IPixel> m_pixel; const std::unique_ptr<IPixel> m_pixel;
const bool m_is_specular; const bool m_is_specular;
const IFresnelMap* m_fresnel_map; const IFresnelMap* m_fresnel_map;
const Fluxes* m_fluxes_in;
const Fluxes* m_fluxes_out;
double m_intensity; //!< simulated intensity for detector cell double m_intensity; //!< simulated intensity for detector cell
}; };
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#include "Core/Contrib/GISASSpecularContribution.h" #include "Core/Contrib/GISASSpecularContribution.h"
#include "Core/Contrib/ParticleLayoutContribution.h" #include "Core/Contrib/ParticleLayoutContribution.h"
#include "Core/Contrib/RoughMultiLayerContribution.h" #include "Core/Contrib/RoughMultiLayerContribution.h"
#include "Resample/Flux/IFlux.h"
#include "Resample/Options/SimulationOptions.h" #include "Resample/Options/SimulationOptions.h"
#include "Resample/Processed/ProcessedLayout.h" #include "Resample/Processed/ProcessedLayout.h"
#include "Resample/Processed/ProcessedSample.h" #include "Resample/Processed/ProcessedSample.h"
...@@ -70,6 +71,10 @@ void DWBAComputation::runProtected() ...@@ -70,6 +71,10 @@ void DWBAComputation::runProtected()
break; break;
DiffuseElement& ele = *it; DiffuseElement& ele = *it;
const Fluxes fluxes_in = m_re_sample.fluxesIn(ele.getKi());
const Fluxes fluxes_out = m_re_sample.fluxesOut(ele.getKi());
ele.setFluxes(&fluxes_in, &fluxes_out);
ele.setFresnelMap(m_fresnel_map); ele.setFresnelMap(m_fresnel_map);
for (auto& contrib : m_layout_contribs) for (auto& contrib : m_layout_contribs)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment