OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
RBend.cpp
Go to the documentation of this file.
1#include "AbsBeamline/RBend.h"
2
4
6
7RBend::RBend(const RBend& right) : BendBase(right) {}
8
9RBend::RBend(const std::string& name) : BendBase(name) {}
10
11RBend::~RBend() = default;
12
13void RBend::accept(BeamlineVisitor& visitor) const { visitor.visitRBend(*this); }
14
16
17double RBend::getExitAngle() const { return getBendAngle() - getEntranceAngle(); }
ElementType
Definition ElementBase.h:94
virtual void visitRBend(const RBend &)=0
Apply the algorithm to a rectangular bend.
Common OPALX interface for analytic horizontal bending magnets.
Definition BendBase.h:32
double getBendAngle() const
Definition BendBase.h:192
double getEntranceAngle() const
Definition BendBase.h:196
Abstract rectangular bend with straight body and curved reference path.
Definition RBend.h:16
RBend()
Definition RBend.cpp:5
~RBend() override
double getExitAngle() const override
Definition RBend.cpp:17
void accept(BeamlineVisitor &visitor) const override
Apply visitor.
Definition RBend.cpp:13
ElementType getType() const override
Get element type std::string.
Definition RBend.cpp:15