39 itsDesign(rhs.itsDesign),
40 itsError(rhs.itsError),
virtual BMultipoleField & getField() override=0
Get multipole expansion of field.
virtual ElementBase * makeFieldWrapper()
Make wrapper for this bend.
virtual double getExitFaceCurvature() const =0
Get exit pole face curvature.
Interface for basic beam line object.
virtual ElementBase::ElementType getType() const
Get element type string.
virtual double getEntryFaceRotation() const =0
Get pole entry face rotation.
virtual double getStepsize() const =0
Get stepsize.
virtual double getEntryFaceRotation() const
Get pole face rotation.
virtual ElementBase * removeWrappers()
Remove all wrappers.
virtual double getExitFaceRotation() const =0
Get exit pole face rotation.
virtual void makeSharable()
Set sharable flag.
virtual const RBend & getDesign() const
Get design RBend.
virtual double getSlices() const =0
Get number of slices.
virtual BMultipoleField & errorField() const
Get multipole field error.
virtual void accept(BeamlineVisitor &) const
Apply visitor to modified bend.
virtual double getSlices() const
Get number of slices.
double getNormalComponent(int n) const
Get component.
virtual double getB() const
Get dipole component.
virtual double getExitFaceRotation() const
Get pole face rotation.
virtual ElementBase * removeFieldWrapper()
Remove field wrapper.
virtual double getEntryFaceCurvature() const
Get pole face curvature.
virtual ElementBase * clone() const
Make clone.
virtual ElementBase * copyStructure()
Make a structural copy.
virtual ElementBase * clone() const =0
Return clone.
The geometry for a RBend element.
virtual BMultipoleField & getField()
Get field.
virtual void makeSharable()
Set sharable flag.
The magnetic field of a multipole.
virtual ElementBase * copyStructure()
Make structural copy.
virtual double getEntryFaceCurvature() const =0
Get entry pole face curvature.
bool isSharable() const
Test if the element can be shared.
virtual RBendGeometry & getGeometry() override=0
Get RBend geometry.
BMultipoleField itsError
The error field.
BMultipoleField tempField
virtual RBendGeometry & getGeometry()
Get geometry.
virtual double getExitFaceCurvature() const
Get pole face curvature.
Representation of a perturbed rectangular bend.
virtual void visitRBendWrapper(const RBendWrapper &)=0
Apply the algorithm to an RBend wrapper.
virtual double getStepsize() const
Get stepsize.
BMultipoleField & addField(const BMultipoleField &field)
Add to field.
Pointer< RBend > itsDesign