148 ElementBase(rhs), itsElement(rhs.itsElement), itsOffset(rhs.itsOffset) {
158 ElementBase(elem->getName()), itsElement(elem), itsOffset() {
virtual ElementBase * makeFieldWrapper() override
Allow field errors.
virtual ElementBase * copyStructure() override
Make structural copy.
virtual ElementBase * getElement() const
Return the contained element.
virtual ElementBase * removeWrappers() override
Return the design element.
Euclid3D & offset() const
Return the offset.
Interface for basic beam line object.
virtual BGeometryBase & getGeometry()=0
Get geometry.
Euclid3D inverse() const
Inverse.
virtual void setName(const std::string &name)
Set element name.
virtual ElementBase * removeWrappers()
Return the design element.
Define the position of a misaligned element.
virtual BGeometryBase & getGeometry() override
Get geometry.
virtual Euclid3D getEntranceTransform() const
Get entrance patch.
virtual ElementBase::ElementBase::ElementType getType() const override
Get element type std::string.
virtual const std::string & getName() const
Get element name.
virtual ElementBase * removeFieldWrapper()
Remove field wrapper.
virtual ElementType getType() const =0
Get element type std::string.
Euclid3D Inverse(const Euclid3D &t)
Euclidean inverse.
virtual void visitAlignWrapper(const AlignWrapper &)=0
Apply the algorithm to an align wrapper.
virtual void makeSharable()
Set sharable flag.
void setElement(ElementBase *)
Replace the contained element.
Abstract base class for accelerator geometry classes.
virtual Euclid3D getExitTransform() const
Get exit patch.
virtual void makeSharable() override
Set sharable flag.
virtual Euclid3D getEntranceFrame() const
Get transform.
virtual ElementBase * makeAlignWrapper() override
Disallow misalignment of an already misaligned object.
virtual Euclid3D getExitFrame() const
Get transform.
Displacement and rotation in space.
bool isIdentity() const
Test for identity.
virtual ElementBase * copyStructure()
Make a structural copy.
Pointer< ElementBase > itsElement
virtual void accept(BeamlineVisitor &) const override
Apply BeamlineVisitor.
virtual ElementBase * removeFieldWrapper() override
Remove field wrapper.
bool isSharable() const
Test if the element can be shared.
virtual ElementBase * removeAlignWrapper() override
Remove AlignWrapper.
virtual ElementBase * makeFieldWrapper()
Allow field errors.
virtual AlignWrapper * clone() const override
Return clone.