Mantid
|
Converts from inputs of wavelength, incident theta and final theta to Qx and Qz for reflectometry experiments. More...
#include <CalculateReflectometryQxQz.h>
Public Member Functions | |
double | calculateDim0 (double wavelength) const override |
Executes the calculation to determine Qx. More... | |
double | calculateDim1 (double wavelength) const override |
Executes the calculation to determine Qz. More... | |
CalculateReflectometryQxQz (int version) | |
Constructor. More... | |
Mantid::Geometry::Quadrilateral | createQuad (double lamUpper, double lamLower, double thetaUpper, double thetaLower) override |
void | setThetaFinal (double thetaFinal) override |
Setter for the final theta value require for the calculation. More... | |
void | setTwoTheta (double twoTheta) override |
Set the final theta value from the detector twoTheta value. More... | |
void | updateThetaIncident (double thetaIncident) override |
Setter for the incident theta value require for the calculation. More... | |
Public Member Functions inherited from Mantid::DataObjects::CalculateReflectometry | |
virtual double | calculateDim0 (double wavelength) const =0 |
Executes the calculation on dimension 0. More... | |
virtual double | calculateDim1 (double wavelength) const =0 |
Executes the calculation on dimension 1. More... | |
CalculateReflectometry (int version) | |
virtual Mantid::Geometry::Quadrilateral | createQuad (double lamLower, double lamUpper, double thetaLower, double thetaUpper)=0 |
virtual void | setThetaFinal (double thetaFinal)=0 |
Setter for the final theta value require for the calculation. More... | |
void | setThetaIncident (double thetaIncident) |
Setter for the incident theta value require for the calculation. More... | |
virtual void | setTwoTheta (double twoTheta)=0 |
Set the final theta value from the detector twoTheta angle. More... | |
virtual void | updateThetaIncident (double thetaIncident)=0 |
Derived class setter for the final theta value require for the calculation. More... | |
virtual | ~CalculateReflectometry ()=default |
Private Attributes | |
double | m_cos_theta_i |
double | m_dirQx |
double | m_dirQz |
double | m_sin_theta_i |
Additional Inherited Members | |
Protected Attributes inherited from Mantid::DataObjects::CalculateReflectometry | |
double | m_theta_i {0.0} |
int | m_version |
const double | to_radians_factor = M_PI / 180.0 |
Converts from inputs of wavelength, incident theta and final theta to Qx and Qz for reflectometry experiments.
Definition at line 18 of file CalculateReflectometryQxQz.h.
|
inline |
Constructor.
Definition at line 29 of file CalculateReflectometryQxQz.h.
|
inlineoverridevirtual |
Executes the calculation to determine Qx.
wavelength | : wavelenght in Anstroms |
Implements Mantid::DataObjects::CalculateReflectometry.
Definition at line 69 of file CalculateReflectometryQxQz.h.
References m_dirQx.
Referenced by createQuad().
|
inlineoverridevirtual |
Executes the calculation to determine Qz.
wavelength | : wavelenght in Anstroms |
Implements Mantid::DataObjects::CalculateReflectometry.
Definition at line 78 of file CalculateReflectometryQxQz.h.
References m_dirQz.
Referenced by createQuad().
|
inlineoverridevirtual |
Implements Mantid::DataObjects::CalculateReflectometry.
Definition at line 83 of file CalculateReflectometryQxQz.h.
References Mantid::Geometry::Quadrilateral::at(), calculateDim0(), calculateDim1(), setTwoTheta(), Mantid::Geometry::Quadrilateral::shiftVertexesClockwise(), Mantid::Kernel::V2D::X(), and Mantid::Kernel::V2D::Y().
|
inlineoverridevirtual |
Setter for the final theta value require for the calculation.
Internally pre-calculates and caches to cos theta for speed.
thetaFinal | final theta value in degrees |
Implements Mantid::DataObjects::CalculateReflectometry.
Definition at line 47 of file CalculateReflectometryQxQz.h.
References m_cos_theta_i, m_dirQx, m_dirQz, m_sin_theta_i, and Mantid::DataObjects::CalculateReflectometry::to_radians_factor.
Referenced by setTwoTheta().
|
inlineoverridevirtual |
Set the final theta value from the detector twoTheta value.
twoTheta | detector twoTheta value in degrees |
Implements Mantid::DataObjects::CalculateReflectometry.
Definition at line 58 of file CalculateReflectometryQxQz.h.
References Mantid::DataObjects::CalculateReflectometry::m_theta_i, Mantid::DataObjects::CalculateReflectometry::m_version, setThetaFinal(), and Mantid::Kernel::twoTheta.
Referenced by createQuad().
|
inlineoverridevirtual |
Setter for the incident theta value require for the calculation.
Internally pre-calculates and caches to cos theta for speed.
thetaIncident | incident theta value in degrees |
Implements Mantid::DataObjects::CalculateReflectometry.
Definition at line 37 of file CalculateReflectometryQxQz.h.
References m_cos_theta_i, m_sin_theta_i, and Mantid::DataObjects::CalculateReflectometry::to_radians_factor.
|
private |
Definition at line 20 of file CalculateReflectometryQxQz.h.
Referenced by setThetaFinal(), and updateThetaIncident().
|
private |
Definition at line 22 of file CalculateReflectometryQxQz.h.
Referenced by calculateDim0(), and setThetaFinal().
|
private |
Definition at line 23 of file CalculateReflectometryQxQz.h.
Referenced by calculateDim1(), and setThetaFinal().
|
private |
Definition at line 21 of file CalculateReflectometryQxQz.h.
Referenced by setThetaFinal(), and updateThetaIncident().