9#include "MantidDataHandling/DllConfig.h"
13namespace DataHandling {
23 const std::string &name)
const = 0;
42 const std::string &specName,
const std::string &canName);
44 size_t cacheSize()
const;
63 const std::string &name)
const override;
67 const std::string m_fileext =
".xml";
Interface for a class responsible for finding a specification based on a name.
virtual SampleEnvironmentSpec_uptr find(const std::string &facility, const std::string &instrument, const std::string &name) const =0
virtual SampleEnvironmentSpec_uptr parseSpec(const std::string &name, const std::string &filename) const =0
virtual ~ISampleEnvironmentSpecFinder()=default
Create a single instance of a SampleEnvironment.
SampleEnvironmentFactory()=default
ISampleEnvironmentSpecFinder_uptr m_finder
Class responsible for finding a specifications on disk.
const std::vector< std::string > m_rootDirs
std::unique_ptr< SampleEnvironmentSpec > SampleEnvironmentSpec_uptr
unique_ptr to a SampleEnvironmentSpec
std::unique_ptr< ISampleEnvironmentSpecFinder > ISampleEnvironmentSpecFinder_uptr
std::unique_ptr< T > create(const P &parent, const IndexArg &indexArg, const HistArg &histArg)
This is the create() method that all the other create() methods call.
std::unique_ptr< SampleEnvironment > SampleEnvironment_uptr
Helper class which provides the Collimation Length for SANS instruments.