Skip to content
Snippets Groups Projects
Commit 04b8e473 authored by Brandon Hewer's avatar Brandon Hewer
Browse files

Add relevant comments to the model

Refs #22064
parent ebe3c88b
No related branches found
No related tags found
No related merge requests found
......@@ -22,6 +22,12 @@ std::vector<T> vectorFromString(const std::string &listString) {
}
}
/*
* Representation of a discontinuous spectra range.
* Can be used in a vector-like manner.
*
* Holds a string and vector representation.
*/
template <typename T> class DiscontinuousSpectra {
public:
explicit DiscontinuousSpectra(const std::string &str)
......@@ -59,6 +65,15 @@ private:
std::vector<T> m_vec;
};
/*
* Spectra can either be specified as:
*
* Continuous Range - Represented as a pair of the minimum and maximum spectrum.
* Discontinuous Range - Represented by a DiscontinuousSpectra object.
*
* A variant is used, such that faster operations can be employed when using
* a continuous range.
*/
using Spectra = boost::variant<DiscontinuousSpectra<std::size_t>,
std::pair<std::size_t, std::size_t>>;
......@@ -105,6 +120,32 @@ private:
F m_functor;
};
/*
IndirectFitData - Stores the data to be fit; workspace, spectra,
fitting range and exclude regions. Provides methods for accessing
and applying the fitting data.
Copyright &copy; 2007-2011 ISIS Rutherford Appleton Laboratory, NScD Oak
Ridge National Laboratory & European Spallation Source
This file is part of Mantid.
Mantid is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
Mantid is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
File change history is stored at: <https://github.com/mantidproject/mantid>.
Code Documentation is available at: <http://doxygen.mantidproject.org>
*/
class IndirectFitData {
public:
IndirectFitData(Mantid::API::MatrixWorkspace_sptr workspace,
......
......@@ -40,6 +40,31 @@ using ResultLocations = std::unordered_map<std::size_t, ResultLocation>;
using FitDataIterator =
std::vector<std::unique_ptr<IndirectFitData>>::const_iterator;
/*
IndirectFitOutput - Stores the output of a QENS fit and provides
convenient access to the output parameters.
Copyright &copy; 2007-2011 ISIS Rutherford Appleton Laboratory, NScD Oak
Ridge National Laboratory & European Spallation Source
This file is part of Mantid.
Mantid is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
Mantid is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
File change history is stored at: <https://github.com/mantidproject/mantid>.
Code Documentation is available at: <http://doxygen.mantidproject.org>
*/
class IndirectFitOutput {
public:
IndirectFitOutput(Mantid::API::WorkspaceGroup_sptr resultGroup,
......
......@@ -16,6 +16,31 @@ namespace IDA {
enum class FittingMode { SEQUENTIAL, SIMULTANEOUS };
/*
IndirectFittingModel - Provides methods for specifying and
performing a QENS fit, as well as accessing the results of the fit.
Copyright &copy; 2007-2011 ISIS Rutherford Appleton Laboratory, NScD Oak
Ridge National Laboratory & European Spallation Source
This file is part of Mantid.
Mantid is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
Mantid is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
File change history is stored at: <https://github.com/mantidproject/mantid>.
Code Documentation is available at: <http://doxygen.mantidproject.org>
*/
class DLLExport IndirectFittingModel {
public:
IndirectFittingModel();
......
Exception: STATUS_STACK_OVERFLOW at rip=7FFF8F7CAA67
rax=0000000000000010 rbx=0000000000000000 rcx=0000000000000010
rdx=000000000000000C rsi=00007FFF839BD4F0 rdi=000000000000014C
r8 =00000000C0000023 r9 =00000000FFFFA9E0 r10=00000000FFFFA000
r11=00000000FFE03E20 r12=00000000FFFFB500 r13=000000000080BE40
r14=00000000FFFFAA70 r15=0000000000000000
rbp=00000000FFFFA9E0 rsp=00000000FFFFA998
program=C:\Program Files\Git\usr\bin\sh.exe, pid 17708, thread unknown (0x366C)
cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame Function Args
000FFFFA9E0 7FFF8F7CAA67 (7FFF839BD4F0, 000FFFFAA58, 7FFF8F726EB8, 00000000000)
000FFFFA9E0 7FFF8F7A35D8 (7FFF839BD4F0, 7FFF839BD4F0, 00000000001, 00000230022)
000FFFFAA58 7FFF8C00B648 (7FFF8F720000, 7FFF8F7A3540, 7FFF8F797440, 7FFFFFFEFFFF)
000FFFFAC20 7FFF8C00B4CD (1E05000600010000, 7D2E458F1DB7, 00000000023, 000FFFFAD48)
000FFFFAC20 7FFF8C00B324 (7FFF839BD700, 000FFFFB330, 00000000024, 7FFF839BD700)
000FFFFAC20 7FFF839203A0 (000FFFFAC20, 000FFFFAD48, 000007A38E0, 00000000012)
000FFFFAC20 7FFF838F37DB (000FFFFB550, 00000000000, 000FFFFB900, 000007A38E0)
000FFFFB389 7FFF838CE4D0 (000007A0000, 00030BC0300, 0000000000F, 00180010018)
00180010018 7FFF838CCFDD (00000000000, 000FFFFB6B0, 00000000000, 000FFFFB750)
000FFFFB6B0 7FFF838C5543 (000FFFFB820, 000000001A0, 00000000000, 00180277C20)
00000000420 7FFF8C019FC6 (00000000001, 00000000000, 000FFFFB900, 00100000001)
00000000420 7FFF8CCCBF23 (00000000020, 00000000000, 000FFFFBA80, 00000000001)
00000000420 001800AA372 (000FFFFBA20, 00000000000, 7FFF00000000, 00000000000)
000FFFFBAA0 001800AAF15 (00100410FBB, 00000000001, 0060004D210, 001004E6740)
000FFFFBCA0 0018011A8FB (00100410FBB, 00000000001, 0060004D210, 001004E6740)
000FFFFBCA0 00000E7E458 (00100410FBB, 00000000001, 0060004D210, 001004E6740)
End of stack trace (more stack frames may be present)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment