Mantid
Loading...
Searching...
No Matches
ConventionalCell.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2012 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#include "MantidGeometry/DllConfig.h"
11#include "MantidKernel/Matrix.h"
12
13namespace Mantid {
14namespace Geometry {
33class MANTID_GEOMETRY_DLL ConventionalCell {
34public:
36 ConventionalCell(const Kernel::DblMatrix &UB, size_t form_num = 0, bool allowPermutations = false);
37
39 size_t GetFormNum() const;
40
42 double GetError() const;
43
45 std::string GetCellType() const;
46
48 std::string GetCentering() const;
49
51 Kernel::DblMatrix GetOriginalUB() const;
52
54 Kernel::DblMatrix GetNewUB() const;
55
57 Kernel::DblMatrix GetHKL_Tran() const;
58
60 double GetSumOfSides() const;
61
63 std::string GetDescription() const;
64
65private:
66 void init(const Kernel::DblMatrix &UB, const ReducedCell &form_0, ReducedCell &form_i, const bool allowPermutations);
67 void SetSidesIncreasing(Kernel::DblMatrix &UB);
68 void StandardizeTetragonal(Kernel::DblMatrix &UB);
69 void StandardizeHexagonal(Kernel::DblMatrix &UB);
70
73 std::string cell_type;
74 std::string centering;
78};
79
80} // namespace Geometry
81} // namespace Mantid
Instances of this class represent information about a selected conventional cell based on a specified...
Instances of this class represent information about reduced cell types including the transformation r...
Definition: ReducedCell.h:32
Helper class which provides the Collimation Length for SANS instruments.