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


Public Member Functions | |
| DefaultVisitor (const Beamline &beamline, bool backBeam, bool backTrack) | |
| Constructor. | |
| ~DefaultVisitor () override=default | |
| void | execute () override |
| Apply the algorithm to the top-level beamline. | |
| void | visitComponent (const Component &) override |
| Apply the algorithm to an arbitrary component. | |
| void | visitBeamline (const Beamline &) override |
| Apply the algorithm to a beam line. | |
| void | visitConstantEFieldCavity (const ConstantEFieldCavity &) override |
| Apply the algorithm to a constant E-field cavity element. | |
| void | visitDrift (const Drift &) override |
| Apply the algorithm to a drift space. | |
| void | visitLaser (const Laser &) override |
| Apply the algorithm to a laser. | |
| void | visitFlaggedElmPtr (const FlaggedElmPtr &) override |
| Apply the algorithm to a FlaggedElmPtr. | |
| void | visitMarker (const Marker &) override |
| Apply the algorithm to a marker. | |
| void | visitMonitor (const Monitor &) override |
| Apply the algorithm to a beam position monitor. | |
| void | visitMultipole (const Multipole &) override |
| Apply the algorithm to a multipole. | |
| void | visitMultipoleT (const MultipoleT &) override |
| Apply the algorithm to an arbitrary multipole. | |
| void | visitRBend (const RBend &) override |
| Apply the algorithm to a rectangular bend. | |
| void | visitRing (const Ring &) override |
| Apply the algorithm to a Ring. | |
| void | visitSBend (const SBend &) override |
| Apply the algorithm to a sector bend. | |
| void | visitRFCavity (const RFCavity &) override |
| Apply the algorithm to a RF cavity. | |
| void | visitSolenoid (const Solenoid &) override |
| Apply the algorithm to a Solenoid. | |
| void | visitTravelingWave (const TravelingWave &) override |
| Apply the algorithm to a traveling wave. | |
| void | visitScalingFFAMagnet (const ScalingFFAMagnet &spiral) override |
| Apply the algorithm to a scaling FFA magnet. | |
| void | visitVerticalFFAMagnet (const VerticalFFAMagnet &) override |
| Apply the algorithm to a vertical FFA magnet. | |
| void | visitVariableRFCavity (const VariableRFCavity &) override |
| Apply the algorithm to a variable RF cavity. | |
| void | visitProbe (const Probe &prob) override |
| Apply the algorithm to a Probe. | |
Protected Attributes | |
| const Beamline & | itsLine |
| bool | back_beam |
| bool | back_track |
| bool | back_path |
| double | flip_B |
| double | flip_s |
Private Member Functions | |
| DefaultVisitor ()=delete | |
| DefaultVisitor (const DefaultVisitor &)=delete | |
| void | operator= (const DefaultVisitor &)=delete |
| virtual void | applyDefault (const ElementBase &) |
Private Attributes | |
| bool | local_flip |
Definition at line 30 of file DefaultVisitor.h.
| DefaultVisitor::DefaultVisitor | ( | const Beamline & | beamline, |
| bool | backBeam, | ||
| bool | backTrack | ||
| ) |
Constructor.
Definition at line 47 of file DefaultVisitor.cpp.
References back_beam, back_path, back_track, flip_B, flip_s, and local_flip.
|
overridedefault |
|
privatedelete |
|
privatedelete |
|
privatevirtual |
Definition at line 113 of file DefaultVisitor.cpp.
Referenced by visitComponent(), visitConstantEFieldCavity(), visitDrift(), visitLaser(), visitMarker(), visitMonitor(), visitMultipole(), visitMultipoleT(), visitProbe(), visitRBend(), visitRFCavity(), visitRing(), visitSBend(), visitScalingFFAMagnet(), visitSolenoid(), visitTravelingWave(), visitVariableRFCavity(), and visitVerticalFFAMagnet().
|
overridevirtual |
Apply the algorithm to the top-level beamline.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker, RangeSelector, and Selector.
Definition at line 54 of file DefaultVisitor.cpp.
References ElementBase::accept(), back_beam, back_track, itsLine, and local_flip.
Referenced by RangeSelector::execute(), Line::replace(), Sequence::replace(), and Select::select().

|
privatedelete |
|
overridevirtual |
Apply the algorithm to a beam line.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 97 of file DefaultVisitor.cpp.
References Beamline::iterate(), and local_flip.

|
overridevirtual |
Apply the algorithm to an arbitrary component.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker, and Tracker.
Definition at line 59 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a constant E-field cavity element.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 61 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a drift space.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 65 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a FlaggedElmPtr.
Implements BeamlineVisitor.
Reimplemented in Flagger, Replacer, and RangeSelector.
Definition at line 103 of file DefaultVisitor.cpp.
References ElementBase::accept(), ElmPtr::getElement(), FlaggedElmPtr::getReflectionFlag(), and local_flip.
Referenced by RangeSelector::handleBeamline(), RangeSelector::handleElement(), Flagger::visitFlaggedElmPtr(), and Replacer::visitFlaggedElmPtr().

|
overridevirtual |
Apply the algorithm to a laser.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 67 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a marker.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 69 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a beam position monitor.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 71 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a multipole.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 73 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to an arbitrary multipole.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 75 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a Probe.
Implements BeamlineVisitor.
Definition at line 95 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a rectangular bend.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 77 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a RF cavity.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 81 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a Ring.
Implements BeamlineVisitor.
Definition at line 79 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a sector bend.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 83 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a scaling FFA magnet.
Implements BeamlineVisitor.
Definition at line 89 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a Solenoid.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 85 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a traveling wave.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 87 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a variable RF cavity.
Implements BeamlineVisitor.
Definition at line 93 of file DefaultVisitor.cpp.
References applyDefault().

|
overridevirtual |
Apply the algorithm to a vertical FFA magnet.
Implements BeamlineVisitor.
Definition at line 91 of file DefaultVisitor.cpp.
References applyDefault().

|
protected |
Definition at line 110 of file DefaultVisitor.h.
Referenced by DefaultVisitor(), execute(), and Tracker::visitComponent().
|
protected |
Definition at line 112 of file DefaultVisitor.h.
Referenced by DefaultVisitor().
|
protected |
Definition at line 111 of file DefaultVisitor.h.
Referenced by DefaultVisitor(), execute(), and Tracker::visitComponent().
|
protected |
Definition at line 115 of file DefaultVisitor.h.
Referenced by DefaultVisitor().
|
protected |
Definition at line 116 of file DefaultVisitor.h.
Referenced by DefaultVisitor().
|
protected |
Definition at line 107 of file DefaultVisitor.h.
Referenced by execute().
|
private |
Definition at line 130 of file DefaultVisitor.h.
Referenced by DefaultVisitor(), execute(), visitBeamline(), and visitFlaggedElmPtr().