OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
BeamlineVisitor Class Referenceabstract

#include <BeamlineVisitor.h>

Inheritance diagram for BeamlineVisitor:
Collaboration diagram for BeamlineVisitor:

Public Member Functions

 BeamlineVisitor ()
virtual ~BeamlineVisitor ()
virtual void execute ()=0
 Execute the algorithm on the attached beam line.
virtual void visitBeamline (const Beamline &)=0
 Apply the algorithm to a beam line.
virtual void visitCCollimator (const CCollimator &)=0
 Apply the algorithm to a collimator.
virtual void visitComponent (const Component &)=0
 Apply the algorithm to an arbitrary component.
virtual void visitCorrector (const Corrector &)=0
 Apply the algorithm to a closed orbit corrector.
virtual void visitCyclotron (const Cyclotron &)=0
 Apply the algorithm to a cyclotron.
virtual void visitDegrader (const Degrader &)=0
 Apply the algorithm to a degrader.
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 visitFlexibleCollimator (const FlexibleCollimator &)=0
 Apply the algorithm to a flexible collimator.
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 visitMultipoleT (const MultipoleT &)=0
 Apply the algorithm to an arbitrary multipole.
virtual void visitOffset (const Offset &)=0
 Apply the algorithm to an offset (placement).
virtual void visitOutputPlane (const OutputPlane &)=0
 Apply the algorithm to an outputplane.
virtual void visitProbe (const Probe &)=0
 Apply the algorithm to a probe.
virtual void visitRBend (const RBend &)=0
 Apply the algorithm to a rectangular bend.
virtual void visitRBend3D (const RBend3D &)
 Apply the algorithm to a rectangular bend.
virtual void visitRFCavity (const RFCavity &)=0
 Apply the algorithm to a RF cavity.
virtual void visitRing (const Ring &)=0
 Apply the algorithm to a ring.
virtual void visitSBend (const SBend &)=0
 Apply the algorithm to a sector bend.
virtual void visitSBend3D (const SBend3D &)=0
 Apply the algorithm to a sector bend with 3D field map.
virtual void visitScalingFFAMagnet (const ScalingFFAMagnet &)=0
 Apply the algorithm to a scaling FFA magnet.
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 visitSource (const Source &)=0
 Apply the algorithm to a source.
virtual void visitStripper (const Stripper &)=0
 Apply the algorithm to a particle stripper.
virtual void visitTravelingWave (const TravelingWave &)=0
 Apply the algorithm to a traveling wave.
virtual void visitVacuum (const Vacuum &)=0
 Apply the algorithm to a vacuum space.
virtual void visitVariableRFCavity (const VariableRFCavity &)=0
 Apply the algorithm to a variable RF cavity.
virtual void visitVariableRFCavityFringeField (const VariableRFCavityFringeField &)=0
 Apply the algorithm to a variable RF cavity with Fringe Field.
virtual void visitVerticalFFAMagnet (const VerticalFFAMagnet &)=0
 Apply the algorithm to a vertical FFA magnet.

Private Member Functions

 BeamlineVisitor (const BeamlineVisitor &)
void operator= (const BeamlineVisitor &)

Detailed Description

Definition at line 80 of file BeamlineVisitor.h.

Constructor & Destructor Documentation

◆ BeamlineVisitor() [1/2]

BeamlineVisitor::BeamlineVisitor ( )

◆ ~BeamlineVisitor()

BeamlineVisitor::~BeamlineVisitor ( )
virtual

Definition at line 40 of file BeamlineVisitor.cpp.

◆ BeamlineVisitor() [2/2]

BeamlineVisitor::BeamlineVisitor ( const BeamlineVisitor & )
private

References BeamlineVisitor().

Here is the call graph for this function:

Member Function Documentation

◆ execute()

virtual void BeamlineVisitor::execute ( )
pure virtual

Execute the algorithm on the attached beam line.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, RangeSelector, Selector, SpecificElementVisitor< ELEM >, and ThickTracker.

◆ operator=()

void BeamlineVisitor::operator= ( const BeamlineVisitor & )
private

References BeamlineVisitor().

Here is the call graph for this function:

◆ visitBeamline()

