13#include <nexus/NeXusFile.hpp>
14#include <nexus/NeXusException.hpp>
22Kernel::Logger
g_log(
"FileBackedExperimentInfo");
31 :
ExperimentInfo(), m_loaded(false), m_filename(
std::move(filename)), m_nxpath(
std::move(nxpath)) {}
62 std::string parameterStr;
65 }
catch (::NeXus::Exception &exc) {
66 std::ostringstream os;
67 os <<
"Unable to load experiment information from NeXus file: " << exc.what() <<
"\n";
68 throw std::runtime_error(os.str());
This class is shared by a few Workspace types and holds information related to a particular experimen...
void readParameterMap(const std::string ¶meterStr)
Populate the parameter map given a string.
void loadExperimentInfoNexus(const std::string &nxFilename, ::NeXus::File *file, std::string ¶meterStr, const Mantid::Kernel::NexusHDF5Descriptor &fileInfo, const std::string &prefix)
Implements a lazy-loading mechanism for the experimental information stored in a NeXus file.
ExperimentInfo * cloneExperimentInfo() const override
This clones the FileBackedExperimentInfo and will not cause a load of the information.
FileBackedExperimentInfo(std::string filename, std::string nxpath)
Create an object based on a NeXus file and path.
void populateIfNotLoaded() const override
Check if the object has been populated and load the information if it has not.
void populateFromFile() const
Populate this object with the data from the file.
Kernel::Logger g_log("ExperimentInfo")
static logger object