OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | Private Attributes | List of all members
RBendGeometry Class Reference

The geometry for a RBend element. More...

#include <RBendGeometry.h>

Inheritance diagram for RBendGeometry:
Inheritance graph
[legend]
Collaboration diagram for RBendGeometry:
Collaboration graph
[legend]

Public Member Functions

 RBendGeometry (double length, double angle)
 Constructor. More...
 
 RBendGeometry (const RBendGeometry &)
 
virtual ~RBendGeometry ()
 
const RBendGeometryoperator= (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 StraightGeometryoperator= (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 BGeometryBaseoperator= (const BGeometryBase &right)
 

Private Attributes

double half_angle
 

Detailed Description

The geometry for a RBend element.

Definition at line 41 of file RBendGeometry.h.

Constructor & Destructor Documentation

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.

RBendGeometry::~RBendGeometry ( )
virtual

Definition at line 40 of file RBendGeometry.cpp.

Member Function Documentation

double RBendGeometry::getArcLength ( ) const
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().

Here is the call graph for this function:

double RBendGeometry::getBendAngle ( ) const
virtual
double RBendGeometry::getElementLength ( ) const
virtual
Euclid3D RBendGeometry::getEntranceFrame ( ) const
virtual

Get transform.

Reimplemented from BGeometryBase.

Definition at line 72 of file RBendGeometry.cpp.

References StraightGeometry::getEntranceFrame(), half_angle, and Euclid3D::YRotation().

Here is the call graph for this function:

Euclid3D RBendGeometry::getEntrancePatch ( ) const
virtual
Euclid3D RBendGeometry::getExitFrame ( ) const
virtual

Get transform.

Reimplemented from BGeometryBase.

Definition at line 79 of file RBendGeometry.cpp.

References StraightGeometry::getExitFrame(), half_angle, and Euclid3D::YRotation().

Here is the call graph for this function:

Euclid3D RBendGeometry::getExitPatch ( ) const
virtual
Euclid3D RBendGeometry::getTotalTransform ( ) const
virtual

Get transform.

Reimplemented from BGeometryBase.

Definition at line 65 of file RBendGeometry.cpp.

References StraightGeometry::getTotalTransform(), half_angle, and Euclid3D::YRotation().

Here is the call graph for this function:

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().

Member Data Documentation

double RBendGeometry::half_angle
private

The documentation for this class was generated from the following files: