33#ifndef CLASSIC_BeamlineVisitor_HH
34#define CLASSIC_BeamlineVisitor_HH
void operator=(const BeamlineVisitor &)
virtual void visitVerticalFFAMagnet(const VerticalFFAMagnet &)=0
Apply the algorithm to a vertical FFA magnet.
virtual void visitSolenoid(const Solenoid &)=0
Apply the algorithm to a Solenoid element.
virtual void visitMultipole(const Multipole &)=0
Apply the algorithm to a multipole.
virtual void visitMarker(const Marker &)=0
Apply the algorithm to a marker.
virtual void visitScalingFFAMagnet(const ScalingFFAMagnet &)=0
virtual void visitTravelingWave(const TravelingWave &)=0
Apply the algorithm to a traveling wave.
virtual void visitMultipoleTCurvedVarRadius(const MultipoleTCurvedVarRadius &)=0
Apply the algorithm to an arbitrary curved multipole of variable radius.
virtual void visitProbe(const Probe &)=0
Apply the algorithm to a Probe.
virtual void visitMultipoleTCurvedConstRadius(const MultipoleTCurvedConstRadius &)=0
Apply the algorithm to an arbitrary curved multipole of constant radius.
virtual void visitMultipoleTStraight(const MultipoleTStraight &)=0
Apply the algorithm to an arbitrary straight multipole.
virtual void visitMonitor(const Monitor &)=0
Apply the algorithm to a beam position monitor.
BeamlineVisitor(const BeamlineVisitor &)
virtual void visitRing(const Ring &)=0
Apply the algorithm to a Ring element.
virtual ~BeamlineVisitor()
virtual void execute()=0
Execute the algorithm on the attached beam line.
virtual void visitOffset(const Offset &)=0
Apply the algorithm to an offset (placement).
virtual void visitDrift(const Drift &)=0
Apply the algorithm to a drift space.
virtual void visitComponent(const Component &)=0
Apply the algorithm to an arbitrary component.
virtual void visitBeamline(const Beamline &)=0
Apply the algorithm to a beam line.
virtual void visitRFCavity(const RFCavity &)=0
Apply the algorithm to a RF cavity.
virtual void visitFlaggedElmPtr(const FlaggedElmPtr &)=0
Apply the algorithm to a FlaggedElmPtr.
virtual void visitMultipoleT(const MultipoleT &)=0
Apply the algorithm to an arbitrary multipole.
Interface for a single beam element.
Interface for drift space.
Interface for general multipole.
Ring describes a ring type geometry for tracking.
An abstract sequence of beam line components.
A section of a beam line.