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

A geometry representing a straight line. More...

#include <StraightGeometry.h>

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

Public Member Functions

 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 len
 

Detailed Description

A geometry representing a straight line.

Definition at line 34 of file StraightGeometry.h.

Constructor & Destructor Documentation

◆ StraightGeometry() [1/2]

StraightGeometry::StraightGeometry ( double  length = 0.0)
inline

Constructor.

Definition at line 109 of file StraightGeometry.h.

◆ StraightGeometry() [2/2]

StraightGeometry::StraightGeometry ( const StraightGeometry right)
inline

Definition at line 112 of file StraightGeometry.h.

◆ ~StraightGeometry()

StraightGeometry::~StraightGeometry ( )
virtual

Definition at line 31 of file StraightGeometry.cpp.

Member Function Documentation

◆ getArcLength()

double StraightGeometry::getArcLength ( ) const
virtual

Get arc length.

Implements BGeometryBase.

Reimplemented in RBendGeometry.

Definition at line 35 of file StraightGeometry.cpp.

References len.

◆ getElementLength()

double StraightGeometry::getElementLength ( ) const
virtual

◆ getEntrance()

double StraightGeometry::getEntrance ( ) const
virtual

Get entrance.

Reimplemented from BGeometryBase.

Definition at line 59 of file StraightGeometry.cpp.

References len.

◆ getEntranceFrame()

Euclid3D StraightGeometry::getEntranceFrame ( ) const
virtual

Get transform.

Reimplemented from BGeometryBase.

Definition at line 84 of file StraightGeometry.cpp.

References len, and Euclid3D::translation().

Referenced by RBendGeometry::getEntranceFrame().

Here is the call graph for this function:

◆ getExit()

double StraightGeometry::getExit ( ) const
virtual

Get exit.

Reimplemented from BGeometryBase.

Definition at line 64 of file StraightGeometry.cpp.

References len.

◆ getExitFrame()

Euclid3D StraightGeometry::getExitFrame ( ) const
virtual

Get transform.

Reimplemented from BGeometryBase.

Definition at line 89 of file StraightGeometry.cpp.

References len, and Euclid3D::translation().

Referenced by RBendGeometry::getExitFrame().

Here is the call graph for this function:

◆ getOrigin()

double StraightGeometry::getOrigin ( ) const
virtual

Get origin.

Reimplemented from BGeometryBase.

Definition at line 54 of file StraightGeometry.cpp.

References len.

◆ getTotalTransform()

Euclid3D StraightGeometry::getTotalTransform ( ) const
virtual

Get transform.

Reimplemented from BGeometryBase.

Definition at line 74 of file StraightGeometry.cpp.

References len, and Euclid3D::translation().

Referenced by RBendGeometry::getTotalTransform().

Here is the call graph for this function:

◆ getTransform() [1/2]

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

Get transform.

Implements BGeometryBase.

Definition at line 69 of file StraightGeometry.cpp.

References Euclid3D::translation().

Here is the call graph for this function:

◆ getTransform() [2/2]

Euclid3D StraightGeometry::getTransform ( double  s) const
virtual

Get transform.

Reimplemented from BGeometryBase.

Definition at line 79 of file StraightGeometry.cpp.

References Euclid3D::translation().

Here is the call graph for this function:

◆ operator=()

const StraightGeometry & StraightGeometry::operator= ( const StraightGeometry right)
inline

Definition at line 116 of file StraightGeometry.h.

References len.

◆ setElementLength()

void StraightGeometry::setElementLength ( double  length)
virtual

Set design length.

Reimplemented from BGeometryBase.

Definition at line 45 of file StraightGeometry.cpp.

References len, and max().

Referenced by VerticalFFAMagnet::initialise(), MultipoleTStraight::initialise(), VariableRFCavity::setLength(), and OpalRBend::update().

Here is the call graph for this function:

Member Data Documentation

◆ len

double StraightGeometry::len
private

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