9#include "MantidKernel/DllConfig.h"
14using namespace Types::Core;
17class SplittingInterval;
30 const std::vector<HeldType> &values);
50 std::vector<HeldType> filteredValuesAsVector(
const Kernel::TimeROI *roi)
const override;
52 std::vector<HeldType> filteredValuesAsVector()
const override;
54 std::vector<Types::Core::DateAndTime> filteredTimesAsVector(
const Kernel::TimeROI *roi)
const override;
56 std::vector<Types::Core::DateAndTime> filteredTimesAsVector()
const override;
61 HeldType nthValue(
int n)
const override;
62 Types::Core::DateAndTime nthTime(
int n)
const override;
69 void filterWith(
const TimeROI &filter);
71 void clearFilter()
const;
73 bool isFiltered()
const override {
return m_filterApplied; }
75 int size()
const override;
84 double timeAverageValue(
const TimeROI *timeRoi =
nullptr)
const override;
91 void applyFilter()
const;
93 void countSize()
const;
95 void clearFilterCache()
const;
98 std::string setValueFromProperty(
const Property &
right)
override;
MANTID_NEXUS_DLL bool operator==(std::string const &s, Mantid::Nexus::NexusAddress const &p)
boost::python::list getTimeIntervals(const TimeROI &self)
#define DLLExport
Definitions of the DLLImport compiler directives for MSVC.
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.