12#include "MantidDataHandling/DllConfig.h"
18#include "MantidNexus/NexusFile.h"
20#include <boost/date_time/c_local_time_adjustor.hpp>
21#include <boost/date_time/local_time_adjustor.hpp>
22#include <boost/date_time/posix_time/posix_time.hpp>
23#include <boost/scoped_array.hpp>
56 const bool append_to_file =
true);
58 int writeNexusProcessedHeader(
const std::string &title,
const std::string &wsName =
"")
const;
60 void closeNexusFile();
65 const bool &raggedSpectra,
const std::vector<int> &indices,
66 const std::string &group_name,
bool write2Ddata)
const;
72 std::vector<int64_t>
const &indices,
double const *tofs,
73 float const *weights,
float const *errorSquareds, int64_t
const *pulsetimes,
76 template <
typename NumT>
78 bool compress =
false)
const;
87 std::shared_ptr<Nexus::File>
filehandle()
const {
return m_filehandle; }
97 bool writeNxValue(
const std::string &
name,
const std::string &
value,
const std::vector<std::string> &attributes,
98 const std::vector<std::string> &avalues)
const;
100 int findMantidWSEntries()
const;
106 template <
typename VecType,
typename ElemType>
108 const std::string &interpret_as)
const;
111 template <
typename ColumnT,
typename NexusT>
113 const std::string &columnName)
const;
127 const std::vector<std::string> &attributes,
128 const std::vector<std::string> &avalues)
const {
134 for (
unsigned int it = 0; it < attributes.size(); ++it) {
double value
The value of the point.
NXcompression
The available compression types:
Column is the base class for columns of TableWorkspace.
Helper class for reporting progress from algorithms.
Class that provides for a standard Nexus exception.
Utility methods for saving Mantid Workspaces in NeXus format.
std::shared_ptr< Nexus::File > m_filehandle
C++ API file handle.
bool writeNxValue(const std::string &name, const std::string &value, const std::vector< std::string > &attributes, const std::vector< std::string > &avalues) const
Write a simple value plus possible attributes.
API::Progress * m_progress
Allow an externally supplied progress object to be used.
std::shared_ptr< Nexus::File > filehandle() const
Nexus file handle.
NXcompression m_nexuscompression
Nexus compression method.
std::string m_filename
nexus file name
std::optional< size_t > optional_size_t
The primitive types published by this API.
std::shared_ptr< const ITableWorkspace > ITableWorkspace_const_sptr
shared pointer to Mantid::API::ITableWorkspace (const version)
std::shared_ptr< const MatrixWorkspace > MatrixWorkspace_const_sptr
shared pointer to the matrix workspace base class (const version)
std::shared_ptr< const Column > Column_const_sptr
std::shared_ptr< const EventWorkspace > EventWorkspace_const_sptr
shared pointer to a const Workspace2D
std::vector< dimsize_t > DimVector
std::shared_ptr< NexusFileIO > NexusFileIO_sptr
Helper typedef for a shared pointer of a NexusFileIO.
Helper class which provides the Collimation Length for SANS instruments.