12#include <nexus/NeXusFile.hpp>
51 void saveNexus(::NeXus::File *file,
const std::string &group)
const;
52 void loadNexus(::NeXus::File *file,
const std::string &group);
68 std::string axesInfo();
70 void pushAxis(
const std::string &name,
double axisx,
double axisy,
double axisz,
double angle = 0.,
int sense = CCW,
71 int angUnit = angDegrees);
74 void setRotationAngle(
const std::string &name,
double value);
77 void setRotationAngle(
size_t axisnumber,
double value);
80 void calcFromQSampleAndWavelength(
const Mantid::Kernel::V3D &Q,
double wavelength,
bool flip_x =
false,
87 size_t getNumberAxes()
const;
89 void makeUniversalGoniometer();
91 std::vector<double> getEulerAngles(
const std::string &convention =
"YZX");
93 void saveNexus(::NeXus::File *file,
const std::string &group)
const;
94 void loadNexus(::NeXus::File *file,
const std::string &group);
96 bool isDefined()
const;
double value
The value of the point.
Class to represent a particular goniometer setting, which is described by the rotation matrix.
bool initFromR
Flag to specify if the goniometer is initialized from a rotation matrix.
std::vector< GoniometerAxis > motors
Motors vector contains GoniometerAxis objects, the last one is the closest to the sample.
virtual ~Goniometer()=default
Kernel::DblMatrix R
Global rotation matrix of the goniometer.
Helper class which provides the Collimation Length for SANS instruments.
constexpr bool operator==(const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
constexpr bool operator!=(const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
Counter clockwise rotation.
double angle
GoniometerAxis direction.
void loadNexus(::NeXus::File *file, const std::string &group)
int angleunit
Rotation sense (1 for CCW, -1 for CW)
void saveNexus(::NeXus::File *file, const std::string &group) const
Kernel::V3D rotationaxis
GoniometerAxis name.
GoniometerAxis(std::string initname, const Kernel::V3D &initrotationaxis, double initangle, int initsense, int initangleunit)
angle units are angDegrees or angRadians (see AngleUnits.h)