Mantid
|
Momentum Transfer in Angstrom^-1. More...
#include <Unit.h>
Public Member Functions | |
const std::string | caption () const override |
The full name of the unit. More... | |
Unit * | clone () const override |
double | conversionTOFMax () const override |
This function returns maximal TOF value still reversibly convertible into the unit. More... | |
double | conversionTOFMin () const override |
some units can be converted from TOF only in the range of TOF ; This function returns minimal TOF value still reversibly convertible into the unit. More... | |
void | init () override |
Finalize the initialization. More... | |
const UnitLabel | label () const override |
A label for the unit to be printed on axes,. More... | |
MomentumTransfer () | |
Constructor. More... | |
double | singleFromTOF (const double tof) const override |
Convert a single tof value to this unit. More... | |
double | singleToTOF (const double x) const override |
Convert a single X value to TOF. More... | |
const std::string | unitID () const override |
"MomentumTransfer" More... | |
Public Member Functions inherited from Mantid::Kernel::Unit | |
virtual const std::string | caption () const =0 |
The full name of the unit. More... | |
virtual Unit * | clone () const =0 |
virtual std::pair< double, double > | conversionRange () const |
The range where conversion to TOF from given units is monotonic and reversible. More... | |
virtual double | conversionTOFMax () const =0 |
This function returns maximal TOF value still reversibly convertible into the unit. More... | |
virtual double | conversionTOFMin () const =0 |
some units can be converted from TOF only in the range of TOF ; This function returns minimal TOF value still reversibly convertible into the unit. More... | |
double | convertSingleFromTOF (const double xvalue, const double &l1, const int &emode, const UnitParametersMap ¶ms) |
Convert from the time-of-flight to the concrete unit. More... | |
double | convertSingleToTOF (const double xvalue, const double &l1, const int &emode, const UnitParametersMap ¶ms) |
Convert from the concrete unit to time-of-flight. More... | |
void | fromTOF (std::vector< double > &xdata, std::vector< double > &ydata, const double &_l1, const int &_emode, const UnitParametersMap ¶ms) |
void | fromTOF (std::vector< double > &xdata, std::vector< double > &ydata, const double &_l1, const int &_emode, std::initializer_list< std::pair< const UnitParams, double > > params) |
Convert from time-of-flight to the concrete unit. More... | |
virtual void | init ()=0 |
Finalize the initialization. More... | |
void | initialize (const double &_l1, const int &_emode, const UnitParametersMap ¶ms) |
Initialize the unit to perform conversion using singleToTof() and singleFromTof() More... | |
virtual bool | isConvertible () const |
Returns if the unit can be used in conversions. More... | |
bool | isInitialized () const |
virtual const UnitLabel | label () const =0 |
A label for the unit to be printed on axes,. More... | |
bool | operator!= (const Unit &u) const |
bool | operator== (const Unit &u) const |
bool | quickConversion (const Unit &destination, double &factor, double &power) const |
Is conversion by constant multiplication possible? More... | |
bool | quickConversion (std::string destUnitName, double &factor, double &power) const |
Is conversion by constant multiplication possible? More... | |
virtual double | singleFromTOF (const double tof) const =0 |
Convert a single tof value to this unit. More... | |
virtual double | singleToTOF (const double x) const =0 |
Convert a single X value to TOF. More... | |
void | toTOF (std::vector< double > &xdata, std::vector< double > &ydata, const double &_l1, const int &_emode, const UnitParametersMap ¶ms) |
void | toTOF (std::vector< double > &xdata, std::vector< double > &ydata, const double &_l1, const int &_emode, std::initializer_list< std::pair< const UnitParams, double > > params) |
Convert from the concrete unit to time-of-flight. More... | |
Unit () | |
(Empty) Constructor More... | |
virtual const std::string | unitID () const =0 |
The name of the unit. More... | |
virtual | ~Unit ()=default |
Virtual destructor. More... | |
Protected Member Functions | |
void | validateUnitParams (const int emode, const UnitParametersMap ¶ms) override |
Protected Member Functions inherited from Mantid::Kernel::Unit | |
void | addConversion (std::string to, const double &factor, const double &power=1.0) const |
Add a 'quick conversion' from the unit class on which this method is called. More... | |
virtual void | validateUnitParams (const int emode, const UnitParametersMap ¶ms) |
Protected Attributes | |
double | difc |
Protected Attributes inherited from Mantid::Kernel::Unit | |
int | emode |
emode :: The energy mode (0=elastic, 1=direct geometry, 2=indirect geometry) More... | |
bool | initialized |
The unit values have been initialized. More... | |
double | l1 |
l1 :: The source-sample distance (in metres) More... | |
const UnitParametersMap * | m_params |
additional parameters l2 :: distance from sample to detector (in metres) twoTheta :: scattering angle in radians efixed :: Value of fixed energy: EI (emode=1) or EF (emode=2) (in meV) difc :: diffractometer constant DIFC More... | |
Mantid::Kernel::Units::MomentumTransfer::MomentumTransfer | ( | ) |
Constructor.
Definition at line 839 of file Unit.cpp.
References Mantid::Kernel::Unit::addConversion().
Referenced by clone().
|
inlineoverridevirtual |
The full name of the unit.
Implements Mantid::Kernel::Unit.
Reimplemented in Mantid::Kernel::Units::QSquared.
|
overridevirtual |
Implements Mantid::Kernel::Unit.
Reimplemented in Mantid::Kernel::Units::QSquared.
Definition at line 878 of file Unit.cpp.
References MomentumTransfer().
|
overridevirtual |
This function returns maximal TOF value still reversibly convertible into the unit.
Implements Mantid::Kernel::Unit.
Reimplemented in Mantid::Kernel::Units::QSquared.
|
overridevirtual |
some units can be converted from TOF only in the range of TOF ; This function returns minimal TOF value still reversibly convertible into the unit.
Implements Mantid::Kernel::Unit.
Reimplemented in Mantid::Kernel::Units::QSquared.
Definition at line 875 of file Unit.cpp.
References difc.
|
overridevirtual |
Finalize the initialization.
This will be overridden by subclasses as needed.
Implements Mantid::Kernel::Unit.
Definition at line 855 of file Unit.cpp.
References Mantid::Kernel::difc, difc, Mantid::Kernel::Unit::l1, Mantid::Kernel::l2, Mantid::Kernel::Unit::m_params, Mantid::Kernel::Units::tofToDSpacingFactor(), and Mantid::Kernel::twoTheta.
|
overridevirtual |
A label for the unit to be printed on axes,.
Implements Mantid::Kernel::Unit.
Reimplemented in Mantid::Kernel::Units::QSquared.
Definition at line 837 of file Unit.cpp.
References Mantid::Kernel::Units::Symbol::InverseAngstrom.
|
overridevirtual |
Convert a single tof value to this unit.
tof | value to convert |
Implements Mantid::Kernel::Unit.
Reimplemented in Mantid::Kernel::Units::QSquared.
Definition at line 873 of file Unit.cpp.
References difc.
Referenced by Mantid::Kernel::Units::QSquared::singleFromTOF().
|
overridevirtual |
Convert a single X value to TOF.
x | value to convert |
Implements Mantid::Kernel::Unit.
Reimplemented in Mantid::Kernel::Units::QSquared.
Definition at line 871 of file Unit.cpp.
References difc, and Mantid::Geometry::x.
Referenced by Mantid::Kernel::Units::QSquared::singleToTOF().
|
overridevirtual |
"MomentumTransfer"
Implements Mantid::Kernel::Unit.
Reimplemented in Mantid::Kernel::Units::QSquared.
Referenced by validateUnitParams().
|
overrideprotectedvirtual |
Reimplemented from Mantid::Kernel::Unit.
Definition at line 845 of file Unit.cpp.
References Mantid::Kernel::difc, difc, Mantid::Kernel::l2, Mantid::Kernel::twoTheta, and unitID().
|
protected |
Definition at line 454 of file Unit.h.
Referenced by Mantid::Kernel::Units::QSquared::conversionTOFMax(), conversionTOFMin(), Mantid::Kernel::Units::QSquared::conversionTOFMin(), init(), singleFromTOF(), singleToTOF(), and validateUnitParams().