class
Geometry
(Return to index)
Abstract base class for accelerator geometry classes.
A Geometry can be considered a 3-dimensional space line parameterised by
the distance along the line (arc length) s. All Geometries have an exit
and entrance plane and an origin. At any position s, a Geometry can define
a unique 3-d rectilinear coordinate frame whose origin is on the geometry
at s, and whose local z-axis is tangential to the geometry at s. The
orientation of the local x- and y-axes are arbitrarilly specified by
the Geometry. A special frame, referred to as the Geometry Local Frame
(or Local Frame when it is unambiguous) is specified at s = origin. The
Local Frame is is used to define that frame about which translations and
rotations can be applied to the Geometry. The entrance and exit planes
are defined as those x-y planes (z=0, s=constant) in the frames defined
at s=entrance and s=exit.
Type: |
Abstract |
Include file: |
./BeamlineGeometry/Geometry.hh |
Inheritance
Synopsis (including inherited members):
Documentation:
- Public members:
-
virtual double getArcLength
()const
= 0
;
- Get arc length.
Return the length of the geometry, measured along the design arc.
-
virtual double getElementLength
()const
= 0
;
- Get geometry length.
Return or the design length of the geometry.
Depending on the element this may be the arc length or the
straight length.
-
virtual double getEntrance
()const
;
- Get entrance position.
Return the arc length from the origin to the entrance of the
geometry (non-positive).
-
virtual 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.
-
virtual Euclid3D getEntrancePatch
()const
;
- Get patch.
Returns the entrance patch (transformation) which is used to transform
the global geometry to the local geometry for a misaligned element
at its entrance. The default behaviour returns identity transformation.
This function should be overidden by derived concrete classes which
model complex geometries.
-
virtual double getExit
()const
;
- Get exit position.
Return the arc length from the origin to the exit of the
geometry (non-negative).
-
virtual 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 Euclid3D getExitPatch
()const
;
- Get patch.
Returns the entrance patch (transformation) which is used to transform
the local geometry to the global geometry for a misaligned element
at its exit. The default behaviour returns identity transformation.
This function should be overidden by derived concrete classes which
model complex geometries.
-
virtual double getOrigin
()const
;
- Get origin position.
Return the arc length from the entrance to the origin of the
geometry (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
= 0
;
- 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 setElementLength
(double)
;
- Set geometry length.
Assign the design length of the geometry.
Depending on the element this may be the arc length or the
straight length.
Documentation generated by fci on Mon Feb 7 11:41:40 2000