Mantid
Loading...
Searching...
No Matches
Framework
CurveFitting
inc
MantidCurveFitting
Functions
CrystalFieldPeaksBase.h
Go to the documentation of this file.
1
// Mantid Repository : https://github.com/mantidproject/mantid
2
//
3
// Copyright © 2016 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/FunctionValues.h
"
10
#include "
MantidAPI/ParamFunction.h
"
11
#include "MantidCurveFitting/DllConfig.h"
12
#include "
MantidCurveFitting/EigenFortranDefs.h
"
13
14
namespace
Mantid
{
15
namespace
CurveFitting {
16
namespace
Functions {
17
22
class
MANTID_CURVEFITTING_DLL
CrystalFieldPeaksBase
:
public
API::ParamFunction
{
23
public
:
24
CrystalFieldPeaksBase
();
25
void
setAttribute(
const
std::string &name,
const
Attribute
&)
override
;
26
28
void
calculateEigenSystem(
DoubleFortranVector
&en,
ComplexFortranMatrix
&wf,
ComplexFortranMatrix
&ham,
29
ComplexFortranMatrix
&hz,
int
&nre)
const
;
30
inline
void
calculateEigenSystem
(
DoubleFortranVector
&en,
ComplexFortranMatrix
&wf,
int
&nre)
const
{
31
ComplexFortranMatrix
ham, hz;
32
calculateEigenSystem(en, wf, ham, hz, nre);
33
}
34
35
protected
:
38
mutable
size_t
m_defaultDomainSize
;
39
};
40
41
class
MANTID_CURVEFITTING_DLL
CrystalFieldPeaksBaseImpl
:
public
CrystalFieldPeaksBase
{
42
public
:
43
std::string name()
const override
;
44
void
function(
const
API::FunctionDomain
&,
API::FunctionValues
&)
const override
;
45
};
46
47
}
// namespace Functions
48
}
// namespace CurveFitting
49
}
// namespace Mantid
EigenFortranDefs.h
FunctionValues.h
ParamFunction.h
Mantid::API::FunctionDomain
Base class that represents the domain of a function.
Definition:
FunctionDomain.h:31
Mantid::API::FunctionValues
A class to store values calculated by a function.
Definition:
FunctionValues.h:25
Mantid::API::IFunction::Attribute
Attribute is a non-fitting parameter.
Definition:
IFunction.h:282
Mantid::API::ParamFunction
Implements the part of IFunction interface dealing with parameters.
Definition:
ParamFunction.h:33
Mantid::CurveFitting::FortranMatrix< ComplexMatrix >
Mantid::CurveFitting::FortranVector< EigenVector >
Mantid::CurveFitting::Functions::CrystalFieldPeaksBaseImpl
Definition:
CrystalFieldPeaksBase.h:41
Mantid::CurveFitting::Functions::CrystalFieldPeaksBase
CrystalFieldPeaks is a function that calculates crystal field peak positions and intensities.
Definition:
CrystalFieldPeaksBase.h:22
Mantid::CurveFitting::Functions::CrystalFieldPeaksBase::calculateEigenSystem
void calculateEigenSystem(DoubleFortranVector &en, ComplexFortranMatrix &wf, int &nre) const
Definition:
CrystalFieldPeaksBase.h:30
Mantid::CurveFitting::Functions::CrystalFieldPeaksBase::m_defaultDomainSize
size_t m_defaultDomainSize
Store the default domain size after first function evaluation.
Definition:
CrystalFieldPeaksBase.h:38
Mantid
Helper class which provides the Collimation Length for SANS instruments.
Definition:
AbsorptionCorrection.h:18
Generated on Tue Jan 3 2023 11:57:26 for Mantid by
1.9.5