Mantid
Loading...
Searching...
No Matches
JointDomain.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2009 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
9//----------------------------------------------------------------------
10// Includes
11//----------------------------------------------------------------------
13#include "MantidAPI/DllConfig.h"
14
15#include <algorithm>
16#include <stdexcept>
17#include <vector>
18
19namespace Mantid {
20namespace API {
26class MANTID_API_DLL JointDomain : public CompositeDomain {
27public:
29 size_t size() const override;
31 size_t getNParts() const override;
33 const FunctionDomain &getDomain(size_t i) const override;
34 void addDomain(const FunctionDomain_sptr &domain);
35
36protected:
38 std::vector<FunctionDomain_sptr> m_domains;
39};
40
41} // namespace API
42} // namespace Mantid
Base class for a composite domain.
Base class that represents the domain of a function.
An implementation of CompositeDomain.
Definition: JointDomain.h:26
std::vector< FunctionDomain_sptr > m_domains
Vector with member domains.
Definition: JointDomain.h:38
std::shared_ptr< FunctionDomain > FunctionDomain_sptr
typedef for a shared pointer
Helper class which provides the Collimation Length for SANS instruments.