OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
Abstract base class for accelerator geometry classes. More...
#include <Geometry.h>
Public Member Functions | |
BGeometryBase () | |
BGeometryBase (const BGeometryBase &right) | |
virtual | ~BGeometryBase () |
const BGeometryBase & | operator= (const BGeometryBase &right) |
virtual double | getArcLength () const =0 |
Get arc length. More... | |
virtual double | getElementLength () const =0 |
Get geometry length. More... | |
virtual void | setElementLength (double length) |
Set geometry length. More... | |
virtual double | getOrigin () const |
Get origin position. More... | |
virtual double | getEntrance () const |
Get entrance position. More... | |
virtual double | getExit () const |
Get exit position. More... | |
virtual Euclid3D | getTransform (double fromS, double toS) const =0 |
Get transform. More... | |
virtual Euclid3D | getTransform (double s) const |
Get transform. More... | |
virtual Euclid3D | getTotalTransform () const |
Get transform. More... | |
virtual Euclid3D | getEntranceFrame () const |
Get transform. More... | |
virtual Euclid3D | getExitFrame () const |
Get transform. More... | |
virtual Euclid3D | getEntrancePatch () const |
Get patch. More... | |
virtual Euclid3D | getExitPatch () const |
Get patch. More... | |
Abstract base class for accelerator geometry classes.
Definition at line 43 of file Geometry.h.
|
inline |
Definition at line 129 of file Geometry.h.
|
inline |
Definition at line 132 of file Geometry.h.
|
virtual |
Definition at line 28 of file Geometry.cpp.
|
pure virtual |
Get arc length.
Implemented in BeamlineGeometry, VarRadiusGeometry, StraightGeometry, RBendGeometry, PlanarArcGeometry, NullGeometry, and Euclid3DGeometry.
Referenced by ElementBase::getArcLength(), getExit(), and getOrigin().
|
pure virtual |
Get geometry length.
Implemented in BeamlineGeometry, VarRadiusGeometry, StraightGeometry, PlanarArcGeometry, NullGeometry, and Euclid3DGeometry.
Referenced by ElementBase::getElementLength().
|
virtual |
Get entrance position.
Reimplemented in BeamlineGeometry, StraightGeometry, and PlanarArcGeometry.
Definition at line 41 of file Geometry.cpp.
References getOrigin().
Referenced by ElementBase::getEntrance(), getEntranceFrame(), VarRadiusGeometry::getEntranceFrame(), and getTotalTransform().
|
virtual |
Get transform.
Reimplemented in BeamlineGeometry, VarRadiusGeometry, StraightGeometry, RBendGeometry, and PlanarArcGeometry.
Definition at line 61 of file Geometry.cpp.
References getEntrance(), and getTransform().
Referenced by ElementBase::getEntranceFrame().
|
virtual |
Get patch.
Reimplemented in RBendGeometry.
Definition at line 71 of file Geometry.cpp.
References Euclid3D::identity().
Referenced by ElementBase::getEntrancePatch().
|
virtual |
Get exit position.
Reimplemented in BeamlineGeometry, StraightGeometry, and PlanarArcGeometry.
Definition at line 46 of file Geometry.cpp.
References getArcLength(), and getOrigin().
Referenced by ElementBase::getExit(), getExitFrame(), VarRadiusGeometry::getExitFrame(), and getTotalTransform().
|
virtual |
Get transform.
Reimplemented in BeamlineGeometry, VarRadiusGeometry, StraightGeometry, RBendGeometry, and PlanarArcGeometry.
Definition at line 66 of file Geometry.cpp.
References getExit(), and getTransform().
Referenced by ElementBase::getExitFrame().
|
virtual |
Get patch.
Reimplemented in RBendGeometry.
Definition at line 76 of file Geometry.cpp.
References Euclid3D::identity().
Referenced by ElementBase::getExitPatch().
|
virtual |
Get origin position.
Reimplemented in BeamlineGeometry, StraightGeometry, PlanarArcGeometry, and NullGeometry.
Definition at line 36 of file Geometry.cpp.
References getArcLength().
Referenced by getEntrance(), VarRadiusGeometry::getEntranceFrame(), getExit(), VarRadiusGeometry::getExitFrame(), and ElementBase::getOrigin().
|
virtual |
Get transform.
Reimplemented in BeamlineGeometry, StraightGeometry, RBendGeometry, PlanarArcGeometry, and Euclid3DGeometry.
Definition at line 51 of file Geometry.cpp.
References getEntrance(), getExit(), and getTransform().
Referenced by Ring::appendElement(), and ElementBase::getTotalTransform().
|
pure virtual |
Get transform.
Implemented in BeamlineGeometry, VarRadiusGeometry, StraightGeometry, PlanarArcGeometry, NullGeometry, and Euclid3DGeometry.
Referenced by getEntranceFrame(), getExitFrame(), getTotalTransform(), ElementBase::getTransform(), and getTransform().
|
virtual |
Get transform.
Reimplemented in BeamlineGeometry, StraightGeometry, PlanarArcGeometry, and NullGeometry.
Definition at line 56 of file Geometry.cpp.
References getTransform().
|
inline |
Definition at line 135 of file Geometry.h.
|
virtual |
Set geometry length.
Reimplemented in PlanarArcGeometry, VarRadiusGeometry, StraightGeometry, and Euclid3DGeometry.
Definition at line 32 of file Geometry.cpp.
Referenced by ElementBase::setElementLength().