Mantid
Loading...
Searching...
No Matches
ExcludeRangeFinder.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2019 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#include "MantidCurveFitting/DllConfig.h"
10
11#include <cstddef>
12#include <vector>
13
14namespace Mantid {
15namespace CurveFitting {
16
23class MANTID_CURVEFITTING_DLL ExcludeRangeFinder {
24public:
26 ExcludeRangeFinder(const std::vector<double> &exclude, double startX, double endX);
27
29 bool isExcluded(double value);
30
31private:
33 void findNextExcludedRange(double p);
35 std::size_t m_exclIndex;
41 const std::vector<double> m_exclude;
43 const std::size_t m_size;
44};
45
46} // namespace CurveFitting
47} // namespace Mantid
double value
The value of the point.
Definition: FitMW.cpp:51
ExcludeRangeFinder : Helper clss that finds if a point should be excluded from fit.
const std::vector< double > m_exclude
Reference to a list of exclusion ranges.
const std::size_t m_size
Size of m_exclude.
double m_startExcludedRange
Start of current excluded range.
std::size_t m_exclIndex
Index of current excluded range.
double m_endExcludeRange
End of current excluded range.
Helper class which provides the Collimation Length for SANS instruments.