Mantid
Loading...
Searching...
No Matches
NexusFileLoader.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2013 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source
5// & Institut Laue - Langevin
6// SPDX - License - Identifier: GPL - 3.0 +
7#pragma once
8
10#include "MantidKernel/DllConfig.h"
12
13namespace Mantid::API {
14
15class MANTID_API_DLL NexusFileLoader : public API::IFileLoader<Mantid::Kernel::NexusHDF5Descriptor> {
16public:
17 void exec() override final; // makes sure the NexusHDF5Descriptor is initialized
18 virtual void execLoader() = 0; // what would normally be called exec
19 // the name of the property that the NexusHDF5Descriptor should be created
20 // against
21
22 virtual std::string getFilenamePropertyName() const;
23 std::shared_ptr<Algorithm> createChildAlgorithm(const std::string &name, const double startProgress = -1.,
24 const double endProgress = -1., const bool enableLogging = true,
25 const int &version = -1) override;
26 virtual void setFileInfo(std::shared_ptr<Mantid::Kernel::NexusHDF5Descriptor> fileInfo);
27
31 virtual const std::shared_ptr<Mantid::Kernel::NexusHDF5Descriptor> getFileInfo() const noexcept;
32
33 virtual int confidence(Kernel::NexusHDF5Descriptor &descriptor) const override = 0;
34
35private:
36 std::shared_ptr<Mantid::Kernel::NexusHDF5Descriptor> m_fileInfo;
37};
38} // namespace Mantid::API
Defines an interface to an algorithm that loads a file so that it can take part in the automatic sele...
Definition: IFileLoader.h:19
virtual void execLoader()=0
Helper class which provides the Collimation Length for SANS instruments.
STL namespace.