Mantid
Loading...
Searching...
No Matches
ApplyDetailedBalanceMD.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2011 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
12#include "MantidMDAlgorithms/DllConfig.h"
13
14namespace Mantid {
15namespace MDAlgorithms {
16
21class MANTID_MDALGORITHMS_DLL ApplyDetailedBalanceMD final : public API::Algorithm {
22public:
23 ApplyDetailedBalanceMD() : mDeltaEIndex(999) {}
24 const std::string name() const override;
25 int version() const override;
26 const std::string category() const override;
27 const std::string summary() const override;
28
29private:
31 void init() override;
33 void exec() override;
35 std::map<std::string, std::string> validateInputs() override;
36
38 template <typename MDE, size_t nd>
39 void applyDetailedBalance(typename Mantid::DataObjects::MDEventWorkspace<MDE, nd>::sptr ws);
40
42 std::string getTemperature(const API::IMDEventWorkspace_sptr &mdws);
44 std::string checkInputMDDimension();
45
48
50 std::map<uint16_t, double> mExpinfoTemperatureMean;
51};
52
53} // namespace MDAlgorithms
54} // namespace Mantid
Base class from which all concrete algorithm classes should be derived.
Definition: Algorithm.h:85
std::shared_ptr< MDEventWorkspace< MDE, nd > > sptr
Typedef for a shared pointer of this kind of event workspace.
ApplyDetailedBalance : Perform the And boolean operation on two MDHistoWorkspaces.
std::map< uint16_t, double > mExpinfoTemperatureMean
map of temperature retrieved from sample logs
size_t mDeltaEIndex
index of the MD dimension index for DeltaE
std::shared_ptr< IMDEventWorkspace > IMDEventWorkspace_sptr
Shared pointer to Mantid::API::IMDEventWorkspace.
Helper class which provides the Collimation Length for SANS instruments.