OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
AsymmetricEnge.cpp
Go to the documentation of this file.
2
3namespace endfieldmodel {
4
5 AsymmetricEnge::AsymmetricEnge() : engeStart_m(new Enge()), engeEnd_m(new Enge()) {}
6
8 : engeStart_m(rhs.engeStart_m->clone()), engeEnd_m(rhs.engeEnd_m->clone()) {}
9
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
std::ostream & print(std::ostream &out) const
void rescale(double scaleFactor)
std::shared_ptr< Enge > engeEnd_m
std::shared_ptr< Enge > engeStart_m