9#include "MantidKernel/DllConfig.h"
15using namespace Types::Core;
18class SplittingInterval;
31 const std::vector<HeldType> &values);
51 std::vector<HeldType> filteredValuesAsVector(
const Kernel::TimeROI *roi)
const override;
53 std::vector<HeldType> filteredValuesAsVector()
const override;
55 std::vector<Types::Core::DateAndTime> filteredTimesAsVector(
const Kernel::TimeROI *roi)
const override;
57 std::vector<Types::Core::DateAndTime> filteredTimesAsVector()
const override;
62 HeldType nthValue(
int n)
const override;
63 Types::Core::DateAndTime nthTime(
int n)
const override;
70 void filterWith(
const TimeROI &filter);
72 void clearFilter()
const;
74 bool isFiltered()
const override {
return m_filterApplied; }
76 int size()
const override;
85 double timeAverageValue(
const TimeROI *timeRoi =
nullptr)
const override;
92 void applyFilter()
const;
94 void countSize()
const;
96 void clearFilterCache()
const;
99 std::string setValueFromProperty(
const Property &
right)
override;
boost::python::list getTimeIntervals(const TimeROI &self)
Templated class that defines a filtered time series but still gives access to the original data.
std::unique_ptr< TimeROI > m_filter
The filter.
std::vector< size_t > m_filterMap
Maps the index supplied to nthValue and nthInterval to values in m_value.
FilteredTimeSeriesProperty()=delete
Disable default constructor.
std::vector< TimeInterval > m_filterIntervals
Cached values for the time intervals inside the filter.
bool m_filterApplied
True if a filter has been applied.
~FilteredTimeSeriesProperty() override
Destructor.
bool isFiltered() const override
Base class for properties.
Represents a time interval.
TimeROI : Object that holds information about when the time measurement was active.
A specialised Property class for holding a series of time-value pairs.
Helper class which provides the Collimation Length for SANS instruments.
constexpr bool operator==(const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)