|
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().