OPAL (Object Oriented Parallel Accelerator Library)
2024.2
OPAL
AsymmetricEnge.cpp
Go to the documentation of this file.
1
#include "
AbsBeamline/EndFieldModel/AsymmetricEnge.h
"
2
3
namespace
endfieldmodel
{
4
5
AsymmetricEnge::AsymmetricEnge
() :
engeStart_m
(new
Enge
()),
6
engeEnd_m
(new
Enge
()) {
7
}
8
9
AsymmetricEnge::AsymmetricEnge
(
const
AsymmetricEnge
& rhs)
10
:
engeStart_m
(rhs.
engeStart_m
->
clone
()),
engeEnd_m
(rhs.
engeEnd_m
->
clone
()) {
11
}
12
13
AsymmetricEnge::AsymmetricEnge
(
const
std::vector<double> aStart,
14
double
x0Start,
15
double
lambdaStart,
16
const
std::vector<double> aEnd,
17
double
x0End,
18
double
lambdaEnd) :
engeStart_m
(new
Enge
()),
19
engeEnd_m
(new
Enge
()) {
20
engeStart_m
->setCoefficients(aStart);
21
engeStart_m
->setX0(x0Start);
22
engeStart_m
->setLambda(lambdaStart);
23
// x0 is held in this
24
engeEnd_m
->setCoefficients(aEnd);
25
engeEnd_m
->setX0(x0End);
26
engeEnd_m
->setLambda(lambdaEnd);
27
}
28
29
void
AsymmetricEnge::rescale
(
double
scaleFactor) {
30
engeStart_m
->rescale(scaleFactor);
31
engeEnd_m
->rescale(scaleFactor);
32
}
33
34
std::ostream&
AsymmetricEnge::print
(std::ostream& out)
const
{
35
out <<
"AsymmetricEnge start "
;
36
engeStart_m
->print(out);
37
out <<
" end "
;
38
engeStart_m
->print(out);
39
return
out;
40
}
41
}
AsymmetricEnge.h
endfieldmodel
Definition
AsymmetricEnge.cpp:3
endfieldmodel::AsymmetricEnge::print
std::ostream & print(std::ostream &out) const
Definition
AsymmetricEnge.cpp:34
endfieldmodel::AsymmetricEnge::AsymmetricEnge
AsymmetricEnge()
Definition
AsymmetricEnge.cpp:5
endfieldmodel::AsymmetricEnge::clone
AsymmetricEnge * clone() const
Definition
AsymmetricEnge.h:160
endfieldmodel::AsymmetricEnge::rescale
void rescale(double scaleFactor)
Definition
AsymmetricEnge.cpp:29
endfieldmodel::AsymmetricEnge::engeEnd_m
std::shared_ptr< Enge > engeEnd_m
Definition
AsymmetricEnge.h:112
endfieldmodel::AsymmetricEnge::engeStart_m
std::shared_ptr< Enge > engeStart_m
Definition
AsymmetricEnge.h:111
endfieldmodel::Enge
Definition
Enge.h:47