10#include "MantidDataHandling/DllConfig.h"
15namespace DataHandling {
23 const std::string name()
const override;
24 const std::string summary()
const override;
25 int version()
const override;
26 const std::vector<std::string>
seeAlso()
const override {
return {
"LoadNexus"}; }
27 const std::string category()
const override;
42 strm <<
"DetectorPosition : "
43 <<
"distanceSampleRear = " << distanceSampleRear <<
", "
44 <<
"distanceSampleBottomTop = " << distanceSampleBottomTop <<
", "
45 <<
"distanceSampleRightLeft = " << distanceSampleRightLeft <<
", "
46 <<
"shiftLeft = " << shiftLeft <<
", "
47 <<
"shiftRight = " << shiftRight <<
", "
48 <<
"shiftUp = " << shiftUp <<
", "
49 <<
"shiftDown = " << shiftDown <<
'\n';
55 void setInstrumentName(
const NeXus::NXEntry &,
const std::string &);
56 DetectorPosition getDetectorPositionD33(
const NeXus::NXEntry &,
const std::string &);
57 void setNumberOfMonitors();
64 void createEmptyWorkspace(
const size_t,
const size_t,
const MultichannelType type = MultichannelType::TOF);
65 void getDataDimensions(
const NeXus::NXInt &data,
int &numberOfChannels,
int &numberOfTubes,
66 int &numberOfPixelsPerTube);
67 size_t loadDataFromMonitors(
NeXus::NXEntry &firstEntry,
size_t firstIndex = 0,
69 size_t loadDataFromD16ScanMonitors(
const NeXus::NXEntry &firstEntry,
size_t firstIndex,
70 const std::vector<double> &binning);
71 size_t loadDataFromTubes(
NeXus::NXInt &,
const std::vector<double> &,
size_t,
73 void runLoadInstrument();
75 void moveDetectorDistance(
double distance,
const std::string &componentName);
76 void moveDetectorHorizontal(
double,
const std::string &);
77 void moveDetectorVertical(
double,
const std::string &);
78 Kernel::V3D getComponentPosition(
const std::string &componentName);
80 std::string getInstrumentFilePath(
const std::string &)
const;
81 void rotateInstrument(
double,
const std::string &);
82 void placeD16(
double,
double,
const std::string &);
96 void setFinalProperties(
const std::string &filename);
99 std::vector<double> getOmegaBinning(
const NeXus::NXEntry &entry,
const std::string &path)
const;
Defines an interface to an algorithm that loads a file so that it can take part in the automatic sele...
LoadILLSANS; supports D11, D22 and D33 (TOF/monochromatic)
void initWorkSpaceD16(NeXus::NXEntry &, const std::string &)
bool m_isTOF
TOF or monochromatic flag.
double m_sourcePos
Source Z (for D33 TOF)
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_numberOfMonitors
Number of monitors in this instrument.
std::vector< double > m_defaultBinning
the default x-axis binning
std::vector< std::string > m_supportedInstruments
List of supported instruments.
API::MatrixWorkspace_sptr m_localWorkspace
to-be output workspace
bool m_isD16Omega
Data comes from a D16 omega scan flag.
std::string m_instrumentName
Name of the instrument.
std::string m_resMode
Resolution mode for D11 and D22.
Defines a wrapper around a file whose internal structure can be accessed using the NeXus API.
Templated class implementation of NXDataSet.
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.
void operator>>(std::ostream &strm)
double distanceSampleRear
double distanceSampleBottomTop
double distanceSampleRightLeft