Mantid
Loading...
Searching...
No Matches
LiveListener.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2016 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
10
11namespace Mantid {
12namespace API {
17class MANTID_API_DLL LiveListener : public API::ILiveListener {
18public:
19 bool dataReset() override;
20 void setSpectra(const std::vector<specnum_t> &specList) override;
21 void setAlgorithm(const class IAlgorithm &callingAlgorithm) override;
22
51 std::shared_ptr<Workspace> extractData() final;
52
53protected:
59 virtual void onBeforeExtract();
60
66 virtual void onAfterExtract();
67
72 virtual std::shared_ptr<Workspace> doExtractData() = 0;
73
75 bool m_dataReset = false;
76};
77
78} // namespace API
79} // namespace Mantid
IAlgorithm is the interface implemented by the Algorithm base class.
Definition IAlgorithm.h:45
ILiveListener is the interface implemented by classes which connect directly to instrument data acqui...
Base implementation for common behaviour of all live listener classes.
virtual std::shared_ptr< Workspace > doExtractData()=0
Listener-specific workspace-construction step invoked by the extractData() template method.
Helper class which provides the Collimation Length for SANS instruments.