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

class CalculateReflectometryKiKf: Calculation type for converting to ki or kf given a theta value (in degrees) and a wavelength More...

#include <CalculateReflectometryKiKf.h>

Inheritance diagram for Mantid::DataObjects::CalculateReflectometryKiKf:
Mantid::DataObjects::CalculateReflectometry

Public Member Functions

double calculateDim0 (double wavelength) const override
 Executes the calculation to determine Ki. More...
 
double calculateDim1 (double wavelength) const override
 Executes the calculation to determine Kf. More...
 
 CalculateReflectometryKiKf (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 angle. 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_sin_theta_f
 
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

class CalculateReflectometryKiKf: Calculation type for converting to ki or kf given a theta value (in degrees) and a wavelength

Definition at line 17 of file CalculateReflectometryKiKf.h.

Constructor & Destructor Documentation

◆ CalculateReflectometryKiKf()

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

Constructor.

Definition at line 26 of file CalculateReflectometryKiKf.h.

Member Function Documentation

◆ calculateDim0()

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

Executes the calculation to determine Ki.

Parameters
wavelength: wavelength in Angstroms

Implements Mantid::DataObjects::CalculateReflectometry.

Definition at line 57 of file CalculateReflectometryKiKf.h.

References m_sin_theta_i.

Referenced by createQuad().

◆ calculateDim1()

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

Executes the calculation to determine Kf.

Parameters
wavelength: wavelength in Angstroms

Implements Mantid::DataObjects::CalculateReflectometry.

Definition at line 66 of file CalculateReflectometryKiKf.h.

References m_sin_theta_f.

Referenced by createQuad().

◆ createQuad()

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

◆ setThetaFinal()

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

Setter for the final theta value require for the calculation.

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

Parameters
thetaFinalfinal theta value in degrees

Implements Mantid::DataObjects::CalculateReflectometry.

Definition at line 40 of file CalculateReflectometryKiKf.h.

References m_sin_theta_f, and Mantid::DataObjects::CalculateReflectometry::to_radians_factor.

Referenced by setTwoTheta().

◆ setTwoTheta()

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

Set the final theta value from the detector twoTheta angle.

Parameters
twoThetadetector twoTheta value in degrees

Implements Mantid::DataObjects::CalculateReflectometry.

Definition at line 46 of file CalculateReflectometryKiKf.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::CalculateReflectometryKiKf::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 33 of file CalculateReflectometryKiKf.h.

References m_sin_theta_i, and Mantid::DataObjects::CalculateReflectometry::to_radians_factor.

Member Data Documentation

◆ m_sin_theta_f

double Mantid::DataObjects::CalculateReflectometryKiKf::m_sin_theta_f
private

Definition at line 20 of file CalculateReflectometryKiKf.h.

Referenced by calculateDim1(), and setThetaFinal().

◆ m_sin_theta_i

double Mantid::DataObjects::CalculateReflectometryKiKf::m_sin_theta_i
private

Definition at line 19 of file CalculateReflectometryKiKf.h.

Referenced by calculateDim0(), and updateThetaIncident().


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