Loading [MathJax]/extensions/tex2jax.js
Mantid
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Variables
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Enumerations
a
c
d
e
f
h
i
l
m
n
o
p
q
r
s
t
u
w
x
Enumerator
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Properties
a
b
e
f
i
l
m
o
s
t
u
w
Related Functions
a
b
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
w
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
u
v
w
Variables
_
b
c
d
e
f
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
a
b
c
e
f
k
l
o
p
r
s
t
v
w
Macros
a
b
c
d
e
f
g
i
k
l
m
n
p
q
r
s
t
u
v
w
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
Loading...
Searching...
No Matches
Framework
Algorithms
src
Exponential.cpp
Go to the documentation of this file.
1
// Mantid Repository : https://github.com/mantidproject/mantid
2
//
3
// Copyright © 2018 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
//----------------------------------------------------------------------
8
// Includes
9
//----------------------------------------------------------------------
10
#include "
MantidAlgorithms/Exponential.h
"
11
#include <cmath>
12
13
using namespace
Mantid::API
;
14
using namespace
Mantid::Kernel
;
15
16
namespace
Mantid::Algorithms
{
17
// Register the class into the algorithm factory
18
DECLARE_ALGORITHM
(Exponential)
19
20
Exponential
::
Exponential
() :
UnaryOperation
() { this->useHistogram =
true
; }
21
22
void
Exponential::performUnaryOperation
(
const
double
XIn,
const
double
YIn,
const
double
EIn,
double
&YOut,
23
double
&EOut) {
24
(void)XIn;
// Avoid compiler warning
25
// Multiply the data and error by the correction factor
26
YOut = exp(YIn);
27
EOut = EIn * YOut;
28
}
29
30
/*
31
void Exponential::setOutputUnits(const API::MatrixWorkspace_const_sptr
32
lhs,API::MatrixWorkspace_sptr out)
33
{
34
// If Y has not units, then the output will be dimensionless, but not a
35
distribution
36
if ( lhs->YUnit().empty() )
37
{
38
out->setYUnit("");
39
out->setDistribution(false); // might be, maybe not?
40
}
41
// Else units are questionable...
42
else
43
{
44
out->setYUnit("exp(" + lhs->YUnit()+ ")");
45
}
46
}
47
*/
48
49
}
// namespace Mantid::Algorithms
DECLARE_ALGORITHM
#define DECLARE_ALGORITHM(classname)
Definition:
Algorithm.h:576
Exponential.h
Mantid::Algorithms::Exponential
Exponential performs the exponential function on an input workspace.
Definition:
Exponential.h:32
Mantid::Algorithms::Exponential::performUnaryOperation
void performUnaryOperation(const double XIn, const double YIn, const double EIn, double &YOut, double &EOut) override
Carries out the Unary operation on the current 'cell'.
Definition:
Exponential.cpp:22
Mantid::Algorithms::UnaryOperation
UnaryOperation supports the implementation of a Unary operation on an input workspace.
Definition:
UnaryOperation.h:33
Mantid::API
Definition:
AbsorptionCorrection.h:20
Mantid::Algorithms
Definition:
AbsorptionCorrection.h:28
Mantid::Kernel
Definition:
AnnularRingAbsorption.h:15
Generated on Tue Jan 3 2023 11:57:18 for Mantid by
1.9.5