-
Notifications
You must be signed in to change notification settings - Fork 122
/
RotateSource.h
33 lines (29 loc) · 1.3 KB
/
RotateSource.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Mantid Repository : https://github.com/mantidproject/mantid
//
// Copyright © 2015 ISIS Rutherford Appleton Laboratory UKRI,
// NScD Oak Ridge National Laboratory, European Spallation Source,
// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
// SPDX - License - Identifier: GPL - 3.0 +
#pragma once
#include "MantidAPI/Algorithm.h"
#include "MantidDataHandling/DllConfig.h"
namespace Mantid {
namespace DataHandling {
/** RotateSource : Moves the source by a given angle taking into account the
handedness. The centre of rotation is the sample's position and the rotation
axis (X, Y, Z) is calculated from the instrument geometry as the axis
perpendicular to the plane defined by the beam and "up" vectors.
*/
class DLLExport RotateSource : public API::Algorithm {
public:
const std::string name() const override { return "RotateSource"; };
int version() const override { return 1; };
const std::vector<std::string> seeAlso() const override { return {"RotateInstrumentComponent"}; }
const std::string category() const override { return "DataHandling\\Instrument"; };
const std::string summary() const override { return "Rotates the source by a given angle"; };
private:
void init() override;
void exec() override;
};
} // namespace DataHandling
} // namespace Mantid