9#include "../../src/LoadRaw/isisraw2.h"
11#include "MantidDataHandling/DllConfig.h"
13#include <nexus/NeXusFile.hpp>
19namespace DataHandling {
37 const std::string
name()
const override {
return "SaveISISNexus"; };
39 const std::string
summary()
const override {
40 return "The SaveISISNexus algorithm will convert a RAW file to a NeXus "
45 int version()
const override {
return 1; };
46 const std::vector<std::string>
seeAlso()
const override {
return {
"SaveNexusProcessed",
"SaveNexus",
"LoadNexus"}; }
48 const std::string
category()
const override {
return "DataHandling\\Nexus"; }
77 int *getMonitorData(
int period,
int imon);
79 void saveInt(
const char *name,
void *data,
int size = 1);
80 void saveChar(
const char *name,
void *data,
int size);
81 void saveFloat(
const char *name,
void *data,
int size);
82 void saveIntOpen(
const char *name,
void *data,
int size = 1);
83 void saveCharOpen(
const char *name,
void *data,
int size);
84 void saveFloatOpen(
const char *name,
void *data,
int size);
85 int saveStringVectorOpen(
const char *name,
const std::vector<std::string> &str_vec,
int max_str_size = -1);
86 void saveString(
const char *name,
const std::string &str);
87 void saveStringOpen(
const char *name,
const std::string &str);
88 inline void close() { NXclosedata(handle); }
90 void putAttr(
const char *name,
const std::string &
value);
91 void putAttr(
const char *name,
char *
value,
int size);
92 void putAttr(
const char *name,
int value,
int size = 1);
93 void toISO8601(std::string &str);
98 void write_isis_vms_compat();
100 void write_monitors();
102 void monitor_i(
int i);
114 void make_detector_1_link();
122 void write_runlog(
const char *name,
void *times,
void *data,
int type,
int size,
const std::string &units);
124 void write_logOpen(
const char *name,
void *times,
void *data,
int type,
int size,
const std::string &units);
double value
The value of the point.
Base class from which all concrete algorithm classes should be derived.
The SaveISISNexus algorithm will convert a RAW file to a NeXus file.
std::unique_ptr< ISISRAW2 > m_isisRaw
int version() const override
Algorithm's version for identification overriding a virtual method.
void closegroup()
close an open group.
int ndet
number of detectors
const std::string summary() const override
Summary of algorithms purpose.
void close()
close an open dataset.
NXlink spectrum_index_link
const std::string category() const override
Algorithm's category for identification overriding a virtual method.
std::string inputFilename
The name and path of the input file.
int ntc
number of time channels
std::vector< int > monitorData
int nmon
number of monitors
NXlink time_of_flight_raw_link
std::vector< std::string > log_notes
const std::string name() const override
Algorithm's name for identification overriding a virtual method.
std::string start_time_str
int nper
number of periods
const std::vector< std::string > seeAlso() const override
Function to return all of the seeAlso (these are not validated) algorithms related to this algorithm....
NXlink time_of_flight_link
std::map< int, int > monitor_index
<spectrum_index,monitor_index>.
To be used with std::generate to copy only those values from a dataset that don't relate to monitors.
Helper class which provides the Collimation Length for SANS instruments.