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;
68 bool containsCalibratedData(
const std::string &filename)
const;
70 std::vector<double> getScannedVaribleByPropertyName(
const NeXus::NXDouble &scan,
71 const std::string &propertyName)
const;
73 void initStaticWorkspace(
const std::string &start_time);
74 void initMovingWorkspace(
const NeXus::NXDouble &scan,
const std::string &start_time);
80 void loadStaticInstrument();
81 void moveTwoThetaZero(
double);
82 void resolveInstrument();
83 void resolveScanType();
85 void computeThetaOffset();
86 void convertAxisAndTranspose();
89 double m_offsetTheta{0.};
103 double m_pixelHeight{0.};
104 double m_maxHeight{0.};
108 bool m_useCalibratedData{
false};
110 bool m_isSpectrometer{
false};
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
Defines a wrapper around a file whose internal structure can be accessed using the NeXus API.
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)