|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
|
#include <BeamlineVisitor.h>


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 | visitComponent (const Component &)=0 |
| Apply the algorithm to an arbitrary component. | |
| virtual void | visitConstantEFieldCavity (const ConstantEFieldCavity &)=0 |
| Apply the algorithm to a constant E-field cavity element. | |
| virtual void | visitDrift (const Drift &)=0 |
| Apply the algorithm to a drift space. | |
| virtual void | visitLaser (const Laser &)=0 |
| Apply the algorithm to a laser element. | |
| virtual void | visitFlaggedElmPtr (const FlaggedElmPtr &)=0 |
| Apply the algorithm to a FlaggedElmPtr. | |
| 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 | visitRBend (const RBend &)=0 |
| Apply the algorithm to a rectangular bend. | |
| virtual void | visitRFCavity (const RFCavity &)=0 |
| Apply the algorithm to a RF cavity. | |
| virtual void | visitVariableRFCavity (const VariableRFCavity &)=0 |
| Apply the algorithm to a variable RF cavity. | |
| virtual void | visitScalingFFAMagnet (const ScalingFFAMagnet &)=0 |
| virtual void | visitRing (const Ring &)=0 |
| Apply the algorithm to a Ring element. | |
| virtual void | visitSBend (const SBend &)=0 |
| Apply the algorithm to a sector bend. | |
| virtual void | visitSolenoid (const Solenoid &)=0 |
| Apply the algorithm to a Solenoid element. | |
| virtual void | visitTravelingWave (const TravelingWave &)=0 |
| Apply the algorithm to a traveling wave. | |
| virtual void | visitVerticalFFAMagnet (const VerticalFFAMagnet &)=0 |
| Apply the algorithm to a vertical FFA magnet. | |
| virtual void | visitProbe (const Probe &)=0 |
| Apply the algorithm to a Probe. | |
Private Member Functions | |
| BeamlineVisitor (const BeamlineVisitor &) | |
| void | operator= (const BeamlineVisitor &) |
Definition at line 63 of file BeamlineVisitor.h.
| BeamlineVisitor::BeamlineVisitor | ( | ) |
Definition at line 36 of file BeamlineVisitor.cpp.
|
virtual |
Definition at line 38 of file BeamlineVisitor.cpp.
|
private |
|
pure virtual |
Execute the algorithm on the attached beam line.
Implemented in SpecificElementVisitor< ELEM >, ParallelTracker, RangeSelector, Selector, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
|
private |
|
pure virtual |
Apply the algorithm to a beam line.
Implemented in SpecificElementVisitor< ELEM >, ParallelTracker, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by TBeamline< T >::accept(), and DummyBeamline::accept().
|
pure virtual |
Apply the algorithm to an arbitrary component.
Implemented in SpecificElementVisitor< ELEM >, ParallelTracker, Tracker, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
|
pure virtual |
Apply the algorithm to a constant E-field cavity element.
Implemented in SpecificElementVisitor< ELEM >, ParallelTracker, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by ConstantEFieldCavity::accept().
|
pure virtual |
Apply the algorithm to a drift space.
Implemented in SpecificElementVisitor< ELEM >, ParallelTracker, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by Drift::accept().
|
pure virtual |
Apply the algorithm to a FlaggedElmPtr.
Implemented in SpecificElementVisitor< ELEM >, Flagger, Replacer, RangeSelector, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by FlaggedElmPtr::accept().
|
pure virtual |
Apply the algorithm to a laser element.
Implemented in SpecificElementVisitor< ELEM >, ParallelTracker, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by Laser::accept().
|
pure virtual |
Apply the algorithm to a marker.
Implemented in SpecificElementVisitor< ELEM >, ParallelTracker, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by Marker::accept().
|
pure virtual |
Apply the algorithm to a beam position monitor.
Implemented in SpecificElementVisitor< ELEM >, ParallelTracker, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by Monitor::accept().
|
pure virtual |
Apply the algorithm to a multipole.
Implemented in SpecificElementVisitor< ELEM >, ParallelTracker, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by Multipole::accept().
|
pure virtual |
Apply the algorithm to an arbitrary multipole.
Implemented in SpecificElementVisitor< ELEM >, ParallelTracker, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by MultipoleT::accept().
|
pure virtual |
Apply the algorithm to a Probe.
Implemented in TestMultipoleT, TestVariableRFCavity, SpecificElementVisitor< ELEM >, and DefaultVisitor.
Referenced by Probe::accept().
|
pure virtual |
Apply the algorithm to a rectangular bend.
Implemented in SpecificElementVisitor< ELEM >, ParallelTracker, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by RBend::accept().
|
pure virtual |
Apply the algorithm to a RF cavity.
Implemented in SpecificElementVisitor< ELEM >, ParallelTracker, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by RFCavity::accept().
|
pure virtual |
Apply the algorithm to a Ring element.
Implemented in SpecificElementVisitor< ELEM >, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by Ring::accept().
|
pure virtual |
Apply the algorithm to a sector bend.
Implemented in SpecificElementVisitor< ELEM >, ParallelTracker, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by SBend::accept().
|
pure virtual |
Implemented in SpecificElementVisitor< ELEM >, TestMultipoleT, TestVariableRFCavity, and DefaultVisitor.
Referenced by ScalingFFAMagnet::accept().
|
pure virtual |
Apply the algorithm to a Solenoid element.
Implemented in SpecificElementVisitor< ELEM >, ParallelTracker, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by Solenoid::accept().
|
pure virtual |
Apply the algorithm to a traveling wave.
Implemented in SpecificElementVisitor< ELEM >, ParallelTracker, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by TravelingWave::accept().
|
pure virtual |
Apply the algorithm to a variable RF cavity.
Implemented in DefaultVisitor, TestMultipoleT, TestVariableRFCavity, and SpecificElementVisitor< ELEM >.
Referenced by VariableRFCavity::accept().
|
pure virtual |
Apply the algorithm to a vertical FFA magnet.
Implemented in SpecificElementVisitor< ELEM >, DefaultVisitor, TestMultipoleT, and TestVariableRFCavity.
Referenced by VerticalFFAMagnet::accept().