11#include "MantidDataHandling/DllConfig.h"
14#include "MantidTypes/Core/DateAndTime.h"
17namespace DataHandling {
27 const std::string
name()
const override {
return "LoadILLReflectometry"; }
29 int version()
const override {
return 1; }
30 const std::vector<std::string>
seeAlso()
const override {
return {
"LoadNexus"}; }
32 const std::string
category()
const override {
return "DataHandling\\Nexus;ILL\\Reflectometry"; }
34 const std::string
summary()
const override {
35 return "Loads an ILL reflectometry Nexus file (instrument D17 or "
38 double doubleFromRun(
const std::string &entryName)
const;
45 double sampleDetectorDistance()
const;
46 double sourceSampleDistance()
const;
47 void sampleHorizontalOffset();
49 void initWorkspace(
const std::vector<std::vector<int>> &monitorsData);
51 void initPixelWidth();
53 std::vector<double> getXValues();
54 void convertTofToWavelength();
55 double reflectometryPeak();
56 void loadData(
const NeXus::NXEntry &entry,
const std::vector<std::vector<int>> &monitorsData,
57 const std::vector<double> &xVals);
58 void loadNexusEntriesIntoProperties();
59 std::vector<int> loadSingleMonitor(
const NeXus::NXEntry &entry,
const std::string &monitor_data);
60 std::vector<std::vector<int>> loadMonitors(
const NeXus::NXEntry &entry);
61 void loadInstrument();
64 double detectorRotation();
68 double collimationAngle()
const;
69 double offsetAngle(
const double peakCentre,
const double detectorCentre,
const double detectorDistance)
const;
72 size_t m_numberOfChannels{0};
73 size_t m_numberOfHistograms{0};
78 double m_tofDelay{0.0};
79 double m_channelWidth{0.0};
80 double m_detectorDistance{0.0};
81 double m_pixelWidth{0.0};
82 double m_sampleZOffset{0.0};
83 double m_sourceDistance{0.0};
84 double m_sampleAngle{0.0};
Defines an interface to an algorithm that loads a file so that it can take part in the automatic sele...
LoadILLReflectometry : Loads an ILL reflectometry Nexus data file.
int version() const override
Algorithm's version for identification.
std::string m_chopper1Name
const std::string category() const override
Algorithm's category for search and find.
const std::vector< std::string > seeAlso() const override
Function to return all of the seeAlso (these are not validated) algorithms related to this algorithm....
Mantid::Types::Core::DateAndTime m_startTime
const std::string name() const override
Algorithm's name for identification.
API::MatrixWorkspace_sptr m_localWorkspace
std::string m_sampleAngleName
LoadILLReflectometry()=default
const std::string summary() const override
Algorithm's summary.
Supported
ID tags for supported instruments.
std::string m_chopper2Name
Defines a wrapper around a file whose internal structure can be accessed using the NeXus API.
Implements NXentry Nexus class.
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class
Helper class which provides the Collimation Length for SANS instruments.