Skip to content
Snippets Groups Projects
NexusFileLoader.h 1.12 KiB
Newer Older
Hahn, Steven's avatar
Hahn, Steven committed
// Mantid Repository : https://github.com/mantidproject/mantid
//
// Copyright © 2013 ISIS Rutherford Appleton Laboratory UKRI,
//     NScD Oak Ridge National Laboratory, European Spallation Source
//     & Institut Laue - Langevin
// SPDX - License - Identifier: GPL - 3.0 +
#pragma once

#include "MantidAPI/IFileLoader.h"
#include "MantidKernel/NexusHDF5Descriptor.h"
Hahn, Steven's avatar
Hahn, Steven committed
#include "MantidKernel/System.h"
namespace Mantid::DataHandling {
class DLLExport NexusFileLoader
    : public API::IFileLoader<Mantid::Kernel::NexusHDF5Descriptor> {
Hahn, Steven's avatar
Hahn, Steven committed
public:
  void
  exec() override final; // makes sure the NexusHDF5Descriptor is initialized
  virtual void execLoader() = 0; // what would normally be called exec
  boost::shared_ptr<Algorithm> createChildAlgorithm(
      const std::string &name, const double startProgress = -1.,
      const double endProgress = -1., const bool enableLogging = true,
      const int &version = -1) override;
  virtual void
  setFileInfo(std::shared_ptr<Mantid::Kernel::NexusHDF5Descriptor> fileInfo);
Hahn, Steven's avatar
Hahn, Steven committed

Hahn, Steven's avatar
Hahn, Steven committed
private:
  std::shared_ptr<Mantid::Kernel::NexusHDF5Descriptor> m_fileInfo;
} // namespace Mantid::DataHandling