11#include "MantidDataHandling/DllConfig.h"
13#include <boost/scoped_array.hpp>
15#include <nexus/NeXusFile.hpp>
16#include <nexus/NeXusException.hpp>
21namespace HistogramData {
25namespace DataHandling {
43namespace LoadNexusMonitorsAlg {
58 const std::string
name()
const override {
return "LoadNexusMonitors"; }
61 const std::string
summary()
const override {
return "Load all monitors from a NeXus file into a workspace."; }
64 int version()
const override {
return 2; }
65 const std::vector<std::string>
seeAlso()
const override {
return {
"LoadNexus"}; }
68 const std::string
category()
const override {
return "DataHandling\\Nexus"; }
79 void fixUDets(::NeXus::File &file);
85 bool canOpenAsNeXus(
const std::string &fname);
88 void splitMutiPeriodHistrogramData(
const size_t numPeriods);
90 size_t getMonitorInfo(NeXus::File &file,
size_t &numPeriods);
92 bool createOutputWorkspace(std::vector<bool> &loadMonitorFlags);
94 void readEventMonitorEntry(NeXus::File &file,
size_t ws_index);
96 void readHistoMonitorEntry(NeXus::File &file,
size_t ws_index,
size_t numPeriods);
104 size_t m_monitor_count{0};
Base class for algorithms that can run in parallel on all MPI ranks but not in a distributed fashion.
int version() const override
Algorithm's version for identification overriding a virtual method.
const std::vector< std::string > seeAlso() const override
Function to return all of the seeAlso (these are not validated) algorithms related to this algorithm....
std::vector< LoadNexusMonitorsAlg::MonitorInfo > m_monitorInfo
std::string m_filename
The name and path of the input file.
std::vector< HistogramData::BinEdges > m_multiPeriodBinEdges
std::string m_top_entry_name
name of top level NXentry to use
const std::string name() const override
Algorithm's name for identification.
const std::string summary() const override
Summary of algorithms purpose.
API::MatrixWorkspace_sptr m_workspace
The workspace being filled out.
const std::string category() const override
Algorithm's category for identification overriding a virtual method.
std::vector< HistogramData::Counts > m_multiPeriodCounts
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class
Helper class which provides the Collimation Length for SANS instruments.
int32_t detid_t
Typedef for a detector ID.
int32_t specnum_t
Typedef for a spectrum Number.
detid_t detNum
monitorName
std::string name
name of the group in the nexus file - TODO was