11#include "MantidDataHandling/DllConfig.h"
13#include <boost/optional.hpp>
15#include <nexus/NeXusFile.hpp>
21namespace DataHandling {
40 const std::string
name()
const override {
return "SaveNexusProcessed"; }
42 const std::string
summary()
const override {
43 return "The SaveNexusProcessed algorithm will write the given Mantid "
44 "workspace to a Nexus file. SaveNexusProcessed may be invoked by "
49 int version()
const override {
return 1; }
50 const std::vector<std::string>
seeAlso()
const override {
51 return {
"SaveISISNexus",
"SaveNexus",
"LoadNexusProcessed"};
54 const std::string
category()
const override {
return "DataHandling\\Nexus"; }
57 const std::vector<int> &wsIndices,
58 const ::NeXus::NXcompression compression = ::NeXus::LZW)
const;
60 void saveSpectrumNumbersNexus(
const API::MatrixWorkspace &ws, ::NeXus::File *file,
const std::vector<int> &wsIndices,
61 const ::NeXus::NXcompression compression = ::NeXus::LZW)
const;
67 bool processGroups()
override;
78 static void appendEventListData(
const std::vector<T> &events,
size_t offset,
double *tofs,
float *weights,
79 float *errorSquareds, int64_t *pulsetimes);
83 void setOtherProperties(
IAlgorithm *alg,
const std::string &propertyName,
const std::string &propertyValue,
84 int perioidNum)
override;
86 const bool keepFile =
false, boost::optional<size_t> entryNumber = boost::optional<size_t>());
93 double m_timeProgInit{0.0};
IAlgorithm is the interface implemented by the Algorithm base class.
Base MatrixWorkspace Abstract Class.
Base class for algorithms that can only run serially (Parallel::ExecutionMode::MasterOnly) in an MPI ...
DataHandling/SaveNexusProcessed.h.
DataObjects::EventWorkspace_const_sptr m_eventWorkspace
Pointer to the local workspace, cast to EventWorkspace.
const std::string summary() const override
Summary of algorithms purpose.
virtual bool saveLegacyInstrument()
API::MatrixWorkspace_const_sptr m_inputWorkspace
Pointer to the local workspace.
const std::vector< std::string > seeAlso() const override
Function to return all of the seeAlso (these are not validated) algorithms related to this algorithm....
const std::string name() const override
Algorithm's name for identification overriding a virtual method.
int version() const override
Algorithm's version for identification overriding a virtual method.
const std::string category() const override
Algorithm's category for identification overriding a virtual method.
std::unique_ptr< API::Progress > m_progress
Progress bar.
Utility method for saving NeXus format of Mantid Workspace This class interfaces to the C Nexus API.
std::shared_ptr< Workspace > Workspace_sptr
shared pointer to Mantid::API::Workspace
std::shared_ptr< const MatrixWorkspace > MatrixWorkspace_const_sptr
shared pointer to the matrix workspace base class (const version)
std::shared_ptr< const EventWorkspace > EventWorkspace_const_sptr
shared pointer to a const Workspace2D
Helper class which provides the Collimation Length for SANS instruments.