OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
|
The geometry for a RBend element. More...
#include <RBendGeometry.h>
Public Member Functions | |
RBendGeometry (double length, double angle) | |
Constructor. More... | |
RBendGeometry (const RBendGeometry &) | |
virtual | ~RBendGeometry () |
const RBendGeometry & | operator= (const RBendGeometry &) |
virtual double | getArcLength () const |
Get arc length. More... | |
virtual double | getBendAngle () const |
Get angle. More... | |
void | setBendAngle (double angle) |
Set angle. More... | |
Euclid3D | getTotalTransform () const |
Get transform. More... | |
Euclid3D | getEntranceFrame () const |
Get transform. More... | |
Euclid3D | getExitFrame () const |
Get transform. More... | |
Euclid3D | getEntrancePatch () const |
Get patch. More... | |
Euclid3D | getExitPatch () const |
Get patch. More... | |
Public Member Functions inherited from StraightGeometry | |
StraightGeometry (double length=0.0) | |
Constructor. More... | |
StraightGeometry (const StraightGeometry &right) | |
virtual | ~StraightGeometry () |
const StraightGeometry & | operator= (const StraightGeometry &right) |
virtual double | getArcLength () const |
Get arc length. More... | |
virtual double | getElementLength () const |
Get design length. More... | |
virtual void | setElementLength (double length) |
Set design length. More... | |
double | getOrigin () const |
Get origin. More... | |
double | getEntrance () const |
Get entrance. More... | |
double | getExit () const |
Get exit. More... | |
Euclid3D | getTransform (double fromS, double toS) const |
Get transform. More... | |
Euclid3D | getTransform (double s) const |
Get transform. More... | |
Euclid3D | getTotalTransform () const |
Get transform. More... | |
Euclid3D | getEntranceFrame () const |
Get transform. More... | |
Euclid3D | getExitFrame () const |
Get transform. More... | |
Public Member Functions inherited from BGeometryBase | |
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... | |
Private Attributes | |
double | half_angle |
The geometry for a RBend element.
Definition at line 41 of file RBendGeometry.h.
RBendGeometry::RBendGeometry | ( | double | length, |
double | angle | ||
) |
Constructor.
Definition at line 30 of file RBendGeometry.cpp.
RBendGeometry::RBendGeometry | ( | const RBendGeometry & | rhs | ) |
Definition at line 35 of file RBendGeometry.cpp.
|
virtual |
Definition at line 40 of file RBendGeometry.cpp.
|
virtual |
Get arc length.
Reimplemented from StraightGeometry.
Definition at line 44 of file RBendGeometry.cpp.
References StraightGeometry::getElementLength(), half_angle, and sin().
|
virtual |
|
virtual |
Get transform.
Reimplemented from BGeometryBase.
Definition at line 67 of file RBendGeometry.cpp.
References StraightGeometry::getEntranceFrame(), half_angle, and Euclid3D::YRotation().
|
virtual |
Get patch.
Reimplemented from BGeometryBase.
Definition at line 81 of file RBendGeometry.cpp.
References StraightGeometry::getElementLength(), half_angle, tan(), Euclid3D::translation(), and Euclid3D::YRotation().
|
virtual |
Get transform.
Reimplemented from BGeometryBase.
Definition at line 74 of file RBendGeometry.cpp.
References StraightGeometry::getExitFrame(), half_angle, and Euclid3D::YRotation().
|
virtual |
Get patch.
Reimplemented from BGeometryBase.
Definition at line 88 of file RBendGeometry.cpp.
References StraightGeometry::getElementLength(), half_angle, tan(), Euclid3D::translation(), and Euclid3D::YRotation().
|
virtual |
Get transform.
Reimplemented from BGeometryBase.
Definition at line 60 of file RBendGeometry.cpp.
References StraightGeometry::getTotalTransform(), half_angle, and Euclid3D::YRotation().
const RBendGeometry & RBendGeometry::operator= | ( | const RBendGeometry & | ) |
void RBendGeometry::setBendAngle | ( | double | angle | ) |
Set angle.
Definition at line 55 of file RBendGeometry.cpp.
References half_angle.
Referenced by OpalRBend::update().
|
private |
Definition at line 96 of file RBendGeometry.h.
Referenced by getArcLength(), getBendAngle(), getEntranceFrame(), getEntrancePatch(), getExitFrame(), getExitPatch(), getTotalTransform(), and setBendAngle().