Mantid
Loading...
Searching...
No Matches
FilteredTimeSeriesProperty.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2012 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 "MantidKernel/DllConfig.h"
10#include "MantidKernel/System.h"
12
13namespace Mantid {
14namespace Kernel {
15
20template <typename HeldType> class DLLExport FilteredTimeSeriesProperty : public TimeSeriesProperty<HeldType> {
21
22public:
25
28 FilteredTimeSeriesProperty(std::unique_ptr<const TimeSeriesProperty<HeldType>> seriesProp,
29 const TimeSeriesProperty<bool> &filterProp);
32
35
37 const TimeSeriesProperty<HeldType> *unfiltered() const;
38
39private:
41 std::unique_ptr<const TimeSeriesProperty<HeldType>> m_unfiltered;
42};
43
44} // namespace Kernel
45} // namespace Mantid
#define DLLExport
Definitions of the DLLImport compiler directives for MSVC.
Definition: System.h:53
Templated class that defines a filtered time series but still gives access to the original data.
FilteredTimeSeriesProperty()=delete
Disable default constructor.
std::unique_ptr< const TimeSeriesProperty< HeldType > > m_unfiltered
The original unfiltered property as an owned pointer.
~FilteredTimeSeriesProperty() override
Destructor.
A specialised Property class for holding a series of time-value pairs.
Helper class which provides the Collimation Length for SANS instruments.