OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
RBendGeometry Class Reference

The geometry for a RBend element. More...

#include <RBendGeometry.h>

Inheritance diagram for RBendGeometry:
Inheritance graph
Collaboration diagram for RBendGeometry:
Collaboration graph

Public Member Functions

 RBendGeometry (double length, double angle)
 Constructor.
 
 RBendGeometry (const RBendGeometry &)
 
virtual ~RBendGeometry ()
 
const RBendGeometryoperator= (const RBendGeometry &)
 
virtual double getArcLength () const
 Get arc length.
 
virtual double getBendAngle () const
 Get angle.
 
void setBendAngle (double angle)
 Set angle.
 
Euclid3D getTotalTransform () const
 Get transform.
 
Euclid3D getEntranceFrame () const
 Get transform.
 
Euclid3D getExitFrame () const
 Get transform.
 
Euclid3D getEntrancePatch () const
 Get patch.
 
Euclid3D getExitPatch () const
 Get patch.
 
virtual double getElementLength () const
 Get design length.
 
virtual void setElementLength (double length)
 Set design length.
 
double getOrigin () const
 Get origin.
 
double getEntrance () const
 Get entrance.
 
double getExit () const
 Get exit.
 
Euclid3D getTransform (double fromS, double toS) const
 Get transform.
 
Euclid3D getTransform (double s) const
 Get transform.
 

Private Attributes

double half_angle
 
double len
 

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 29 of file RBendGeometry.cpp.

◆ RBendGeometry() [2/2]

RBendGeometry::RBendGeometry ( const RBendGeometry rhs)

Definition at line 32 of file RBendGeometry.cpp.

◆ ~RBendGeometry()

RBendGeometry::~RBendGeometry ( )
virtual

Definition at line 35 of file RBendGeometry.cpp.

Member Function Documentation

◆ getArcLength()

double RBendGeometry::getArcLength ( ) const
virtual

Get arc length.

Reimplemented from StraightGeometry.

Definition at line 37 of file RBendGeometry.cpp.

References StraightGeometry::getElementLength(), and half_angle.

Here is the call graph for this function:

◆ getBendAngle()

double RBendGeometry::getBendAngle ( ) const
virtual

Get angle.

Definition at line 42 of file RBendGeometry.cpp.

References half_angle.

◆ getElementLength()

double StraightGeometry::getElementLength ( ) const
virtualinherited

Get design length.

Implements BGeometryBase.

Definition at line 35 of file StraightGeometry.cpp.

References StraightGeometry::len.

Referenced by getArcLength(), getEntrancePatch(), getExitPatch(), Corrector::goOnline(), Corrector::setDesignEnergy(), and TEST_F().

◆ getEntrance()

double StraightGeometry::getEntrance ( ) const
virtualinherited

Get entrance.

Reimplemented from BGeometryBase.

Definition at line 48 of file StraightGeometry.cpp.

References StraightGeometry::len.

◆ getEntranceFrame()

Euclid3D RBendGeometry::getEntranceFrame ( ) const
virtual

Get transform.

Reimplemented from BGeometryBase.

Definition at line 52 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 60 of file RBendGeometry.cpp.

References StraightGeometry::getElementLength(), half_angle, Euclid3D::translation(), and Euclid3D::YRotation().

Here is the call graph for this function:

◆ getExit()

double StraightGeometry::getExit ( ) const
virtualinherited

Get exit.

Reimplemented from BGeometryBase.

Definition at line 50 of file StraightGeometry.cpp.

References StraightGeometry::len.

◆ getExitFrame()

Euclid3D RBendGeometry::getExitFrame ( ) const
virtual

Get transform.

Reimplemented from BGeometryBase.

Definition at line 56 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 65 of file RBendGeometry.cpp.

References StraightGeometry::getElementLength(), half_angle, Euclid3D::translation(), and Euclid3D::YRotation().

Here is the call graph for this function:

◆ getOrigin()

double StraightGeometry::getOrigin ( ) const
virtualinherited

Get origin.

Reimplemented from BGeometryBase.

Definition at line 46 of file StraightGeometry.cpp.

References StraightGeometry::len.

◆ getTotalTransform()

Euclid3D RBendGeometry::getTotalTransform ( ) const
virtual

Get transform.

Reimplemented from BGeometryBase.

Definition at line 46 of file RBendGeometry.cpp.

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

Here is the call graph for this function:

◆ getTransform() [1/2]

Euclid3D StraightGeometry::getTransform ( double  fromS,
double  toS 
) const
virtualinherited

Get transform.

Implements BGeometryBase.

Definition at line 52 of file StraightGeometry.cpp.

References Euclid3D::translation().

Here is the call graph for this function:

◆ getTransform() [2/2]

Euclid3D StraightGeometry::getTransform ( double  s) const
virtualinherited

Get transform.

Reimplemented from BGeometryBase.

Definition at line 58 of file StraightGeometry.cpp.

References Euclid3D::translation().

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 44 of file RBendGeometry.cpp.

References half_angle.

Referenced by OpalRBend::update().

◆ setElementLength()

void StraightGeometry::setElementLength ( double  length)
virtualinherited

Member Data Documentation

◆ half_angle

double RBendGeometry::half_angle
private

◆ len


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