OPAL (Object Oriented Parallel Accelerator Library)  2024.1
OPAL
AsymmetricEnge.cpp
Go to the documentation of this file.
2 
3 namespace endfieldmodel {
4 
5 AsymmetricEnge::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 
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 }
std::shared_ptr< Enge > engeEnd_m
std::shared_ptr< Enge > engeStart_m
std::ostream & print(std::ostream &out) const
void rescale(double scaleFactor)