12#include "MantidDataHandling/DllConfig.h"
19namespace DataHandling {
27 const std::string
name()
const override;
28 int version()
const override;
29 const std::vector<std::string>
seeAlso()
const override {
return {
"LoadNexus"}; }
30 const std::string category()
const override;
31 const std::string summary()
const override;
36 enum ScanType :
size_t { NoScan = 0, DetectorScan = 1, OtherScan = 2 };
46 : axis(0), scanned(0),
name(
std::move(
n)), property(
std::move(p)), unit(
std::move(u)) {}
53 std::map<std::string, std::string> validateInputs()
override;
56 void calculateRelativeRotations(std::vector<double> &instrumentAngles,
const Kernel::V3D &firstTubePosition);
62 std::vector<Types::Core::DateAndTime> getAbsoluteTimes(
const Nexus::NXDouble &)
const;
66 std::string getInstrumentFilePath(
const std::string &)
const;
69 std::vector<double> getScannedVaribleByPropertyName(
const Nexus::NXDouble &scan,
70 const std::string &propertyName)
const;
72 void initStaticWorkspace();
78 void moveTwoThetaZero(
double);
79 void resolveInstrument();
80 void resolveScanType();
82 void computeThetaOffset();
83 void convertAxisAndTranspose();
86 double m_offsetTheta{0.};
100 double m_pixelHeight{0.};
101 double m_maxHeight{0.};
Defines an interface to an algorithm that loads a file so that it can take part in the automatic sele...
LoadILLDiffraction : Loads ILL diffraction nexus files.
std::vector< ScannedVariables > m_scanVar
holds the scan info
size_t m_sizeDim1
size of dim1, number of tubes (D2B) or the whole detector (D20)
size_t m_sizeDim2
size of dim2, number of pixels (1 for D20!)
size_t m_resolutionMode
resolution mode; 1:low, 2:nominal, 3:high
API::MatrixWorkspace_sptr m_outWorkspace
output workspace
std::string m_instName
instrument name to load the IDF
size_t m_numberDetectorsRead
number of cells read from file
const std::vector< std::string > seeAlso() const override
Function to return all of the seeAlso (these are not validated) algorithms related to this algorithm....
size_t m_numberDetectorsActual
number of cells actually active
ScanType m_scanType
NoScan, DetectorScan or OtherScan.
std::set< std::string > m_instNames
supported instruments
std::string m_filename
file name to load
size_t m_numberScanPoints
number of scan points
Types::Core::DateAndTime m_startTime
start time of acquisition
Templated class implementation of NXDataSet.
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class
Helper class which provides the Collimation Length for SANS instruments.
ScannedVariables(std::string n, std::string p, std::string u)