OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <DefaultVisitor.h>
Public Member Functions | |
DefaultVisitor (const Beamline &beamline, bool backBeam, bool backTrack) | |
Constructor. More... | |
virtual | ~DefaultVisitor ()=0 |
virtual void | execute () |
Apply the algorithm to the top-level beamline. More... | |
virtual void | visitBeamline (const Beamline &) |
Apply the algorithm to a beam line. More... | |
virtual void | visitCCollimator (const CCollimator &) |
Apply the algorithm to a collimator. More... | |
virtual void | visitComponent (const Component &) |
Apply the algorithm to an arbitrary component. More... | |
virtual void | visitCorrector (const Corrector &) |
Apply the algorithm to a closed orbit corrector. More... | |
virtual void | visitCyclotron (const Cyclotron &) |
Apply the algorithm to an cyclotron. More... | |
virtual void | visitDegrader (const Degrader &) |
Apply the algorithm to a degrader. More... | |
virtual void | visitDrift (const Drift &) |
Apply the algorithm to a drift space. More... | |
virtual void | visitFlaggedElmPtr (const FlaggedElmPtr &) |
Apply the algorithm to a FlaggedElmPtr. More... | |
virtual void | visitFlexibleCollimator (const FlexibleCollimator &) |
Apply the algorithm to a flexible collimator. More... | |
virtual void | visitMarker (const Marker &) |
Apply the algorithm to a marker. More... | |
virtual void | visitMonitor (const Monitor &) |
Apply the algorithm to a beam position monitor. More... | |
virtual void | visitMultipole (const Multipole &) |
Apply the algorithm to a multipole. More... | |
virtual void | visitMultipoleT (const MultipoleT &) |
Apply the algorithm to to an arbitrary multipole. More... | |
virtual void | visitMultipoleTStraight (const MultipoleTStraight &) |
Apply the algorithm to an arbitrary straight multipole. More... | |
virtual void | visitMultipoleTCurvedConstRadius (const MultipoleTCurvedConstRadius &) |
Apply the algorithm to an arbitrary curved multipole of constant radius. More... | |
virtual void | visitMultipoleTCurvedVarRadius (const MultipoleTCurvedVarRadius &) |
Apply the algorithm to an arbitrary curved multipole of variable radius. More... | |
virtual void | visitOffset (const Offset &) |
Apply the algorithm to an offset (placement). More... | |
virtual void | visitProbe (const Probe &prob) |
Apply the algorithm to a probe. More... | |
virtual void | visitRBend (const RBend &) |
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 &) |
Apply the algorithm to a RF cavity. More... | |
virtual void | visitRing (const Ring &) |
Apply the algorithm to a ring. More... | |
virtual void | visitSBend (const SBend &) |
Apply the algorithm to a sector bend. More... | |
virtual void | visitSBend3D (const SBend3D &) |
Apply the algorithm to a sector bend with 3D field map. More... | |
virtual void | visitScalingFFAMagnet (const ScalingFFAMagnet &) |
Apply the algorithm to a scaling FFA magnet. More... | |
virtual void | visitSeptum (const Septum &) |
Apply the algorithm to a septum. More... | |
virtual void | visitSolenoid (const Solenoid &) |
Apply the algorithm to a solenoid. More... | |
virtual void | visitSource (const Source &) |
Apply the algorithm to a source. More... | |
virtual void | visitStripper (const Stripper &) |
Apply the algorithm to a particle stripper. More... | |
virtual void | visitTravelingWave (const TravelingWave &) |
Apply the algorithm to a traveling wave. More... | |
virtual void | visitVacuum (const Vacuum &) |
Apply the algorithm to a vacuum space. More... | |
virtual void | visitVariableRFCavity (const VariableRFCavity &vcav) |
Apply the algorithm to a a variable RF cavity. More... | |
virtual void | visitVariableRFCavityFringeField (const VariableRFCavityFringeField &vcav) |
Apply the algorithm to a a variable RF cavity with Fringe Field. More... | |
virtual void | visitVerticalFFAMagnet (const VerticalFFAMagnet &) |
Apply the algorithm to a vertical FFA magnet. More... | |
![]() | |
BeamlineVisitor () | |
virtual | ~BeamlineVisitor () |
Protected Attributes | |
const Beamline & | itsLine |
bool | back_beam |
bool | back_track |
bool | back_path |
double | flip_B |
double | flip_s |
Private Member Functions | |
DefaultVisitor () | |
DefaultVisitor (const DefaultVisitor &) | |
void | operator= (const DefaultVisitor &) |
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 67 of file DefaultVisitor.cpp.
References back_beam, back_path, back_track, flip_B, flip_s, and local_flip.
|
pure virtual |
Definition at line 77 of file DefaultVisitor.cpp.
|
private |
|
private |
|
privatevirtual |
Definition at line 241 of file DefaultVisitor.cpp.
Referenced by visitCCollimator(), visitComponent(), visitCorrector(), visitCyclotron(), visitDegrader(), visitDrift(), visitFlexibleCollimator(), visitMarker(), visitMonitor(), visitMultipole(), visitMultipoleT(), visitMultipoleTCurvedConstRadius(), visitMultipoleTCurvedVarRadius(), visitMultipoleTStraight(), visitOffset(), visitProbe(), visitRBend(), visitRBend3D(), visitRFCavity(), visitRing(), visitSBend(), visitSBend3D(), visitScalingFFAMagnet(), visitSeptum(), visitSolenoid(), visitSource(), visitStripper(), visitTravelingWave(), visitVacuum(), visitVariableRFCavity(), visitVariableRFCavityFringeField(), and visitVerticalFFAMagnet().
|
virtual |
Apply the algorithm to the top-level beamline.
Implements BeamlineVisitor.
Reimplemented in Selector, RangeSelector, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 81 of file DefaultVisitor.cpp.
References ElementBase::accept(), back_beam, back_track, itsLine, and local_flip.
Referenced by RangeSelector::execute(), TrackRun::execute(), Line::replace(), Sequence::replace(), and Select::select().
|
private |
|
virtual |
Apply the algorithm to a beam line.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 223 of file DefaultVisitor.cpp.
References Beamline::iterate(), and local_flip.
|
virtual |
Apply the algorithm to a collimator.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 87 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to an arbitrary component.
Implements BeamlineVisitor.
Reimplemented in Tracker.
Definition at line 91 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a closed orbit corrector.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 95 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to an cyclotron.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 99 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a degrader.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 103 of file DefaultVisitor.cpp.
References applyDefault(), and matheval::detail::math::deg().
|
virtual |
Apply the algorithm to a drift space.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 107 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a FlaggedElmPtr.
Implements BeamlineVisitor.
Reimplemented in RangeSelector, Replacer, and Flagger.
Definition at line 230 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().
|
virtual |
Apply the algorithm to a flexible collimator.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 111 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a marker.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 115 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a beam position monitor.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 119 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a multipole.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 123 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to to an arbitrary multipole.
Implements BeamlineVisitor.
Reimplemented in ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 127 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to an arbitrary curved multipole of constant radius.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 135 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to an arbitrary curved multipole of variable radius.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 139 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to an arbitrary straight multipole.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 131 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to an offset (placement).
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 143 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a probe.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 147 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a rectangular bend.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 151 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a rectangular bend.
Reimplemented from BeamlineVisitor.
Reimplemented in ParallelTTracker.
Definition at line 155 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a RF cavity.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 159 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a ring.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 163 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a sector bend.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 167 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a sector bend with 3D field map.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 171 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a scaling FFA magnet.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 175 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a septum.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 179 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a solenoid.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 183 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a source.
Implements BeamlineVisitor.
Reimplemented in ParallelTTracker.
Definition at line 187 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a particle stripper.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 191 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a traveling wave.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, and ParallelTTracker.
Definition at line 195 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a vacuum space.
Implements BeamlineVisitor.
Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.
Definition at line 205 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a a variable RF cavity.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 209 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a a variable RF cavity with Fringe Field.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 213 of file DefaultVisitor.cpp.
References applyDefault().
|
virtual |
Apply the algorithm to a vertical FFA magnet.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 218 of file DefaultVisitor.cpp.
References applyDefault().
|
protected |
Definition at line 161 of file DefaultVisitor.h.
Referenced by DefaultVisitor(), execute(), and Tracker::visitComponent().
|
protected |
Definition at line 163 of file DefaultVisitor.h.
Referenced by DefaultVisitor().
|
protected |
Definition at line 162 of file DefaultVisitor.h.
Referenced by DefaultVisitor(), ParallelTTracker::execute(), execute(), ParallelTTracker::findStartPosition(), ParallelTTracker::updateReferenceParticle(), and Tracker::visitComponent().
|
protected |
Definition at line 166 of file DefaultVisitor.h.
Referenced by DefaultVisitor().
|
protected |
Definition at line 167 of file DefaultVisitor.h.
Referenced by DefaultVisitor().
|
protected |
Definition at line 158 of file DefaultVisitor.h.
Referenced by execute().
|
private |
Definition at line 182 of file DefaultVisitor.h.
Referenced by DefaultVisitor(), execute(), visitBeamline(), and visitFlaggedElmPtr().