class
PlanarArcGeometry
: public Geometry
(Return to index)
A simple arc in the XZ plane.
A PlanarArcGeometry object represents a Geometry which is as simple
circular arc in the local XZ plane with no torsion. The origin is
defined at the centre of the geometry, and the geometry extends
from -length/2 to +length/2. Transformations generated by this
geometry are characterised by a displacement in the XZ plane and a
pure Y rotation.
This geometry can have two states:
- Length L is non-zero:
The geometry is defined as a finite arc in the XZ plane.
In this state, the following changes are allowed:
- Setting the angle phi: recompute the curvature as phi / L.
- Setting the curvature h: recompute the angle as h * L.
- Setting the length: if non-zero, recompute the angle as h * L,
otherwise set h to zero.
- Length is zero, implying curvature also zero:
The geometry is defined as sharp bend by phi in the XZ plane.
In this state, the following changes are allowed:
- Setting the angle phi: leave both h and L as zero.
- Setting the curvature h: not accepted.
- Setting the length: if non-zero, recompute the angle as h * L.
Type: |
Instantiable |
Superclasses: |
public Geometry |
Include file: |
./BeamlineGeometry/PlanarArcGeometry.hh |
Inheritance
Synopsis (including inherited members):
Documentation:
- Public members:
-
PlanarArcGeometry
(double,double)
;
- Constructor.
Build PlanarArcGeometry from length l and curvature h.
-
PlanarArcGeometry
(double)
;
- Constructor.
Build PlanarArcGeometry from length zero and angle phi.
-
virtual double getArcLength
()const
;
- Get arc length.
Return arc length along the design arc.
-
double getBendAngle
()const
;
- Get angle.
-
double getCurvature
()const
;
- Get curvature.
-
virtual double getElementLength
()const
;
- Get element length.
Return element length measured along the design arc.
-
double getEntrance
()const
;
- Get entrance.
Return the arc length from the origin to the entrance of the
geometry (non-positive).
-
Euclid3D getEntranceFrame
()const
;
- Get transform.
Equivalent to getTransform(0.0, getEntrance()).
Return the transform of the local coordinate system from the
origin to the entrance of the element.
-
double getExit
()const
;
- Get exit.
Return the arc length from the origin to the exit of the
geometry (non-negative).
-
Euclid3D getExitFrame
()const
;
- Get transform.
Equivalent to getTransform(0.0, getExit()).
Return the transform of the local coordinate system from the
origin to the exit of the element.
-
virtual double getOrigin
()const
;
- Get origin.
Return the distance from the entrance of the geometry to the origin
(non-negative).
-
virtual Euclid3D getTotalTransform
()const
;
- Get transform.
Equivalent to getTransform(getEntrance(), getExit()).
Return the transform of the local coordinate system from the
entrance to the exit of the element.
-
virtual Euclid3D getTransform
(double,double)const
;
- Get transform.
Return the transform of the local coordinate system from the
position fromS to the position toS.
-
virtual Euclid3D getTransform
(double)const
;
- Get transform.
Equivalent to getTransform(0.0, s).
Return the transform of the local coordinate system from the
origin and s.
-
virtual void setBendAngle
(double)
;
- Set angle.
-
void setCurvature
(double)
;
- Set curvature.
-
virtual void setElementLength
(double)
;
- Set length.
Assign the arc length for this class.
Documentation generated by fci on Mon Feb 7 11:41:48 2000