Mantid
Loading...
Searching...
No Matches
GridDomain.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//----------------------------------------------------------------------
12#include <vector>
13
14#include "MantidAPI/DllConfig.h"
16
17namespace Mantid {
18namespace API {
19/*Base class that represents the grid domain from which a function may take its
20 arguments.
21 Grids are multidimensional objects, grids are a composition of grids.
22
23 @author Jose Borreguero
24 @date Aug/28/2012
25*/
26
27class MANTID_API_DLL GridDomain : public API::FunctionDomain {
28public:
30 size_t size() const override;
32 size_t nDimensions();
34 std::shared_ptr<GridDomain> getGrid(size_t index);
36 void reScale(const std::string &scaling);
37
38private:
40 std::vector<std::shared_ptr<GridDomain>> m_grids;
41
42}; // class IGridDomain
43
45using GridDomain_sptr = std::shared_ptr<GridDomain>;
46
47} // namespace API
48} // namespace Mantid
std::map< DeltaEMode::Type, std::string > index
Definition: DeltaEMode.cpp:19
Base class that represents the domain of a function.
std::vector< std::shared_ptr< GridDomain > > m_grids
composition of grids
Definition: GridDomain.h:40
std::shared_ptr< GridDomain > GridDomain_sptr
typedef for a shared pointer
Definition: GridDomain.h:45
Helper class which provides the Collimation Length for SANS instruments.