class
BeamlineVisitor
(Return to index)
Abstract algorithm.
The abstract class BeamlineVisitor is the base class for all visitors
(algorithms) that can iterator over a beam line representation.
A BeamlineVisitor applies itself to the representation via the
``Visitor'' pattern, see
E. Gamma, R. Helm, R. Johnson, and J. Vlissides,
Design Patterns, Elements of Reusable Object-Oriented Software.
By using only pure abstract classes as an interface between the
BeamlineVisitor and the beam line representation,
we decouple the former from the implementation details of the latter.
The interface is defined in such a way that a visitor cannot modify the
structure of a beam line, but it can assign special data like misalignments
or integrators without problems.
Type: |
Abstract |
Include file: |
./AbsBeamline/BeamlineVisitor.hh |
Inheritance
Synopsis (including inherited members):
Documentation:
- Public members:
-
virtual void execute
()
= 0
;
- Execute the algorithm on the attached beam line.
-
virtual void visitAlignWrapper
(const AlignWrapper&)
= 0
;
- Apply the algorithm to an align wrapper.
-
virtual void visitBeamBeam
(const BeamBeam&)
= 0
;
- Apply the algorithm to a beam-beam interaction.
-
virtual void visitBeamline
(const Beamline&)
= 0
;
- Apply the algorithm to a Beamline.
-
virtual void visitCollimator
(const Collimator&)
= 0
;
- Apply the algorithm to a collimator.
-
virtual void visitComponent
(const Component&)
= 0
;
- Apply the algorithm to an arbitrary component (catch all).
-
virtual void visitCorrector
(const Corrector&)
= 0
;
- Apply the algorithm to a closed orbit corrector.
-
virtual void visitCorrectorWrapper
(const CorrectorWrapper&)
= 0
;
- Apply the algorithm to an corrector wrapper.
-
virtual void visitDiagnostic
(const Diagnostic&)
= 0
;
- Apply the algorithm to a diagnostic.
-
virtual void visitDrift
(const Drift&)
= 0
;
- Apply the algorithm to a drift space.
-
virtual void visitFlaggedElmPtr
(const FlaggedElmPtr&)
= 0
;
- Apply the algorithm to a FlaggedElmPtr.
-
virtual void visitIntegrator
(const Integrator&)
= 0
;
- Apply the algorithm to a generic integrator.
-
virtual void visitLambertson
(const Lambertson&)
= 0
;
- Apply the algorithm to a Lambertson septum magnet.
-
virtual void visitMapIntegrator
(const MapIntegrator&)
= 0
;
- Apply the algorithm to an integrator capable of mapping.
-
virtual void visitMarker
(const Marker&)
= 0
;
- Apply the algorithm to a marker.
-
virtual void visitMonitor
(const Monitor&)
= 0
;
- Apply the algorithm to a beam position monitor.
-
virtual void visitMultipole
(const Multipole&)
= 0
;
- Apply the algorithm to a multipole.
-
virtual void visitMultipoleWrapper
(const MultipoleWrapper&)
= 0
;
- Apply the algorithm to an multipole wrapper.
-
virtual void visitPatch
(const Patch&)
= 0
;
- Apply the algorithm to a patch.
-
virtual void visitRBend
(const RBend&)
= 0
;
- Apply the algorithm to a rectangular bend.
-
virtual void visitRBendWrapper
(const RBendWrapper&)
= 0
;
- Apply the algorithm to an RBend wrapper.
-
virtual void visitRFCavity
(const RFCavity&)
= 0
;
- Apply the algorithm to a RF cavity.
-
virtual void visitRFQuadrupole
(const RFQuadrupole&)
= 0
;
- Apply the algorithm to a RF quadrupole.
-
virtual void visitSBend
(const SBend&)
= 0
;
- Apply the algorithm to a sector bend.
-
virtual void visitSBendWrapper
(const SBendWrapper&)
= 0
;
- Apply the algorithm to an SBend wrapper.
-
virtual void visitSeparator
(const Separator&)
= 0
;
- Apply the algorithm to an electrostatic separator.
-
virtual void visitSeptum
(const Septum&)
= 0
;
- Apply the algorithm to a septum magnet.
-
virtual void visitSolenoid
(const Solenoid&)
= 0
;
- Apply the algorithm to a solenoid.
-
virtual void visitTrackIntegrator
(const TrackIntegrator&)
= 0
;
- Apply the algorithm to an integrator capable of tracking.
Documentation generated by fci on Mon Feb 7 11:41:33 2000