virtual void BeamlineVisitor::visitBeamline ( const Beamline & )
pure virtual

Apply the algorithm to a beam line.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by TBeamline< T >::accept().

◆ visitCCollimator()

virtual void BeamlineVisitor::visitCCollimator ( const CCollimator & )
pure virtual

Apply the algorithm to a collimator.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by CCollimator::accept().

◆ visitComponent()

virtual void BeamlineVisitor::visitComponent ( const Component & )
pure virtual

Apply the algorithm to an arbitrary component.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and Tracker.

◆ visitCorrector()

virtual void BeamlineVisitor::visitCorrector ( const Corrector & )
pure virtual

Apply the algorithm to a closed orbit corrector.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by Corrector::accept().

◆ visitCyclotron()

virtual void BeamlineVisitor::visitCyclotron ( const Cyclotron & )
pure virtual

Apply the algorithm to a cyclotron.

Implemented in DefaultVisitor, ParallelCyclotronTracker, and SpecificElementVisitor< ELEM >.

Referenced by Cyclotron::accept().

◆ visitDegrader()

virtual void BeamlineVisitor::visitDegrader ( const Degrader & )
pure virtual

Apply the algorithm to a degrader.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by Degrader::accept().

◆ visitDrift()

virtual void BeamlineVisitor::visitDrift ( const Drift & )
pure virtual

Apply the algorithm to a drift space.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by Drift::accept().

◆ visitFlaggedElmPtr()

virtual void BeamlineVisitor::visitFlaggedElmPtr ( const FlaggedElmPtr & )
pure virtual

Apply the algorithm to a FlaggedElmPtr.

Implemented in DefaultVisitor, Flagger, RangeSelector, Replacer, and SpecificElementVisitor< ELEM >.

Referenced by FlaggedElmPtr::accept().

◆ visitFlexibleCollimator()

virtual void BeamlineVisitor::visitFlexibleCollimator ( const FlexibleCollimator & )
pure virtual

Apply the algorithm to a flexible collimator.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by FlexibleCollimator::accept().

◆ visitMarker()

virtual void BeamlineVisitor::visitMarker ( const Marker & )
pure virtual

Apply the algorithm to a marker.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by Marker::accept().

◆ visitMonitor()

virtual void BeamlineVisitor::visitMonitor ( const Monitor & )
pure virtual

Apply the algorithm to a beam position monitor.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by Monitor::accept().

◆ visitMultipole()

virtual void BeamlineVisitor::visitMultipole ( const Multipole & )
pure virtual

Apply the algorithm to a multipole.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by Multipole::accept().

◆ visitMultipoleT()

virtual void BeamlineVisitor::visitMultipoleT ( const MultipoleT & )
pure virtual

Apply the algorithm to an arbitrary multipole.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, and SpecificElementVisitor< ELEM >.

Referenced by MultipoleT::accept().

◆ visitOffset()

virtual void BeamlineVisitor::visitOffset ( const Offset & )
pure virtual

Apply the algorithm to an offset (placement).

Implemented in DefaultVisitor, ParallelCyclotronTracker, and SpecificElementVisitor< ELEM >.

Referenced by Offset::accept().

◆ visitOutputPlane()

virtual void BeamlineVisitor::visitOutputPlane ( const OutputPlane & )
pure virtual

Apply the algorithm to an outputplane.

Implemented in DefaultVisitor, ParallelCyclotronTracker, and SpecificElementVisitor< ELEM >.

Referenced by OutputPlane::accept().

◆ visitProbe()

virtual void BeamlineVisitor::visitProbe ( const Probe & )
pure virtual

Apply the algorithm to a probe.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by Probe::accept().

◆ visitRBend()

virtual void BeamlineVisitor::visitRBend ( const RBend & )
pure virtual

Apply the algorithm to a rectangular bend.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by RBend::accept().

◆ visitRBend3D()

void BeamlineVisitor::visitRBend3D ( const RBend3D & )
inlinevirtual

Apply the algorithm to a rectangular bend.

Reimplemented in DefaultVisitor, ParallelTTracker, and SpecificElementVisitor< ELEM >.

Definition at line 200 of file BeamlineVisitor.h.

