Mantid
Loading...
Searching...
No Matches
InstrumentValidator.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2015 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 "MantidAPI/DllConfig.h"
12
13namespace Mantid {
14namespace API {
15
16class ExperimentInfo;
17
21class MANTID_API_DLL InstrumentValidator : public Kernel::TypedValidator<std::shared_ptr<ExperimentInfo>> {
22public:
24 enum Requirements { SourcePosition = 0x1, SamplePosition = 0x2 };
25
26 // The default is historical so I don't break a lot of user code
27 InstrumentValidator(const unsigned int flags = SamplePosition);
28 std::string getType() const;
29 Kernel::IValidator_sptr clone() const override;
30 std::string checkValidity(const std::shared_ptr<ExperimentInfo> &value) const override;
31
32private:
33 unsigned int m_requires;
34};
35
36} // namespace API
37} // namespace Mantid
double value
The value of the point.
Definition: FitMW.cpp:51
A validator which checks that a workspace has a valid instrument.
Requirements
Enumeration describing requirements.
std::shared_ptr< IValidator > IValidator_sptr
A shared_ptr to an IValidator.
Definition: IValidator.h:26
Helper class which provides the Collimation Length for SANS instruments.