17#include "MantidDataHandling/DllConfig.h"
25namespace DataHandling {
41 void init(
bool hdfLoader);
42 void exec(
const std::string &hdfFile,
const std::string &eventFile);
48 std::vector<bool>
createRoiVector(
const std::string &seltubes,
const std::string &maskfile);
69 void calibrateDopplerPhase(
const std::vector<size_t> &eventCounts,
const std::vector<EventVector_pt> &eventVectors);
70 void dopplerTimeToTOF(std::vector<EventVector_pt> &eventVectors,
double &minTOF,
double &maxTOF);
74 std::vector<EventVector_pt> &eventVectors);
122 int version()
const override;
123 const std::vector<std::string> seeAlso()
const override;
124 const std::string category()
const override;
125 const std::string name()
const override;
126 const std::string summary()
const override;
130 void exec()
override;
131 void init()
override;
159 int version()
const override;
160 const std::vector<std::string> seeAlso()
const override;
161 const std::string category()
const override;
162 const std::string name()
const override;
163 const std::string summary()
const override;
167 void exec()
override;
168 void init()
override;
virtual void init()=0
Virtual method - must be overridden by concrete algorithm.
virtual void exec()=0
Virtual method - must be overridden by concrete algorithm.
Defines an interface to an algorithm that loads a file so that it can take part in the automatic sele...
This class contains the information about the log entries.
helper class to keep track of progress
LoadEMUHdf : Loads an ANSTO EMU Hdf and linked event file into a workspace.
LoadEMUTar : Loads a merged ANSTO EMU Hdf and event file into a workspace.
void prepareEventStorage(ANSTO::ProgressTracker &prog, const std::vector< size_t > &eventCounts, std::vector< EventVector_pt > &eventVectors)
Allocate space for the event storage in eventVectors after the eventCounts have been determined.
void calibrateDopplerPhase(const std::vector< size_t > &eventCounts, const std::vector< EventVector_pt > &eventVectors)
Calibrate the doppler phase based on the analysed events using the eventCounts and eventVectors.
std::vector< bool > createRoiVector(const std::string &seltubes, const std::string &maskfile)
Region of interest is defined by the selected detectors and the maskfile.
void loadInstrument()
Load the instrument definition.
void loadParameters(const std::string &hdfFile, API::LogManager &logm)
Load parameters from input hdfFile and save to the log manager, logm.
void dopplerTimeToTOF(std::vector< EventVector_pt > &eventVectors, double &minTOF, double &maxTOF)
Convert the doppler time to TOF for all the events in eventVectors and time of flight range as minTOF...
void loadDetectorL2Values()
Recovers the L2 neutronic distance for each detector.
void setupDetectorMasks(const std::vector< bool > &roi)
Set up the detector masks to the region of interest roi.
void updateNeutronicPostions(detid_t detID, double sampleAnalyser)
Update the neutronic position for the detID using the distance from the source and the sample to anal...
void loadDopplerParameters(API::LogManager &logm)
Get the Doppler parameters and record to the log manager, logm.
DataObjects::EventWorkspace_sptr m_localWorkspace
void createWorkspace(const std::string &title)
Creates an event workspace and sets the title.
void loadEnvironParameters(const std::string &hdfFile, API::LogManager &logm)
Load the environment variables from the hdfFile and save as time series to the log manager,...
std::vector< double > m_detectorL2
Defines a wrapper around an open file.
Defines a wrapper around a file whose internal structure can be accessed using the NeXus API.
std::vector< Types::Event::TofEvent > * EventVector_pt
pointer to the vector of events
std::shared_ptr< EventWorkspace > EventWorkspace_sptr
shared pointer to the EventWorkspace class
Helper class which provides the Collimation Length for SANS instruments.