Mantid
Loading...
Searching...
No Matches
Jacobian.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
14namespace Mantid {
15namespace API {
22class Jacobian {
23public:
29 virtual void set(size_t iY, size_t iP, double value) = 0;
30
35 virtual double get(size_t iY, size_t iP) = 0;
36
39 virtual void zero() = 0;
40
42
45 virtual void addNumberToColumn(const double &value, const size_t &iActiveP) {
46 (void)value;
47 (void)iActiveP; // Avoid compiler warning
48 throw Kernel::Exception::NotImplementedError("No addNumberToColumn() method of Jacobian provided");
49 }
51
53 virtual ~Jacobian() = default;
54
55protected:
56};
57
58} // namespace API
59} // namespace Mantid
double value
The value of the point.
Definition: FitMW.cpp:51
Represents the Jacobian in IFitFunction::functionDeriv.
Definition: Jacobian.h:22
virtual ~Jacobian()=default
Virtual destructor.
virtual double get(size_t iY, size_t iP)=0
Get the value to a Jacobian matrix element.
virtual void zero()=0
Zero all matrix elements.
virtual void set(size_t iY, size_t iP, double value)=0
Set a value to a Jacobian matrix element.
Marks code as not implemented yet.
Definition: Exception.h:138
Helper class which provides the Collimation Length for SANS instruments.