Mantid
Loading...
Searching...
No Matches
Framework
Geometry
inc
MantidGeometry
Crystal
NiggliCell.h
Go to the documentation of this file.
1
// Mantid Repository : https://github.com/mantidproject/mantid
2
//
3
// Copyright © 2007 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 "
MantidGeometry/Crystal/UnitCell.h
"
10
#include <nexus/NeXusFile.hpp>
11
12
namespace
Mantid
{
13
namespace
Geometry {
21
class
MANTID_GEOMETRY_DLL
NiggliCell
:
public
UnitCell
{
22
public
:
23
// Default constructor. a = b = c = 1, alpha = beta = gamma = 90 degrees
24
NiggliCell
(
const
Kernel::DblMatrix
&Umatrix =
Kernel::DblMatrix
(3, 3,
true
));
25
// a,b,c constructor
26
NiggliCell
(
const
double
_a,
const
double
_b,
const
double
_c,
27
const
Kernel::DblMatrix
&Umatrix =
Kernel::DblMatrix
(3, 3,
true
));
28
// a,b,c,alpha,beta,gamma constructor
29
NiggliCell
(
const
double
_a,
const
double
_b,
const
double
_c,
const
double
_alpha,
const
double
_beta,
30
const
double
_gamma,
const
Kernel::DblMatrix
&Umatrix =
Kernel::DblMatrix
(3, 3,
true
),
31
const
int
angleunit =
angDegrees
);
32
// UnitCell constructor
33
NiggliCell
(
const
UnitCell
&uc,
const
Kernel::DblMatrix
&Umatrix =
Kernel::DblMatrix
(3, 3,
true
));
34
// Access private variables
36
static
bool
HasNiggliAngles(
const
Kernel::V3D
&a_dir,
const
Kernel::V3D
&b_dir,
const
Kernel::V3D
&c_dir,
37
double
epsilon);
38
40
static
bool
MakeNiggliUB(
const
Kernel::DblMatrix
&UB,
Kernel::DblMatrix
&newUB);
41
42
private
:
43
Kernel::DblMatrix
U
;
44
Kernel::DblMatrix
UB
;
45
};
46
}
// namespace Geometry
47
}
// namespace Mantid
UnitCell.h
Mantid::Geometry::NiggliCell
Class to implement UB matrix.
Definition:
NiggliCell.h:21
Mantid::Geometry::NiggliCell::UB
Kernel::DblMatrix UB
Definition:
NiggliCell.h:44
Mantid::Geometry::NiggliCell::U
Kernel::DblMatrix U
Definition:
NiggliCell.h:43
Mantid::Geometry::UnitCell
Class to implement unit cell of crystals.
Definition:
UnitCell.h:44
Mantid::Kernel::Matrix< double >
Mantid::Kernel::V3D
Class for 3D vectors.
Definition:
V3D.h:34
Mantid::Geometry::angDegrees
@ angDegrees
Definition:
AngleUnits.h:26
Mantid
Helper class which provides the Collimation Length for SANS instruments.
Definition:
AbsorptionCorrection.h:18
Generated on Tue Jan 3 2023 11:57:47 for Mantid by
1.9.5