OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
SBend.h
Go to the documentation of this file.
1#ifndef OPALX_SBend_HH
2#define OPALX_SBend_HH
3
6
15class SBend : public BendBase {
16public:
17 SBend();
18 explicit SBend(const std::string& name);
19 SBend(const SBend&);
20 ~SBend() override;
21
22 void accept(BeamlineVisitor& visitor) const override;
23 ElementType getType() const override;
24
26 const PlanarArcGeometry& getGeometry() const override = 0;
27
28 void setExitAngle(double exitAngle) override;
29 double getExitAngle() const override;
30};
31
32#endif // OPALX_SBend_HH
ElementType
Definition ElementBase.h:94
Common OPALX interface for analytic horizontal bending magnets.
Definition BendBase.h:32
A simple arc in the XZ plane.
Abstract sector bend with planar-arc body geometry.
Definition SBend.h:15
const PlanarArcGeometry & getGeometry() const override=0
Get geometry.
SBend()
Definition SBend.cpp:5
double getExitAngle() const override
Definition SBend.cpp:19
void accept(BeamlineVisitor &visitor) const override
Apply visitor.
Definition SBend.cpp:13
PlanarArcGeometry & getGeometry() override=0
Get geometry.
~SBend() override
void setExitAngle(double exitAngle) override
Definition SBend.cpp:17
ElementType getType() const override
Get element type std::string.
Definition SBend.cpp:15