BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Data stucture containing both input and output of a single detector cell. More...
Public Member Functions | |
SimulationElement ()=delete | |
SimulationElement (const SimulationElement &other) | |
SimulationElement (double wavelength, double alpha_i, double phi_i, std::unique_ptr< IPixel > pixel, const Eigen::Matrix2cd &beam_polarization, const Eigen::Matrix2cd &analyzer, bool isSpecular_) | |
SimulationElement (SimulationElement &&other) | |
~SimulationElement () | |
void | addIntensity (double intensity) |
double | getAlpha (double x, double y) const |
double | getAlphaI () const |
double | getAlphaMean () const |
kvector_t | getKi () const |
kvector_t | getMeanKf () const |
double | getPhi (double x, double y) const |
double | getPhiI () const |
double | getPhiMean () const |
kvector_t | getQ (double x, double y) const |
Returns scattering vector Q, with Kf determined from in-pixel coordinates x,y. More... | |
double | integrationFactor (double x, double y) const |
double | intensity () const |
bool | isSpecular () const |
Tells if simulation element corresponds to a specular peak. More... | |
kvector_t | meanQ () const |
SimulationElement & | operator= (const SimulationElement &)=delete |
SimulationElement | pointElement (double x, double y) const |
Returns copy of this SimulationElement with k_f given by in-pixel coordinate x,y. More... | |
const PolarizationHandler & | polarizationHandler () const |
Returns assigned PolarizationHandler. More... | |
void | setIntensity (double intensity) |
double | solidAngle () const |
double | wavelength () const |
Private Member Functions | |
kvector_t | getKf (double x, double y) const |
Returns outgoing wavevector Kf for in-pixel coordinates x,y. More... | |
Private Attributes | |
const double | m_alpha_i |
incident grazing angle More... | |
double | m_intensity |
simulated intensity for detector cell More... | |
const bool | m_is_specular |
const kvector_t | m_k_i |
cached value of k_i More... | |
const kvector_t | m_mean_kf |
cached value of mean_kf More... | |
const double | m_phi_i |
incident angle in xy plane More... | |
std::unique_ptr< IPixel > | m_pixel |
const PolarizationHandler | m_polarization |
const double | m_wavelength |
wavelength of beam More... | |
Data stucture containing both input and output of a single detector cell.
Definition at line 32 of file SimulationElement.h.
|
delete |
SimulationElement::SimulationElement | ( | double | wavelength, |
double | alpha_i, | ||
double | phi_i, | ||
std::unique_ptr< IPixel > | pixel, | ||
const Eigen::Matrix2cd & | beam_polarization, | ||
const Eigen::Matrix2cd & | analyzer, | ||
bool | isSpecular_ | ||
) |
Definition at line 19 of file SimulationElement.cpp.
SimulationElement::SimulationElement | ( | const SimulationElement & | other | ) |
Definition at line 35 of file SimulationElement.cpp.
|
default |
|
default |
|
inline |
Definition at line 55 of file SimulationElement.h.
References intensity(), and m_intensity.
Referenced by ParticleLayoutComputation::compute(), and RoughMultiLayerComputation::compute().
double SimulationElement::getAlpha | ( | double | x, |
double | y | ||
) | const |
Definition at line 92 of file SimulationElement.cpp.
References getKf(), M_PI_2, and BasicVector3D< T >::theta().
Referenced by getAlphaMean().
|
inline |
Definition at line 50 of file SimulationElement.h.
References m_alpha_i.
Referenced by GISASSpecularComputation::compute(), and ISimulation2D::normalize().
|
inline |
Definition at line 52 of file SimulationElement.h.
References getAlpha().
Referenced by RoughMultiLayerComputation::compute().
|
private |
Returns outgoing wavevector Kf for in-pixel coordinates x,y.
In-pixel coordinates take values from 0 to 1.
Definition at line 75 of file SimulationElement.cpp.
References m_pixel, and m_wavelength.
Referenced by getAlpha(), and getPhi().
kvector_t SimulationElement::getKi | ( | ) | const |
Definition at line 63 of file SimulationElement.cpp.
References m_k_i.
Referenced by FormFactorCoherentPart::evaluate(), FormFactorCoherentPart::evaluatePol(), getQ(), and meanQ().
kvector_t SimulationElement::getMeanKf | ( | ) | const |
Definition at line 68 of file SimulationElement.cpp.
References m_mean_kf.
Referenced by FormFactorCoherentPart::evaluate(), FormFactorCoherentPart::evaluatePol(), MatrixFresnelMap::getOutCoefficients(), ScalarFresnelMap::getOutCoefficients(), and meanQ().
double SimulationElement::getPhi | ( | double | x, |
double | y | ||
) | const |
Definition at line 97 of file SimulationElement.cpp.
References getKf(), and BasicVector3D< T >::phi().
Referenced by getPhiMean().
|
inline |
|
inline |
Definition at line 53 of file SimulationElement.h.
References getPhi().
kvector_t SimulationElement::getQ | ( | double | x, |
double | y | ||
) | const |
Returns scattering vector Q, with Kf determined from in-pixel coordinates x,y.
In-pixel coordinates take values from 0 to 1.
Definition at line 87 of file SimulationElement.cpp.
References getKi(), m_pixel, and m_wavelength.
double SimulationElement::integrationFactor | ( | double | x, |
double | y | ||
) | const |
Definition at line 102 of file SimulationElement.cpp.
References m_pixel.
Referenced by IInterferenceFunctionStrategy::evaluate_for_fixed_angles().
|
inline |
Definition at line 56 of file SimulationElement.h.
References m_intensity.
Referenced by ISimulation2D::addBackgroundIntensity(), addIntensity(), ISimulation2D::normalize(), and setIntensity().
|
inline |
Tells if simulation element corresponds to a specular peak.
Definition at line 70 of file SimulationElement.h.
References m_is_specular.
Referenced by GISASSpecularComputation::compute().
kvector_t SimulationElement::meanQ | ( | ) | const |
Definition at line 80 of file SimulationElement.cpp.
References getKi(), and getMeanKf().
Referenced by RoughMultiLayerComputation::compute(), DecouplingApproximationStrategy::polarizedCalculation(), SSCApproximationStrategy::polarizedCalculation(), DecouplingApproximationStrategy::scalarCalculation(), and SSCApproximationStrategy::scalarCalculation().
|
delete |
SimulationElement SimulationElement::pointElement | ( | double | x, |
double | y | ||
) | const |
Returns copy of this SimulationElement with k_f given by in-pixel coordinate x,y.
Definition at line 52 of file SimulationElement.cpp.
References PolarizationHandler::getAnalyzerOperator(), PolarizationHandler::getPolarization(), m_alpha_i, m_is_specular, m_phi_i, m_pixel, m_polarization, and m_wavelength.
Referenced by IInterferenceFunctionStrategy::evaluate_for_fixed_angles().
|
inline |
Returns assigned PolarizationHandler.
Definition at line 47 of file SimulationElement.h.
References m_polarization.
Referenced by DecouplingApproximationStrategy::polarizedCalculation(), and SSCApproximationStrategy::polarizedCalculation().
|
inline |
Definition at line 54 of file SimulationElement.h.
References intensity(), and m_intensity.
Referenced by ISimulation2D::addBackgroundIntensity(), GISASSpecularComputation::compute(), and ISimulation2D::normalize().
double SimulationElement::solidAngle | ( | ) | const |
Definition at line 107 of file SimulationElement.cpp.
References m_pixel.
Referenced by GISASSpecularComputation::compute(), IInterferenceFunctionStrategy::evaluate(), and ISimulation2D::normalize().
|
inline |
Definition at line 49 of file SimulationElement.h.
References m_wavelength.
Referenced by RoughMultiLayerComputation::compute(), FormFactorCoherentPart::evaluate(), and FormFactorCoherentPart::evaluatePol().
|
private |
incident grazing angle
Definition at line 77 of file SimulationElement.h.
Referenced by getAlphaI(), and pointElement().
|
private |
simulated intensity for detector cell
Definition at line 83 of file SimulationElement.h.
Referenced by addIntensity(), intensity(), and setIntensity().
|
private |
Definition at line 82 of file SimulationElement.h.
Referenced by isSpecular(), and pointElement().
|
private |
|
private |
cached value of mean_kf
Definition at line 80 of file SimulationElement.h.
Referenced by getMeanKf().
|
private |
incident angle in xy plane
Definition at line 78 of file SimulationElement.h.
Referenced by getPhiI(), and pointElement().
|
mutableprivate |
Definition at line 81 of file SimulationElement.h.
Referenced by getKf(), getQ(), integrationFactor(), pointElement(), and solidAngle().
|
private |
Definition at line 75 of file SimulationElement.h.
Referenced by pointElement(), and polarizationHandler().
|
private |
wavelength of beam
Definition at line 76 of file SimulationElement.h.
Referenced by getKf(), getQ(), pointElement(), and wavelength().