23#ifndef OPALX_DefaultVisitor_HH
24#define OPALX_DefaultVisitor_HH
An abstract sequence of beam line components.
Component applying a constant accelerating electric field (Ex,Ey,Ez).
void visitBeamline(const Beamline &) override
Apply the algorithm to a beam line.
void visitTravelingWave(const TravelingWave &) override
Apply the algorithm to a traveling wave.
void visitFlaggedElmPtr(const FlaggedElmPtr &) override
Apply the algorithm to a FlaggedElmPtr.
void visitSolenoid(const Solenoid &) override
Apply the algorithm to a Solenoid.
~DefaultVisitor() override=default
void visitRing(const Ring &) override
Apply the algorithm to a Ring.
void visitComponent(const Component &) override
Apply the algorithm to an arbitrary component.
void visitDrift(const Drift &) override
Apply the algorithm to a drift space.
void operator=(const DefaultVisitor &)=delete
void visitRFCavity(const RFCavity &) override
Apply the algorithm to a RF cavity.
void visitMonitor(const Monitor &) override
Apply the algorithm to a beam position monitor.
void visitRBend(const RBend &) override
Apply the algorithm to a rectangular bend.
void visitVariableRFCavity(const VariableRFCavity &) override
Apply the algorithm to a variable RF cavity.
void visitMultipoleT(const MultipoleT &) override
Apply the algorithm to an arbitrary multipole.
DefaultVisitor(const DefaultVisitor &)=delete
void visitMarker(const Marker &) override
Apply the algorithm to a marker.
void visitProbe(const Probe &prob) override
Apply the algorithm to a Probe.
virtual void applyDefault(const ElementBase &)
void visitMultipole(const Multipole &) override
Apply the algorithm to a multipole.
void execute() override
Apply the algorithm to the top-level beamline.
void visitScalingFFAMagnet(const ScalingFFAMagnet &spiral) override
Apply the algorithm to a scaling FFA magnet.
void visitSBend(const SBend &) override
Apply the algorithm to a sector bend.
void visitVerticalFFAMagnet(const VerticalFFAMagnet &) override
Apply the algorithm to a vertical FFA magnet.
void visitLaser(const Laser &) override
Apply the algorithm to a laser.
void visitConstantEFieldCavity(const ConstantEFieldCavity &) override
Apply the algorithm to a constant E-field cavity element.
Interface for drift space.
A section of a beam line.
Passive OPALX laser element.
Interface for general multipole.
Abstract rectangular bend with straight body and curved reference path.
Interface for standing wave cavities.
Ring describes a ring type geometry for tracking.
Abstract sector bend with planar-arc body geometry.
Abstract class for a solenoid magnet.
Interface for traveling wave cavities.