OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
AsymmetricEnge.cpp
Go to the documentation of this file.
2
3namespace endfieldmodel {
4
5AsymmetricEnge::AsymmetricEnge() : engeStart_m(new Enge()),
6 engeEnd_m(new Enge()) {
7}
8
10 : engeStart_m(rhs.engeStart_m->clone()), engeEnd_m(rhs.engeEnd_m->clone()) {
11}
12
13AsymmetricEnge::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
29void AsymmetricEnge::rescale(double scaleFactor) {
30 engeStart_m->rescale(scaleFactor);
31 engeEnd_m->rescale(scaleFactor);
32}
33
34std::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}
std::ostream & print(std::ostream &out) const
void rescale(double scaleFactor)
std::shared_ptr< Enge > engeEnd_m
std::shared_ptr< Enge > engeStart_m