OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <BeamlineVisitor.h>
Public Member Functions | |
BeamlineVisitor () | |
virtual | ~BeamlineVisitor () |
virtual void | execute ()=0 |
Execute the algorithm on the attached beam line. More... | |
virtual void | visitBeamline (const Beamline &)=0 |
Apply the algorithm to a beam line. More... | |
virtual void | visitCCollimator (const CCollimator &)=0 |
Apply the algorithm to a collimator. More... | |
virtual void | visitComponent (const Component &)=0 |
Apply the algorithm to an arbitrary component. More... | |
virtual void | visitCorrector (const Corrector &)=0 |
Apply the algorithm to a closed orbit corrector. More... | |
virtual void | visitCyclotron (const Cyclotron &)=0 |
Apply the algorithm to a cyclotron. More... | |
virtual void | visitDegrader (const Degrader &)=0 |
Apply the algorithm to a degrader. More... | |
virtual void | visitDrift (const Drift &)=0 |
Apply the algorithm to a drift space. More... | |
virtual void | visitFlaggedElmPtr (const FlaggedElmPtr &)=0 |
Apply the algorithm to a FlaggedElmPtr. More... | |
virtual void | visitFlexibleCollimator (const FlexibleCollimator &)=0 |
Apply the algorithm to a flexible collimator. More... | |
virtual void | visitMarker (const Marker &)=0 |
Apply the algorithm to a marker. More... | |
virtual void | visitMonitor (const Monitor &)=0 |
Apply the algorithm to a beam position monitor. More... | |
virtual void | visitMultipole (const Multipole &)=0 |
Apply the algorithm to a multipole. More... | |
virtual void | visitMultipoleT (const MultipoleT &)=0 |
Apply the algorithm to an arbitrary multipole. More... | |
virtual void | visitMultipoleTStraight (const MultipoleTStraight &)=0 |
Apply the algorithm to an arbitrary straight multipole. More... | |
virtual void | visitMultipoleTCurvedConstRadius (const MultipoleTCurvedConstRadius &)=0 |
Apply the algorithm to an arbitrary curved multipole of constant radius. More... | |
virtual void | visitMultipoleTCurvedVarRadius (const MultipoleTCurvedVarRadius &)=0 |
Apply the algorithm to an arbitrary curved multipole of variable radius. More... | |
virtual void | visitOffset (const Offset &)=0 |
Apply the algorithm to an offset (placement). More... | |
virtual void | visitProbe (const Probe &)=0 |
Apply the algorithm to a probe. More... | |
virtual void | visitRBend (const RBend &)=0 |
Apply the algorithm to a rectangular bend. More... | |
virtual void | visitRBend3D (const RBend3D &) |
Apply the algorithm to a rectangular bend. More... | |
virtual void | visitRFCavity (const RFCavity &)=0 |
Apply the algorithm to a RF cavity. More... | |
virtual void | visitRing (const Ring &)=0 |
Apply the algorithm to a ring. More... | |
virtual void | visitSBend (const SBend &)=0 |
Apply the algorithm to a sector bend. More... | |
virtual void | visitSBend3D (const SBend3D &)=0 |
Apply the algorithm to a sector bend with 3D field map. More... | |
virtual void | visitScalingFFAMagnet (const ScalingFFAMagnet &)=0 |
Apply the algorithm to a scaling FFA magnet. More... | |
virtual void | visitSeptum (const Septum &)=0 |
Apply the algorithm to a septum magnet. More... | |
virtual void | visitSolenoid (const Solenoid &)=0 |
Apply the algorithm to a solenoid. More... | |
virtual void | visitSource (const Source &)=0 |
Apply the algorithm to a source. More... | |
virtual void | visitStripper (const Stripper &)=0 |
Apply the algorithm to a particle stripper. More... | |
virtual void | visitTravelingWave (const TravelingWave &)=0 |
Apply the algorithm to a traveling wave. More... | |
virtual void | visitVacuum (const Vacuum &)=0 |
Apply the algorithm to a vacuum space. More... | |
virtual void | visitVariableRFCavity (const VariableRFCavity &)=0 |
Apply the algorithm to a variable RF cavity. More... | |
virtual void | visitVariableRFCavityFringeField (const VariableRFCavityFringeField &)=0 |
Apply the algorithm to a variable RF cavity with Fringe Field. More... | |
virtual void | visitVerticalFFAMagnet (const VerticalFFAMagnet &)=0 |
Apply the algorithm to a vertical FFA magnet. More... | |
Private Member Functions | |
BeamlineVisitor (const BeamlineVisitor &) | |
void | operator= (const BeamlineVisitor &) |
Definition at line 79 of file BeamlineVisitor.h.
BeamlineVisitor::BeamlineVisitor | ( | ) |
Definition at line 36 of file BeamlineVisitor.cpp.
|
virtual |
Definition at line 40 of file BeamlineVisitor.cpp.
|
private |
|
pure virtual |
Execute the algorithm on the attached beam line.
Implemented in Selector, RangeSelector, DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
|
private |
|
pure virtual |
Apply the algorithm to a beam line.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by TBeamline< T >::accept().
|
pure virtual |
Apply the algorithm to a collimator.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by CCollimator::accept().
|
pure virtual |
Apply the algorithm to an arbitrary component.
Implemented in Tracker, DefaultVisitor, and SpecificElementVisitor< ELEM >.
|
pure virtual |
Apply the algorithm to a closed orbit corrector.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by Corrector::accept().
|
pure virtual |
Apply the algorithm to a cyclotron.
Implemented in ParallelCyclotronTracker, DefaultVisitor, and SpecificElementVisitor< ELEM >.
Referenced by Cyclotron::accept().
|
pure virtual |
Apply the algorithm to a degrader.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by Degrader::accept().
|
pure virtual |
Apply the algorithm to a drift space.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by Drift::accept().
|
pure virtual |
Apply the algorithm to a FlaggedElmPtr.
Implemented in RangeSelector, Replacer, Flagger, DefaultVisitor, and SpecificElementVisitor< ELEM >.
Referenced by FlaggedElmPtr::accept().
|
pure virtual |
Apply the algorithm to a flexible collimator.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by FlexibleCollimator::accept().
|
pure virtual |
Apply the algorithm to a marker.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by Marker::accept().
|
pure virtual |
Apply the algorithm to a beam position monitor.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by Monitor::accept().
|
pure virtual |
Apply the algorithm to a multipole.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by Multipole::accept().
|
pure virtual |
Apply the algorithm to an arbitrary multipole.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by MultipoleT::accept().
|
pure virtual |
Apply the algorithm to an arbitrary curved multipole of constant radius.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.
Referenced by MultipoleTCurvedConstRadius::accept().
|
pure virtual |
Apply the algorithm to an arbitrary curved multipole of variable radius.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.
Referenced by MultipoleTCurvedVarRadius::accept().
|
pure virtual |
Apply the algorithm to an arbitrary straight multipole.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.
Referenced by MultipoleTStraight::accept().
|
pure virtual |
Apply the algorithm to an offset (placement).
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.
Referenced by Offset::accept().
|
pure virtual |
Apply the algorithm to a probe.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by Probe::accept().
|
pure virtual |
Apply the algorithm to a rectangular bend.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by RBend::accept().
|
inlinevirtual |
Apply the algorithm to a rectangular bend.
Reimplemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelTTracker.
Definition at line 205 of file BeamlineVisitor.h.
Referenced by RBend3D::accept().
|
pure virtual |
Apply the algorithm to a RF cavity.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by RFCavity::accept().
|
pure virtual |
Apply the algorithm to a ring.
Implemented in ParallelCyclotronTracker, DefaultVisitor, and SpecificElementVisitor< ELEM >.
Referenced by Ring::accept().
|
pure virtual |
Apply the algorithm to a sector bend.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by SBend::accept().
|
pure virtual |
Apply the algorithm to a sector bend with 3D field map.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.
Referenced by SBend3D::accept().
|
pure virtual |
Apply the algorithm to a scaling FFA magnet.
Implemented in ParallelCyclotronTracker, DefaultVisitor, and SpecificElementVisitor< ELEM >.
Referenced by ScalingFFAMagnet::accept().
|
pure virtual |
Apply the algorithm to a septum magnet.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by Septum::accept().
|
pure virtual |
Apply the algorithm to a solenoid.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by Solenoid::accept().
|
pure virtual |
Apply the algorithm to a source.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelTTracker.
Referenced by Source::accept().
|
pure virtual |
Apply the algorithm to a particle stripper.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.
Referenced by Stripper::accept().
|
pure virtual |
Apply the algorithm to a traveling wave.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, and ParallelTTracker.
Referenced by TravelingWave::accept().
|
pure virtual |
Apply the algorithm to a vacuum space.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Referenced by Vacuum::accept().
|
pure virtual |
Apply the algorithm to a variable RF cavity.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.
Referenced by VariableRFCavity::accept(), and VariableRFCavityFringeField::accept().
|
pure virtual |
Apply the algorithm to a variable RF cavity with Fringe Field.
Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.
|
pure virtual |
Apply the algorithm to a vertical FFA magnet.
Implemented in ParallelCyclotronTracker, DefaultVisitor, and SpecificElementVisitor< ELEM >.
Referenced by VerticalFFAMagnet::accept().