#include <Enge.h>
|
static std::vector< std::vector< std::vector< int > > > | _q |
|
static std::vector< std::vector< std::vector< int > > > | _h |
|
Definition at line 38 of file Enge.h.
◆ Enge() [1/2]
endfieldmodel::Enge::Enge |
( |
| ) |
|
|
inline |
◆ Enge() [2/2]
endfieldmodel::Enge::Enge |
( |
const std::vector< double > |
a, |
|
|
double |
x0, |
|
|
double |
lambda, |
|
|
int |
max_index |
|
) |
| |
|
inline |
Builds Enge function with parameters a_0, a_1, ..., lambda and x0.
max_index is the maximum derivative that will be used in calculation if, after setup, you find you need to calculate higher derivatives, you can just call SetEngeDiffIndices(n) where n is the highest derivative you think you will need.
Definition at line 49 of file Enge.h.
References SetEngeDiffIndices().
◆ ~Enge()
endfieldmodel::Enge::~Enge |
( |
| ) |
|
|
inline |
Destructor - no mallocs, so does nothing
Definition at line 52 of file Enge.h.
◆ Clone()
Enge* endfieldmodel::Enge::Clone |
( |
| ) |
const |
Inheritable copy constructor - no mallocs, so does nothing
◆ GetDoubleEnge()
double endfieldmodel::Enge::GetDoubleEnge |
( |
double |
x, |
|
|
int |
n |
|
) |
| const |
|
inline |
◆ GetEnge()
double endfieldmodel::Enge::GetEnge |
( |
double |
x, |
|
|
int |
n |
|
) |
| const |
◆ GetEngeParameters()
std::vector<double> endfieldmodel::Enge::GetEngeParameters |
( |
| ) |
const |
|
inline |
Returns the enge parameters (a_i)
Definition at line 58 of file Enge.h.
References _a.
◆ GetHIndex()
std::vector< std::vector< int > > endfieldmodel::Enge::GetHIndex |
( |
int |
n | ) |
|
|
inlinestatic |
◆ GetLambda()
double endfieldmodel::Enge::GetLambda |
( |
| ) |
const |
|
inline |
Returns the value of lambda
Definition at line 64 of file Enge.h.
References _lambda.
◆ GetQIndex()
std::vector< std::vector< int > > endfieldmodel::Enge::GetQIndex |
( |
int |
n | ) |
|
|
inlinestatic |
◆ GetX0()
double endfieldmodel::Enge::GetX0 |
( |
| ) |
const |
|
inline |
Returns the value of x0
Definition at line 70 of file Enge.h.
References _x0.
◆ GN()
double endfieldmodel::Enge::GN |
( |
double |
x, |
|
|
int |
n |
|
) |
| const |
Returns \(g(x)\) or its \(n^{th}\) derivative.
Here \(g(x) = 1+exp(h(x))\). Please call SetEngeDiffIndices(n) before calling if n > max_index
Definition at line 71 of file Enge.cpp.
References _h, exp(), HN(), and Hypervolume::n.
◆ HN()
double endfieldmodel::Enge::HN |
( |
double |
x, |
|
|
int |
n |
|
) |
| const |
Returns \(h(x)\) or its \(n^{th}\) derivative.
Here \(h(x) = a_0 + a_1 x/\lambda + a_2 x^2/lambda^2 + \ldots \) Please call SetEngeDiffIndices(n) before calling if n > max_index
Definition at line 59 of file Enge.cpp.
References _a, _lambda, and Hypervolume::n.
Referenced by GN().
◆ SetEngeDiffIndices()
void endfieldmodel::Enge::SetEngeDiffIndices |
( |
size_t |
n | ) |
|
|
static |
◆ SetEngeParameters()
void endfieldmodel::Enge::SetEngeParameters |
( |
std::vector< double > |
a | ) |
|
|
inline |
Sets the enge parameters (a_i)
Definition at line 61 of file Enge.h.
References _a, and a.
◆ SetLambda()
void endfieldmodel::Enge::SetLambda |
( |
double |
lambda | ) |
|
|
inline |
Sets the value of lambda
Definition at line 67 of file Enge.h.
References _lambda.
◆ SetX0()
void endfieldmodel::Enge::SetX0 |
( |
double |
x0 | ) |
|
|
inline |
Sets the value of x0
Definition at line 73 of file Enge.h.
References _x0.
◆ _a
std::vector<double> endfieldmodel::Enge::_a |
|
private |
◆ _h
std::vector< std::vector< std::vector< int > > > endfieldmodel::Enge::_h |
|
staticprivate |
◆ _lambda
double endfieldmodel::Enge::_lambda |
|
private |
◆ _q
std::vector< std::vector< std::vector< int > > > endfieldmodel::Enge::_q |
|
staticprivate |
◆ _x0
double endfieldmodel::Enge::_x0 |
|
private |
The documentation for this class was generated from the following files:
- /Users/gsell/src/OPAL/src/src/Classic/AbsBeamline/EndFieldModel/Enge.h
- /Users/gsell/src/OPAL/src/src/Classic/AbsBeamline/EndFieldModel/Enge.cpp