|
OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
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 | getElementLength () const |
| Get element 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 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) |
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().
Referenced by OrbitTracker::visitRBend(), TransportMapper::visitRBend(), and LinearMapper::visitRBend0().

|
virtual |
Get angle.
Definition at line 55 of file RBendGeometry.cpp.
References half_angle.
Referenced by ThinMapper::visitRBend(), MSplit::visitRBend(), OrbitTracker::visitRBend(), ThinTracker::visitRBend(), Aperture::visitRBend(), ThickMapper::visitRBend(), LieMapper::visitRBend(), TransportMapper::visitRBend(), and LinearMapper::visitRBend0().
|
virtual |
Get element length.
Reimplemented from StraightGeometry.
Definition at line 50 of file RBendGeometry.cpp.
References StraightGeometry::getElementLength().
Referenced by getEntrancePatch(), getExitPatch(), ThinMapper::visitRBend(), MSplit::visitRBend(), OrbitTracker::visitRBend(), ThinTracker::visitRBend(), Aperture::visitRBend(), ThickMapper::visitRBend(), LieMapper::visitRBend(), TransportMapper::visitRBend(), and LinearMapper::visitRBend0().

|
virtual |
Get transform.
Reimplemented from BGeometryBase.
Definition at line 72 of file RBendGeometry.cpp.
References StraightGeometry::getEntranceFrame(), half_angle, and Euclid3D::YRotation().

|
virtual |
Get patch.
Reimplemented from BGeometryBase.
Definition at line 86 of file RBendGeometry.cpp.
References getElementLength(), half_angle, tan(), Euclid3D::translation(), and Euclid3D::YRotation().
Referenced by OrbitTracker::visitRBend(), ThickMapper::visitRBend(), LieMapper::visitRBend(), TransportMapper::visitRBend(), and LinearMapper::visitRBend0().

|
virtual |
Get transform.
Reimplemented from BGeometryBase.
Definition at line 79 of file RBendGeometry.cpp.
References StraightGeometry::getExitFrame(), half_angle, and Euclid3D::YRotation().

|
virtual |
Get patch.
Reimplemented from BGeometryBase.
Definition at line 93 of file RBendGeometry.cpp.
References getElementLength(), half_angle, tan(), Euclid3D::translation(), and Euclid3D::YRotation().
Referenced by OrbitTracker::visitRBend(), ThickMapper::visitRBend(), LieMapper::visitRBend(), TransportMapper::visitRBend(), and LinearMapper::visitRBend0().

|
virtual |
Get transform.
Reimplemented from BGeometryBase.
Definition at line 65 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 60 of file RBendGeometry.cpp.
References half_angle.
Referenced by OpalRBend::update().
|
private |
Definition at line 100 of file RBendGeometry.h.
Referenced by getArcLength(), getBendAngle(), getEntranceFrame(), getEntrancePatch(), getExitFrame(), getExitPatch(), getTotalTransform(), and setBendAngle().
1.8.5