Mantid
Loading...
Searching...
No Matches
SCDCalibratePanels2ObjFunc.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2020 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 "MantidCrystal/DllConfig.h"
14#include "MantidKernel/V3D.h"
15
16namespace Mantid {
17namespace Crystal {
18
21class MANTID_CRYSTAL_DLL SCDCalibratePanels2ObjFunc : public API::ParamFunction, public API::IFunction1D {
22public:
25
27 std::string name() const override { return "SCDCalibratePanels2ObjFunc"; }
28
30 const std::string category() const override { return "General"; }
31
33 void function1D(double *out, const double *xValues, const size_t order) const override;
34
35 void setPeakWorkspace(Mantid::API::IPeaksWorkspace_sptr &pws, const std::string &componentName,
36 const std::vector<double> &tofs);
37
38private:
40 mutable std::string m_cmpt;
42 mutable int n_iter;
43 mutable std::vector<double> m_tofs;
44
45 const bool LOGCHILDALG{false};
46 const Mantid::Kernel::V3D UNSET_HKL{0, 0, 0};
47 // const double PI{3.1415926535897932384626433832795028841971693993751058209};
48
50 Mantid::API::IPeaksWorkspace_sptr moveInstruentComponentBy(double deltaX, double deltaY, double deltaZ,
51 const std::string &componentName,
53
54 Mantid::API::IPeaksWorkspace_sptr rotateInstrumentComponentBy(double rotX, double rotY, double rotZ,
55 const std::string &componentName,
57
58 Mantid::API::IPeaksWorkspace_sptr scaleRectagularDetectorSize(const double &scalex, const double &scaley,
59 const std::string &componentName,
61};
62
63} // namespace Crystal
64} // namespace Mantid
This is a specialization of IFunction for functions of one real argument.
Definition: IFunction1D.h:43
Implements the part of IFunction interface dealing with parameters.
Definition: ParamFunction.h:33
SCDCalibratePanels2ObjFunc : TODO: DESCRIPTION.
const std::string category() const override
set category
std::string name() const override
overwrite based class name
Class for 3D vectors.
Definition: V3D.h:34
std::shared_ptr< IPeaksWorkspace > IPeaksWorkspace_sptr
shared pointer to Mantid::API::IPeaksWorkspace
Helper class which provides the Collimation Length for SANS instruments.
adjust instrument component position and orientation
: detector size scale at y-direction