All the elements in src/BeamlineCore come with a representation wrapper class.
In OPAL this representation layer was also implemented for a subset of the elements. There it served as an abstraction to separate the field evaluation from other properties of the element.
The recent PRs Unify Element Class Hierarchy - #477 and General Element Placement and RBend/SBend - #485 implemented cleaner separation of field evaluation and geometry, as well as 3D placement.
As a result, the REP classes now are thin wrappers that serve only to provide the getter for the elements' geometry object.
It would be simple to add the geometry object as a member to the elements directly.
All the elements in
src/BeamlineCorecome with a representation wrapper class.In OPAL this representation layer was also implemented for a subset of the elements. There it served as an abstraction to separate the field evaluation from other properties of the element.
The recent PRs Unify Element Class Hierarchy - #477 and General Element Placement and RBend/SBend - #485 implemented cleaner separation of field evaluation and geometry, as well as 3D placement.
As a result, the REP classes now are thin wrappers that serve only to provide the getter for the elements' geometry object.
It would be simple to add the geometry object as a member to the elements directly.