OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
RBendRep.h
Go to the documentation of this file.
1#ifndef OPALX_RBendRep_HH
2#define OPALX_RBendRep_HH
3
4#include "AbsBeamline/RBend.h"
5
13class RBendRep : public RBend {
14public:
15 RBendRep();
16 explicit RBendRep(const std::string& name);
17 RBendRep(const RBendRep&);
18 ~RBendRep() override;
19
20 ElementBase* clone() const override;
21 Channel* getChannel(const std::string& aKey, bool create = false) override;
22
23 BMultipoleField& getField() override;
24 const BMultipoleField& getField() const override;
25
26 RBendGeometry& getGeometry() override;
27 const RBendGeometry& getGeometry() const override;
28
29 void setField(const BMultipoleField& field);
30
31private:
34};
35
36#endif // OPALX_RBendRep_HH
The magnetic field of a multipole.
Abstract interface for read/write access to variable.
Definition Channel.h:30
The geometry for a RBend element.
Concrete OPALX representation of an analytic rectangular bend.
Definition RBendRep.h:13
BMultipoleField field_m
Definition RBendRep.h:33
BMultipoleField & getField() override
Return field.
Definition RBendRep.cpp:43
ElementBase * clone() const override
Return clone.
Definition RBendRep.cpp:31
RBendGeometry & getGeometry() override
Get geometry.
Definition RBendRep.cpp:47
void setField(const BMultipoleField &field)
Definition RBendRep.cpp:51
Channel * getChannel(const std::string &aKey, bool create=false) override
Construct a read/write channel.
Definition RBendRep.cpp:33
~RBendRep() override
RBendGeometry geometry_m
Definition RBendRep.h:32
Abstract rectangular bend with straight body and curved reference path.
Definition RBend.h:16