Referenced by RBend3D::accept().

◆ visitRFCavity()

virtual void BeamlineVisitor::visitRFCavity ( const RFCavity & )
pure virtual

Apply the algorithm to a RF cavity.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by RFCavity::accept().

◆ visitRing()

virtual void BeamlineVisitor::visitRing ( const Ring & )
pure virtual

Apply the algorithm to a ring.

Implemented in DefaultVisitor, ParallelCyclotronTracker, and SpecificElementVisitor< ELEM >.

Referenced by Ring::accept().

◆ visitSBend()

virtual void BeamlineVisitor::visitSBend ( const SBend & )
pure virtual

Apply the algorithm to a sector bend.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by SBend::accept().

◆ visitSBend3D()

virtual void BeamlineVisitor::visitSBend3D ( const SBend3D & )
pure virtual

Apply the algorithm to a sector bend with 3D field map.

Implemented in DefaultVisitor, ParallelCyclotronTracker, and SpecificElementVisitor< ELEM >.

Referenced by SBend3D::accept().

◆ visitScalingFFAMagnet()

virtual void BeamlineVisitor::visitScalingFFAMagnet ( const ScalingFFAMagnet & )
pure virtual

Apply the algorithm to a scaling FFA magnet.

Implemented in DefaultVisitor, ParallelCyclotronTracker, and SpecificElementVisitor< ELEM >.

Referenced by ScalingFFAMagnet::accept().

◆ visitSeptum()

virtual void BeamlineVisitor::visitSeptum ( const Septum & )
pure virtual

Apply the algorithm to a septum magnet.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by Septum::accept().

◆ visitSolenoid()

virtual void BeamlineVisitor::visitSolenoid ( const Solenoid & )
pure virtual

Apply the algorithm to a solenoid.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by Solenoid::accept().

◆ visitSource()

virtual void BeamlineVisitor::visitSource ( const Source & )
pure virtual

Apply the algorithm to a source.

Implemented in DefaultVisitor, ParallelTTracker, and SpecificElementVisitor< ELEM >.

Referenced by Source::accept().

◆ visitStripper()

virtual void BeamlineVisitor::visitStripper ( const Stripper & )
pure virtual

Apply the algorithm to a particle stripper.

Implemented in DefaultVisitor, ParallelCyclotronTracker, and SpecificElementVisitor< ELEM >.

Referenced by Stripper::accept().

◆ visitTravelingWave()

virtual void BeamlineVisitor::visitTravelingWave ( const TravelingWave & )
pure virtual

Apply the algorithm to a traveling wave.

Implemented in DefaultVisitor, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by TravelingWave::accept().

◆ visitVacuum()

virtual void BeamlineVisitor::visitVacuum ( const Vacuum & )
pure virtual

Apply the algorithm to a vacuum space.

Implemented in DefaultVisitor, ParallelCyclotronTracker, ParallelTTracker, SpecificElementVisitor< ELEM >, and ThickTracker.

Referenced by Vacuum::accept().

◆ visitVariableRFCavity()

virtual void BeamlineVisitor::visitVariableRFCavity ( const VariableRFCavity & )
pure virtual

Apply the algorithm to a variable RF cavity.

Implemented in DefaultVisitor, ParallelCyclotronTracker, and SpecificElementVisitor< ELEM >.

Referenced by VariableRFCavity::accept(), and VariableRFCavityFringeField::accept().

◆ visitVariableRFCavityFringeField()

virtual void BeamlineVisitor::visitVariableRFCavityFringeField ( const VariableRFCavityFringeField & )
pure virtual

Apply the algorithm to a variable RF cavity with Fringe Field.

Implemented in DefaultVisitor, ParallelCyclotronTracker, and SpecificElementVisitor< ELEM >.

◆ visitVerticalFFAMagnet()

virtual void BeamlineVisitor::visitVerticalFFAMagnet ( const VerticalFFAMagnet & )
pure virtual

Apply the algorithm to a vertical FFA magnet.

Implemented in DefaultVisitor, ParallelCyclotronTracker, and SpecificElementVisitor< ELEM >.

Referenced by VerticalFFAMagnet::accept().


The documentation for this class was generated from the following files: