OPALX (Object Oriented Parallel Accelerator Library for Exascal)
master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
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
()), engeEnd_m(new
Enge
()) {}
6
7
AsymmetricEnge::AsymmetricEnge
(
const
AsymmetricEnge
& rhs)
8
: engeStart_m(rhs.engeStart_m->clone()), engeEnd_m(rhs.engeEnd_m->clone()) {}
9
10
AsymmetricEnge::AsymmetricEnge
(
11
const
std::vector<double> aStart,
double
x0Start,
double
lambdaStart,
12
const
std::vector<double> aEnd,
double
x0End,
double
lambdaEnd)
13
: engeStart_m(new
Enge
()), engeEnd_m(new
Enge
()) {
14
engeStart_m
->setCoefficients(aStart);
15
engeStart_m
->setX0(x0Start);
16
engeStart_m
->setLambda(lambdaStart);
17
// x0 is held in this
18
engeEnd_m
->setCoefficients(aEnd);
19
engeEnd_m
->setX0(x0End);
20
engeEnd_m
->setLambda(lambdaEnd);
21
}
22
23
void
AsymmetricEnge::rescale
(
double
scaleFactor) {
24
engeStart_m
->rescale(scaleFactor);
25
engeEnd_m
->rescale(scaleFactor);
26
}
27
28
std::ostream&
AsymmetricEnge::print
(std::ostream& out)
const
{
29
out <<
"AsymmetricEnge start "
;
30
engeStart_m
->print(out);
31
out <<
" end "
;
32
engeStart_m
->print(out);
33
return
out;
34
}
35
}
// namespace endfieldmodel
AsymmetricEnge.h
endfieldmodel::AsymmetricEnge
Definition
AsymmetricEnge.h:50
endfieldmodel::AsymmetricEnge::print
std::ostream & print(std::ostream &out) const
Definition
AsymmetricEnge.cpp:28
endfieldmodel::AsymmetricEnge::AsymmetricEnge
AsymmetricEnge()
Definition
AsymmetricEnge.cpp:5
endfieldmodel::AsymmetricEnge::rescale
void rescale(double scaleFactor)
Definition
AsymmetricEnge.cpp:23
endfieldmodel::AsymmetricEnge::engeEnd_m
std::shared_ptr< Enge > engeEnd_m
Definition
AsymmetricEnge.h:109
endfieldmodel::AsymmetricEnge::engeStart_m
std::shared_ptr< Enge > engeStart_m
Definition
AsymmetricEnge.h:108
endfieldmodel::Enge
Definition
Enge.h:47
endfieldmodel
Definition
AsymmetricEnge.cpp:3
src
AbsBeamline
EndFieldModel
AsymmetricEnge.cpp
Generated on Mon Jun 1 2026 10:40:52 for OPALX (Object Oriented Parallel Accelerator Library for Exascal) by
1.9.8