Mantid
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
Mantid::DataObjects::CalculateReflectometryQxQz Class Reference

Converts from inputs of wavelength, incident theta and final theta to Qx and Qz for reflectometry experiments. More...

#include <CalculateReflectometryQxQz.h>

Inheritance diagram for Mantid::DataObjects::CalculateReflectometryQxQz:
Mantid::DataObjects::CalculateReflectometry

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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ CalculateReflectometryQxQz()

Mantid::DataObjects::CalculateReflectometryQxQz::CalculateReflectometryQxQz ( int  version)
inline

Constructor.

Definition at line 29 of file CalculateReflectometryQxQz.h.

Member Function Documentation

◆ calculateDim0()

double Mantid::DataObjects::CalculateReflectometryQxQz::calculateDim0 ( double  wavelength) const
inlineoverridevirtual

Executes the calculation to determine Qx.

Parameters
wavelength: wavelenght in Anstroms

Implements Mantid::DataObjects::CalculateReflectometry.

Definition at line 69 of file CalculateReflectometryQxQz.h.

References m_dirQx.

Referenced by createQuad().

◆ calculateDim1()

double Mantid::DataObjects::CalculateReflectometryQxQz::calculateDim1 ( double  wavelength) const
inlineoverridevirtual

Executes the calculation to determine Qz.

Parameters
wavelength: wavelenght in Anstroms

Implements Mantid::DataObjects::CalculateReflectometry.

Definition at line 78 of file CalculateReflectometryQxQz.h.

References m_dirQz.

Referenced by createQuad().

◆ createQuad()

Mantid::Geometry::Quadrilateral Mantid::DataObjects::CalculateReflectometryQxQz::createQuad ( double  lamUpper,
double  lamLower,
double  thetaUpper,
double  thetaLower 
)
inlineoverridevirtual

◆ setThetaFinal()

void Mantid::DataObjects::CalculateReflectometryQxQz::setThetaFinal ( double  thetaFinal)
inlineoverridevirtual

Setter for the final theta value require for the calculation.

Internally pre-calculates and caches to cos theta for speed.

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

◆ setTwoTheta()

void Mantid::DataObjects::CalculateReflectometryQxQz::setTwoTheta ( double  twoTheta)
inlineoverridevirtual

Set the final theta value from the detector twoTheta value.

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

◆ updateThetaIncident()

void Mantid::DataObjects::CalculateReflectometryQxQz::updateThetaIncident ( double  thetaIncident)
inlineoverridevirtual

Setter for the incident theta value require for the calculation.

Internally pre-calculates and caches to cos theta for speed.

Parameters
thetaIncidentincident 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.

Member Data Documentation

◆ m_cos_theta_i

double Mantid::DataObjects::CalculateReflectometryQxQz::m_cos_theta_i
private

Definition at line 20 of file CalculateReflectometryQxQz.h.

Referenced by setThetaFinal(), and updateThetaIncident().

◆ m_dirQx

double Mantid::DataObjects::CalculateReflectometryQxQz::m_dirQx
private

Definition at line 22 of file CalculateReflectometryQxQz.h.

Referenced by calculateDim0(), and setThetaFinal().

◆ m_dirQz

double Mantid::DataObjects::CalculateReflectometryQxQz::m_dirQz
private

Definition at line 23 of file CalculateReflectometryQxQz.h.

Referenced by calculateDim1(), and setThetaFinal().

◆ m_sin_theta_i

double Mantid::DataObjects::CalculateReflectometryQxQz::m_sin_theta_i
private

Definition at line 21 of file CalculateReflectometryQxQz.h.

Referenced by setThetaFinal(), and updateThetaIncident().


The documentation for this class was generated from the following file: