OPAL (Object Oriented Parallel Accelerator Library)  2024.1
OPAL
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
DefaultVisitor Class Referenceabstract

#include <DefaultVisitor.h>

Inheritance diagram for DefaultVisitor:
Inheritance graph
[legend]
Collaboration diagram for DefaultVisitor:
Collaboration graph
[legend]

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 visitOutputPlane (const OutputPlane &)
 Apply the algorithm to an output plane. 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...
 
- Public Member Functions inherited from BeamlineVisitor
 BeamlineVisitor ()
 
virtual ~BeamlineVisitor ()
 

Protected Attributes

const BeamlineitsLine
 
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
 

Detailed Description

Definition at line 30 of file DefaultVisitor.h.

Constructor & Destructor Documentation

DefaultVisitor::DefaultVisitor ( const Beamline beamline,
bool  backBeam,
bool  backTrack 
)

Constructor.

Definition at line 68 of file DefaultVisitor.cpp.

References back_beam, back_path, back_track, flip_B, flip_s, and local_flip.

DefaultVisitor::~DefaultVisitor ( )
pure virtual

Definition at line 78 of file DefaultVisitor.cpp.

DefaultVisitor::DefaultVisitor ( )
private
DefaultVisitor::DefaultVisitor ( const DefaultVisitor )
private

Member Function Documentation

void DefaultVisitor::applyDefault ( const ElementBase )
privatevirtual
void DefaultVisitor::execute ( )
virtual

Apply the algorithm to the top-level beamline.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelTTracker, ParallelCyclotronTracker, Selector, and RangeSelector.

Definition at line 82 of file DefaultVisitor.cpp.

References ElementBase::accept(), back_beam, back_track, itsLine, and local_flip.

Referenced by RangeSelector::execute(), minimal_runner.MinimalRunner::execute_fork(), Line::replace(), Sequence::replace(), and Select::select().

Here is the call graph for this function:

void DefaultVisitor::operator= ( const DefaultVisitor )
private
void DefaultVisitor::visitBeamline ( const Beamline bl)
virtual

Apply the algorithm to a beam line.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Definition at line 228 of file DefaultVisitor.cpp.

References Beamline::iterate(), and local_flip.

Here is the call graph for this function:

void DefaultVisitor::visitCCollimator ( const CCollimator coll)
virtual

Apply the algorithm to a collimator.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Definition at line 88 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitComponent ( const Component comp)
virtual

Apply the algorithm to an arbitrary component.

Implements BeamlineVisitor.

Reimplemented in Tracker.

Definition at line 92 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitCorrector ( const Corrector corr)
virtual

Apply the algorithm to a closed orbit corrector.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Definition at line 96 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitCyclotron ( const Cyclotron cyc)
virtual

Apply the algorithm to an cyclotron.

Implements BeamlineVisitor.

Reimplemented in ParallelCyclotronTracker.

Definition at line 100 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitDegrader ( const Degrader deg)
virtual

Apply the algorithm to a degrader.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Definition at line 104 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitDrift ( const Drift drf)
virtual

Apply the algorithm to a drift space.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Definition at line 108 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitFlaggedElmPtr ( const FlaggedElmPtr fep)
virtual

Apply the algorithm to a FlaggedElmPtr.

Implements BeamlineVisitor.

Reimplemented in Replacer, RangeSelector, and Flagger.

Definition at line 235 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().

Here is the call graph for this function:

void DefaultVisitor::visitFlexibleCollimator ( const FlexibleCollimator coll)
virtual

Apply the algorithm to a flexible collimator.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Definition at line 112 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitMarker ( const Marker mark)
virtual

Apply the algorithm to a marker.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Definition at line 116 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitMonitor ( const Monitor mon)
virtual

Apply the algorithm to a beam position monitor.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Definition at line 120 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitMultipole ( const Multipole mult)
virtual

Apply the algorithm to a multipole.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Definition at line 124 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitMultipoleT ( const MultipoleT multT)
virtual

Apply the algorithm to to an arbitrary multipole.

Implements BeamlineVisitor.

Reimplemented in ParallelTTracker, and ParallelCyclotronTracker.

Definition at line 128 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitMultipoleTCurvedConstRadius ( const MultipoleTCurvedConstRadius multTccurv)
virtual

Apply the algorithm to an arbitrary curved multipole of constant radius.

Implements BeamlineVisitor.

Reimplemented in ParallelCyclotronTracker.

Definition at line 136 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitMultipoleTCurvedVarRadius ( const MultipoleTCurvedVarRadius multTvcurv)
virtual

Apply the algorithm to an arbitrary curved multipole of variable radius.

Implements BeamlineVisitor.

Reimplemented in ParallelCyclotronTracker.

Definition at line 140 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitMultipoleTStraight ( const MultipoleTStraight multTstraight)
virtual

Apply the algorithm to an arbitrary straight multipole.

Implements BeamlineVisitor.

Reimplemented in ParallelCyclotronTracker.

Definition at line 132 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitOffset ( const Offset off)
virtual

Apply the algorithm to an offset (placement).

Implements BeamlineVisitor.

Reimplemented in ParallelCyclotronTracker.

Definition at line 144 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitOutputPlane ( const OutputPlane out)
virtual

Apply the algorithm to an output plane.

Implements BeamlineVisitor.

Reimplemented in ParallelCyclotronTracker.

Definition at line 148 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitProbe ( const Probe prob)
virtual

Apply the algorithm to a probe.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelCyclotronTracker, and ParallelTTracker.

Definition at line 152 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitRBend ( const RBend bend)
virtual

Apply the algorithm to a rectangular bend.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelCyclotronTracker, and ParallelTTracker.

Definition at line 156 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitRBend3D ( const RBend3D bend)
virtual

Apply the algorithm to a rectangular bend.

Reimplemented from BeamlineVisitor.

Reimplemented in ParallelTTracker.

Definition at line 160 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitRFCavity ( const RFCavity cav)
virtual

Apply the algorithm to a RF cavity.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelCyclotronTracker, and ParallelTTracker.

Definition at line 164 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitRing ( const Ring ring)
virtual

Apply the algorithm to a ring.

Implements BeamlineVisitor.

Reimplemented in ParallelCyclotronTracker.

Definition at line 168 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitSBend ( const SBend bend)
virtual

Apply the algorithm to a sector bend.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelCyclotronTracker, and ParallelTTracker.

Definition at line 172 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitSBend3D ( const SBend3D bend)
virtual

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

Implements BeamlineVisitor.

Reimplemented in ParallelCyclotronTracker.

Definition at line 176 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitScalingFFAMagnet ( const ScalingFFAMagnet spiral)
virtual

Apply the algorithm to a scaling FFA magnet.

Implements BeamlineVisitor.

Reimplemented in ParallelCyclotronTracker.

Definition at line 180 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitSeptum ( const Septum sept)
virtual

Apply the algorithm to a septum.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelCyclotronTracker, and ParallelTTracker.

Definition at line 184 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitSolenoid ( const Solenoid sol)
virtual

Apply the algorithm to a solenoid.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelCyclotronTracker, and ParallelTTracker.

Definition at line 188 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitSource ( const Source sou)
virtual

Apply the algorithm to a source.

Implements BeamlineVisitor.

Reimplemented in ParallelTTracker.

Definition at line 192 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitStripper ( const Stripper stripper)
virtual

Apply the algorithm to a particle stripper.

Implements BeamlineVisitor.

Reimplemented in ParallelCyclotronTracker.

Definition at line 196 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitTravelingWave ( const TravelingWave trw)
virtual

Apply the algorithm to a traveling wave.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, and ParallelTTracker.

Definition at line 200 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitVacuum ( const Vacuum vac)
virtual

Apply the algorithm to a vacuum space.

Implements BeamlineVisitor.

Reimplemented in ThickTracker, ParallelCyclotronTracker, and ParallelTTracker.

Definition at line 210 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitVariableRFCavity ( const VariableRFCavity vcav)
virtual

Apply the algorithm to a a variable RF cavity.

Implements BeamlineVisitor.

Reimplemented in ParallelCyclotronTracker.

Definition at line 214 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

void DefaultVisitor::visitVariableRFCavityFringeField ( const VariableRFCavityFringeField vcav)
virtual

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

Implements BeamlineVisitor.

Reimplemented in ParallelCyclotronTracker.

Definition at line 219 of file DefaultVisitor.cpp.

void DefaultVisitor::visitVerticalFFAMagnet ( const VerticalFFAMagnet mag)
virtual

Apply the algorithm to a vertical FFA magnet.

Implements BeamlineVisitor.

Reimplemented in ParallelCyclotronTracker.

Definition at line 223 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

Member Data Documentation

bool DefaultVisitor::back_beam
protected

Definition at line 164 of file DefaultVisitor.h.

Referenced by DefaultVisitor(), execute(), and Tracker::visitComponent().

bool DefaultVisitor::back_path
protected

Definition at line 166 of file DefaultVisitor.h.

Referenced by DefaultVisitor().

bool DefaultVisitor::back_track
protected
double DefaultVisitor::flip_B
protected

Definition at line 169 of file DefaultVisitor.h.

Referenced by DefaultVisitor().

double DefaultVisitor::flip_s
protected

Definition at line 170 of file DefaultVisitor.h.

Referenced by DefaultVisitor().

const Beamline& DefaultVisitor::itsLine
protected

Definition at line 161 of file DefaultVisitor.h.

Referenced by execute().

bool DefaultVisitor::local_flip
private

Definition at line 185 of file DefaultVisitor.h.

Referenced by DefaultVisitor(), execute(), visitBeamline(), and visitFlaggedElmPtr().


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