21class SplittingInterval;
29 virtual void makeFilterByValue(std::vector<SplittingInterval> &split,
double min,
double max,
double TimeTolerance,
30 bool centre =
true)
const = 0;
44 virtual std::vector<Types::Core::DateAndTime>
timesAsVector()
const = 0;
A non-templated interface to a TimeSeriesProperty.
virtual int realSize() const =0
Returns the real size of the time series property map:
virtual double timeAverageValue() const =0
Returns the calculated time weighted average value.
virtual std::pair< double, double > averageAndStdDevInFilter(const std::vector< SplittingInterval > &filter) const =0
Calculate the time-weighted average and standard deviation of a property in a filtered range.
virtual Property * cloneWithTimeShift(const double timeShift) const =0
virtual void expandFilterToRange(std::vector< SplittingInterval > &split, double min, double max, const TimeInterval &range) const =0
Make sure an existing filter covers the full time range given.
virtual std::vector< Types::Core::DateAndTime > timesAsVector() const =0
Return the time series's times as a vector<DateAndTime>
virtual void clearOutdated()=0
Deletes all but the 'last entry' in the property.
virtual double averageValueInFilter(const std::vector< SplittingInterval > &filter) const =0
Calculate the time-weighted average of a property in a filtered range.
virtual void clear()=0
Deletes the series of values in the property.
virtual ~ITimeSeriesProperty()=default
Virtual destructor.
virtual void makeFilterByValue(std::vector< SplittingInterval > &split, double min, double max, double TimeTolerance, bool centre=true) const =0
Fill a TimeSplitterType that will filter the events by matching.
Base class for properties.
Represents a time interval.
Helper class which provides the Collimation Length for SANS instruments.