Mantid
Loading...
Searching...
No Matches
GridDomain1D.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 "MantidAPI/DllConfig.h"
14#include <stdexcept>
15#include <string>
16
17namespace Mantid {
18namespace API {
19/*Base class that represents a one dimensional grid domain,
20 from which a function may take its arguments.
21
22 @author Jose Borreguero
23 @date Aug/28/2012
24*/
25
26class MANTID_API_DLL GridDomain1D : public API::GridDomain {
27public:
29 void initialize(const double startX, const double endX, const size_t n, const std::string &scaling);
31 size_t size() const override { return m_points.size(); }
33 size_t nDimensions() { return 1; }
34 void reScale(const std::string &scaling);
35 std::vector<double> &getPoints() { return m_points; }
36
37private:
38 std::string m_scaling;
39 std::vector<double> m_points;
40
41}; // class IGridDomain
42
44using GridDomain1D_sptr = std::shared_ptr<GridDomain1D>;
45
46} // namespace API
47} // namespace Mantid
size_t size() const override
number of grid point s
Definition: GridDomain1D.h:31
std::vector< double > & getPoints()
Definition: GridDomain1D.h:35
std::vector< double > m_points
Definition: GridDomain1D.h:39
size_t nDimensions()
number of dimensions in the grid
Definition: GridDomain1D.h:33
std::shared_ptr< GridDomain1D > GridDomain1D_sptr
typedef for a shared pointer
Definition: GridDomain1D.h:44
Helper class which provides the Collimation Length for SANS instruments.