Mantid
Loading...
Searching...
No Matches
Framework
API
inc
MantidAPI
ILatticeFunction.h
Go to the documentation of this file.
1
// Mantid Repository : https://github.com/mantidproject/mantid
2
//
3
// Copyright © 2015 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 "MantidAPI/DllConfig.h"
10
#include "
MantidAPI/FunctionParameterDecorator.h
"
11
#include "
MantidAPI/LatticeDomain.h
"
12
#include "
MantidGeometry/Crystal/UnitCell.h
"
13
14
namespace
Mantid
{
15
namespace
API
{
16
26
class
MANTID_API_DLL
ILatticeFunction
:
public
FunctionParameterDecorator
{
27
public
:
28
ILatticeFunction
();
29
30
void
function(
const
FunctionDomain
&domain,
FunctionValues
&values)
const override
;
31
void
functionDeriv(
const
FunctionDomain
&domain,
Jacobian
&jacobian)
override
;
32
35
virtual
void
functionLattice
(
const
LatticeDomain
&latticeDomain,
FunctionValues
&values)
const
= 0;
36
37
virtual
void
functionDerivLattice(
const
LatticeDomain
&latticeDomain,
Jacobian
&jacobian);
38
40
virtual
void
setLatticeSystem
(
const
std::string &crystalSystem) = 0;
41
43
virtual
void
setUnitCell
(
const
std::string &unitCellString) = 0;
45
virtual
void
setUnitCell
(
const
Geometry::UnitCell
&unitCell) = 0;
46
48
virtual
Geometry::UnitCell
getUnitCell
()
const
= 0;
49
};
50
51
using
ILatticeFunction_sptr
= std::shared_ptr<ILatticeFunction>;
52
53
}
// namespace API
54
}
// namespace Mantid
FunctionParameterDecorator.h
LatticeDomain.h
UnitCell.h
Mantid::API::FunctionDomain
Base class that represents the domain of a function.
Definition
FunctionDomain.h:31
Mantid::API::FunctionParameterDecorator
FunctionParameterDecorator.
Definition
FunctionParameterDecorator.h:28
Mantid::API::FunctionValues
A class to store values calculated by a function.
Definition
FunctionValues.h:25
Mantid::API::ILatticeFunction
ILatticeFunction.
Definition
ILatticeFunction.h:26
Mantid::API::ILatticeFunction::getUnitCell
virtual Geometry::UnitCell getUnitCell() const =0
Returns a unit cell object created from the function parameters.
Mantid::API::ILatticeFunction::setLatticeSystem
virtual void setLatticeSystem(const std::string &crystalSystem)=0
A string that names the crystal system.
Mantid::API::ILatticeFunction::setUnitCell
virtual void setUnitCell(const std::string &unitCellString)=0
Set the function parameters according to the supplied unit cell.
Mantid::API::ILatticeFunction::functionLattice
virtual void functionLattice(const LatticeDomain &latticeDomain, FunctionValues &values) const =0
Function that should calculate d-values for the HKLs provided in the domain.
Mantid::API::ILatticeFunction::setUnitCell
virtual void setUnitCell(const Geometry::UnitCell &unitCell)=0
Overload to set unit cell directly from UnitCell object.
Mantid::API::Jacobian
Represents the Jacobian in IFitFunction::functionDeriv.
Definition
Jacobian.h:22
Mantid::API::LatticeDomain
LatticeDomain.
Definition
LatticeDomain.h:24
Mantid::Geometry::UnitCell
Class to implement unit cell of crystals.
Definition
UnitCell.h:44
API
Definition
ChudleyElliotSQE.h:11
Mantid::API::ILatticeFunction_sptr
std::shared_ptr< ILatticeFunction > ILatticeFunction_sptr
Definition
ILatticeFunction.h:51
Mantid
Helper class which provides the Collimation Length for SANS instruments.
Definition
AbsorptionCorrection.h:18
Generated by
1.9.8