OPAL (Object Oriented Parallel Accelerator Library) 2022.1
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 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 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 BGeometryBaseoperator= (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
 

Detailed Description

The geometry for a RBend element.

Definition at line 41 of file RBendGeometry.h.

Constructor & Destructor Documentation

◆ RBendGeometry() [1/2]

RBendGeometry::RBendGeometry ( double  length,
double  angle 
)

Constructor.

Definition at line 30 of file RBendGeometry.cpp.

◆ RBendGeometry() [2/2]

RBendGeometry::RBendGeometry ( const RBendGeometry rhs)

Definition at line 35 of file RBendGeometry.cpp.

◆ ~RBendGeometry()

RBendGeometry::~RBendGeometry ( )
virtual

Definition at line 40 of file RBendGeometry.cpp.

Member Function Documentation

◆ getArcLength()

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

Here is the call graph for this function:

◆ getBendAngle()

double RBendGeometry::getBendAngle ( ) const
virtual

Get angle.

Definition at line 50 of file RBendGeometry.cpp.

References half_angle.

◆ getEntranceFrame()

Euclid3D RBendGeometry::getEntranceFrame ( ) const
virtual

Get transform.

Reimplemented from BGeometryBase.

Definition at line 67 of file RBendGeometry.cpp.

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

Here is the call graph for this function:

◆ getEntrancePatch()

Euclid3D RBendGeometry::getEntrancePatch ( ) const
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().

Here is the call graph for this function:

◆ getExitFrame()

Euclid3D RBendGeometry::getExitFrame ( ) const
virtual

Get transform.

Reimplemented from BGeometryBase.

Definition at line 74 of file RBendGeometry.cpp.

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

Here is the call graph for this function:

◆ getExitPatch()

Euclid3D RBendGeometry::getExitPatch ( ) const
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().

Here is the call graph for this function:

◆ getTotalTransform()

Euclid3D RBendGeometry::getTotalTransform ( ) const
virtual

Get transform.

Reimplemented from BGeometryBase.

Definition at line 60 of file RBendGeometry.cpp.

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

Here is the call graph for this function:

◆ operator=()

const RBendGeometry & RBendGeometry::operator= ( const RBendGeometry )

◆ setBendAngle()

void RBendGeometry::setBendAngle ( double  angle)

Set angle.

Definition at line 55 of file RBendGeometry.cpp.

References half_angle.

Referenced by OpalRBend::update().

Member Data Documentation

◆ half_angle

double RBendGeometry::half_angle
private

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