1 #ifndef CLASSIC_BeamlineVisitor_HH
2 #define CLASSIC_BeamlineVisitor_HH
280 #endif // CLASSIC_BeamlineVisitor_HH
virtual void visitSource(const Source &)=0
Apply the algorithm to a source.
virtual void visitVariableRFCavityFringeField(const VariableRFCavityFringeField &)=0
Apply the algorithm to a variable RF cavity with Fringe Field.
virtual void visitDegrader(const Degrader &)=0
Apply the algorithm to a diagnostic.
Interface for septum magnet.
virtual void visitBeamStripping(const BeamStripping &)=0
Apply the algorithm to a beam stripping interaction.
Interface for electrostatic separator.
Interface for a Cyclotron.
virtual void visitPatch(const Patch &)=0
Apply the algorithm to a patch.
Interface for beam position monitors.
virtual void visitMarker(const Marker &)=0
Apply the algorithm to a marker.
Interface for RF Quadrupole.
virtual void visitMultipoleTCurvedConstRadius(const MultipoleTCurvedConstRadius &)=0
Apply the algorithm to an arbitrary curved Multipole of constant radius.
Define the position of a misaligned element.
virtual void visitMapIntegrator(const MapIntegrator &)=0
Apply the algorithm to an integrator capable of mapping.
virtual void visitSeptum(const Septum &)=0
Apply the algorithm to a septum magnet.
Interface for general corrector.
virtual void visitRFCavity(const RFCavity &)=0
Apply the algorithm to a RF cavity.
virtual void visitIntegrator(const Integrator &)=0
Apply the algorithm to a generic integrator.
Interface for beam diagnostics.
Representation of a perturbed multipole.
virtual void visitOffset(const Offset &)=0
Apply the algorithm to an Offset (placement).
virtual void visitSolenoid(const Solenoid &)=0
Apply the algorithm to a solenoid.
Interface for drift space.
virtual void visitLambertson(const Lambertson &)=0
Apply the algorithm to a Lambertson septum magnet.
virtual void visitMultipoleTCurvedVarRadius(const MultipoleTCurvedVarRadius &)=0
Apply the algorithm to an arbitrary curved Multipole of variable radius.
virtual void visitComponent(const Component &)=0
Apply the algorithm to an arbitrary component (catch all).
Interface for general multipole.
virtual void visitRing(const Ring &)=0
Apply the algorithm to an Ring.
virtual void visitAlignWrapper(const AlignWrapper &)=0
Apply the algorithm to an align wrapper.
virtual void visitProbe(const Probe &)=0
Apply the algorithm to a probe.
virtual void visitSBendWrapper(const SBendWrapper &)=0
Apply the algorithm to an SBend wrapper.
virtual void visitCyclotronValley(const CyclotronValley &)=0
Apply the algorithm to a CyclotronValley.
virtual void visitStripper(const Stripper &)=0
Apply the algorithm to a particle stripper.
virtual void visitScalingFFAMagnet(const ScalingFFAMagnet &)=0
Apply the algorithm to a solenoid.
virtual void visitTrackIntegrator(const TrackIntegrator &)=0
Apply the algorithm to an integrator capable of tracking.
Interface for cyclotron collimator.
Abstract beam-beam interaction.
Representation of a perturbed cyclotron.
virtual void visitRBend(const RBend &)=0
Apply the algorithm to a rectangular bend.
Interface for cyclotron valley.
virtual void visitMultipoleTStraight(const MultipoleTStraight &)=0
Apply the algorithm to an arbitrary straight Multipole.
Representation of a perturbed sector bend.
An abstract sequence of beam line components.
virtual void visitDrift(const Drift &)=0
Apply the algorithm to a drift space.
virtual ~BeamlineVisitor()
virtual void visitCCollimator(const CCollimator &)=0
Apply the algorithm to a collimator.
Representation for a perturbed closed orbit corrector.
virtual void execute()=0
Execute the algorithm on the attached beam line.
virtual void visitVariableRFCavity(const VariableRFCavity &)=0
Apply the algorithm to a variable RF cavity.
virtual void visitCorrector(const Corrector &)=0
Apply the algorithm to a closed orbit corrector.
virtual void visitCyclotronWrapper(const CyclotronWrapper &)=0
Apply the algorithm to an corrector wrapper.
virtual void visitMultipoleWrapper(const MultipoleWrapper &)=0
Apply the algorithm to an multipole wrapper.
virtual void visitMultipoleT(const MultipoleT &)=0
Apply the algorithm to an arbitrary Multipole.
virtual void visitBeamline(const Beamline &)=0
Apply the algorithm to a Beamline.
virtual void visitRFQuadrupole(const RFQuadrupole &)=0
Apply the algorithm to a RF quadrupole.
virtual void visitSeparator(const Separator &)=0
Apply the algorithm to an electrostatic separator.
void operator=(const BeamlineVisitor &)
virtual void visitFlexibleCollimator(const FlexibleCollimator &)=0
Apply the algorithm to a flexible collimator.
Base class for special integrators.
virtual void visitSBend(const SBend &)=0
Apply the algorithm to a sector bend.
Ring describes a ring type geometry for tracking.
virtual void visitDiagnostic(const Diagnostic &)=0
Apply the algorithm to a diagnostic.
virtual void visitVerticalFFAMagnet(const VerticalFFAMagnet &)=0
Apply the algorithm to a vertical FFA magnet.
virtual void visitParallelPlate(const ParallelPlate &)=0
Apply the algorithm to an ParallelPlate.
virtual void visitBeamBeam(const BeamBeam &)=0
Apply the algorithm to a beam-beam interaction.
Interface for a geometric patch.
virtual void visitMonitor(const Monitor &)=0
Apply the algorithm to a beam position monitor.
virtual void visitFlaggedElmPtr(const FlaggedElmPtr &)=0
Apply the algorithm to a FlaggedElmPtr.
Interface for a single beam element.
virtual void visitTravelingWave(const TravelingWave &)=0
Apply the algorithm to a RF cavity.
Representation of a perturbed rectangular bend.
virtual void visitCorrectorWrapper(const CorrectorWrapper &)=0
Apply the algorithm to an corrector wrapper.
virtual void visitMultipole(const Multipole &)=0
Apply the algorithm to a multipole.
virtual void visitCyclotron(const Cyclotron &)=0
Apply the algorithm to a cyclotron.
virtual void visitRBendWrapper(const RBendWrapper &)=0
Apply the algorithm to an RBend wrapper.
virtual void visitSBend3D(const SBend3D &)=0
Apply the algorithm to a Sector Bend with 3D field map.
virtual void visitRBend3D(const RBend3D &)
Apply the algorithm to a rectangular bend.
Interface for a Lambertson septum.
A section of a beam line.