Mantid
Loading...
Searching...
No Matches
PeakTransformFactory.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2018 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source,
5// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6// SPDX - License - Identifier: GPL - 3.0 +
7#pragma once
8
10#include <memory>
11
12namespace Mantid {
13namespace Geometry {
18class MANTID_GEOMETRY_DLL PeakTransformFactory {
19public:
21 virtual PeakTransform_sptr createTransform(const std::string &xPlotLabel, const std::string &yPlotLabel) const = 0;
22 virtual ~PeakTransformFactory() = default;
23};
24
26using PeakTransformFactory_sptr = std::shared_ptr<PeakTransformFactory>;
27} // namespace Geometry
28} // namespace Mantid
Abstract type defining Factory Method interface for generating PeakTransforms.
virtual PeakTransform_sptr createDefaultTransform() const =0
virtual PeakTransform_sptr createTransform(const std::string &xPlotLabel, const std::string &yPlotLabel) const =0
std::shared_ptr< PeakTransformFactory > PeakTransformFactory_sptr
Factory Shared Pointer typedef.
std::shared_ptr< PeakTransform > PeakTransform_sptr
Typedef for a PeakTransform wrapped in a shared_pointer.
Definition: PeakTransform.h:59
Helper class which provides the Collimation Length for SANS instruments.