18 std::unique_ptr<IPixel> pixel)
19 : m_wavelength(
wavelength), m_alpha_i(alpha_i), m_phi_i(phi_i),
21 m_mean_kf(pixel->getK(0.5, 0.5, m_wavelength)), m_intensity(0.0), mP_pixel(std::move(pixel)),
27 : m_polarization(other.m_polarization), m_wavelength(other.m_wavelength),
28 m_alpha_i(other.m_alpha_i), m_phi_i(other.m_phi_i), m_k_i(other.m_k_i),
29 m_mean_kf(other.m_mean_kf), m_intensity(other.m_intensity), m_is_specular(other.isSpecular())
35 : m_polarization(other.m_polarization), m_wavelength(other.m_wavelength),
36 m_alpha_i(other.m_alpha_i), m_phi_i(other.m_phi_i), m_k_i(other.m_k_i),
37 m_mean_kf(other.m_mean_kf), m_intensity(other.m_intensity), m_is_specular(other.isSpecular())
44 : m_polarization(std::move(other.m_polarization)), m_wavelength(other.m_wavelength),
45 m_alpha_i(other.m_alpha_i), m_phi_i(other.m_phi_i), m_k_i(std::move(other.m_k_i)),
46 m_mean_kf(other.m_mean_kf), m_intensity(other.m_intensity),
47 mP_pixel(std::move(other.mP_pixel)), m_is_specular(other.isSpecular())
116 return mP_pixel->getIntegrationFactor(x, y);
BasicVector3D< double > vecOfLambdaAlphaPhi(double _lambda, double _alpha, double _phi)
Creates a vector<double> as a wavevector with given wavelength and angles.
void swap(OutputDataIterator< TValue, TContainer > &left, OutputDataIterator< TValue, TContainer > &right)
make Swappable
Defines class SimulationElement.
double theta() const
Returns polar angle.
double phi() const
Returns azimuth angle.
void swapContent(PolarizationHandler &other)
Data stucture containing both input and output of a single detector cell.
PolarizationHandler m_polarization
std::unique_ptr< IPixel > mP_pixel
double getSolidAngle() const
double m_phi_i
wavelength and angles of beam
SimulationElement(double wavelength, double alpha_i, double phi_i, std::unique_ptr< IPixel > pixel)
double m_intensity
simulated intensity for detector cell
void swapContent(SimulationElement &other)
kvector_t getMeanKf() const
double getIntegrationFactor(double x, double y) const
kvector_t getKf(double x, double y) const
Returns outgoing wavevector Kf for in-pixel coordinates x,y.
kvector_t m_mean_kf
cached value of mean_kf
kvector_t m_k_i
cached value of k_i
kvector_t getMeanQ() const
kvector_t getQ(double x, double y) const
Returns scattering vector Q, with Kf determined from in-pixel coordinates x,y.
double getAlpha(double x, double y) const
SimulationElement & operator=(const SimulationElement &other)
double getPhi(double x, double y) const
const double wavelength(0.154)