Mantid
Loading...
Searching...
No Matches
MatrixProperty.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2011 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 "MantidKernel/Matrix.h"
15
16namespace Mantid {
17namespace Kernel {
18
19template <class TYPE = double> class MatrixProperty : public PropertyWithValue<Matrix<TYPE>> {
22
23public:
25 MatrixProperty(const std::string &propName, const IValidator_sptr &validator = IValidator_sptr(new NullValidator),
26 unsigned int direction = Direction::Input);
29 // Unhide base class members (at minimum, avoids Intel compiler warning)
30 using PropertyWithValue<HeldType>::operator=;
32 inline MatrixProperty *clone() const override { return new MatrixProperty(*this); }
34 ~MatrixProperty() override;
35
38 throw Exception::NotImplementedError("+= operator is not implemented for MatrixProperty.");
39 }
40
41private:
44};
45} // namespace Kernel
46} // namespace Mantid
const std::vector< double > & rhs
Marks code as not implemented yet.
Definition: Exception.h:138
MatrixProperty()
Default constructor.
MatrixProperty * clone() const override
'Virtual copy constructor'
MatrixProperty & operator+=(Kernel::Property const *) override
Add the value of another property. Doesn't make sense here.
~MatrixProperty() override
Destructor.
Numerical Matrix class.
Definition: Matrix.h:42
NullValidator is a validator that doesn't.
Definition: NullValidator.h:20
The concrete, templated class for properties.
Base class for properties.
Definition: Property.h:94
unsigned int direction() const
returns the direction of the property
Definition: Property.h:172
std::shared_ptr< IValidator > IValidator_sptr
A shared_ptr to an IValidator.
Definition: IValidator.h:26
Helper class which provides the Collimation Length for SANS instruments.
@ Input
An input workspace.
Definition: Property.h:53