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//-----------------------------------------------------------------------------
13#include "MantidKernel/Matrix.h"
15
16namespace Mantid {
17namespace Kernel {
18
19// Instantiated and exported by PropertyWithValue.cpp
23
24template <class TYPE = double> class MatrixProperty : public PropertyWithValue<Matrix<TYPE>> {
27
28public:
30 MatrixProperty(const std::string &propName, const IValidator_sptr &validator = nullptr,
31 unsigned int direction = Direction::Input);
34 // Unhide base class members (at minimum, avoids Intel compiler warning)
35 using PropertyWithValue<HeldType>::operator=;
37 inline MatrixProperty *clone() const override { return new MatrixProperty(*this); }
39 ~MatrixProperty() override;
40
43 throw Exception::NotImplementedError("+= operator is not implemented for MatrixProperty.");
44 }
45
46private:
49};
50} // namespace Kernel
51} // namespace Mantid
const std::vector< double > & rhs
Marks code as not implemented yet.
Definition Exception.h:138
MatrixProperty()
Default constructor.
Kernel::Matrix< TYPE > HeldType
Typedef the held type.
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:41
The concrete, templated class for properties.
Base class for properties.
Definition Property.h:95
unsigned int direction() const
returns the direction of the property
Definition Property.h:177
std::shared_ptr< IValidator > IValidator_sptr
A shared_ptr to an IValidator.
MANTID_KERNEL_EXTERN_TEMPLATE(PropertyWithValue< Matrix< float > >)
Helper class which provides the Collimation Length for SANS instruments.
@ Input
An input workspace.
Definition Property.h:54