OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
RBend.h
Go to the documentation of this file.
1#ifndef OPALX_RBend_HH
2#define OPALX_RBend_HH
3
6
16class RBend : public BendBase {
17public:
18 RBend();
19 explicit RBend(const std::string& name);
20 RBend(const RBend&);
21 ~RBend() override;
22
23 void accept(BeamlineVisitor& visitor) const override;
24 ElementType getType() const override;
25
26 RBendGeometry& getGeometry() override = 0;
27 const RBendGeometry& getGeometry() const override = 0;
28
29 double getExitAngle() const override;
30};
31
32#endif // OPALX_RBend_HH
ElementType
Definition ElementBase.h:94
Common OPALX interface for analytic horizontal bending magnets.
Definition BendBase.h:32
The geometry for a RBend element.
Abstract rectangular bend with straight body and curved reference path.
Definition RBend.h:16
const RBendGeometry & getGeometry() const override=0
Get geometry.
RBend()
Definition RBend.cpp:5
~RBend() override
double getExitAngle() const override
Definition RBend.cpp:17
RBendGeometry & getGeometry() override=0
Get geometry.
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