OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
DefaultVisitor Class Reference

#include <DefaultVisitor.h>

Inheritance diagram for DefaultVisitor:
Inheritance graph
Collaboration diagram for DefaultVisitor:
Collaboration graph

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

Detailed Description

Definition at line 30 of file DefaultVisitor.h.

Constructor & Destructor Documentation

◆ DefaultVisitor() [1/3]

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.

◆ ~DefaultVisitor()

DefaultVisitor::~DefaultVisitor ( )
overridedefault

◆ DefaultVisitor() [2/3]

DefaultVisitor::DefaultVisitor ( )
privatedelete

◆ DefaultVisitor() [3/3]

DefaultVisitor::DefaultVisitor ( const DefaultVisitor )
privatedelete

Member Function Documentation

◆ applyDefault()

◆ execute()

void DefaultVisitor::execute ( )
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().

Here is the call graph for this function:

◆ operator=()

void DefaultVisitor::operator= ( const DefaultVisitor )
privatedelete

◆ visitBeamline()

void DefaultVisitor::visitBeamline ( const Beamline bl)
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.

Here is the call graph for this function:

◆ visitComponent()

void DefaultVisitor::visitComponent ( const Component )
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().

Here is the call graph for this function:

◆ visitConstantEFieldCavity()

void DefaultVisitor::visitConstantEFieldCavity ( const ConstantEFieldCavity cav)
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().

Here is the call graph for this function:

◆ visitDrift()

void DefaultVisitor::visitDrift ( const Drift drf)
overridevirtual

Apply the algorithm to a drift space.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 65 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitFlaggedElmPtr()

void DefaultVisitor::visitFlaggedElmPtr ( const FlaggedElmPtr fep)
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().

Here is the call graph for this function:

◆ visitLaser()

void DefaultVisitor::visitLaser ( const Laser laser)
overridevirtual

Apply the algorithm to a laser.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 67 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitMarker()

void DefaultVisitor::visitMarker ( const Marker mark)
overridevirtual

Apply the algorithm to a marker.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 69 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitMonitor()

void DefaultVisitor::visitMonitor ( const Monitor mon)
overridevirtual

Apply the algorithm to a beam position monitor.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 71 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitMultipole()

void DefaultVisitor::visitMultipole ( const Multipole mult)
overridevirtual

Apply the algorithm to a multipole.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 73 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitMultipoleT()

void DefaultVisitor::visitMultipoleT ( const MultipoleT multT)
overridevirtual

Apply the algorithm to an arbitrary multipole.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 75 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitProbe()

void DefaultVisitor::visitProbe ( const Probe prob)
overridevirtual

Apply the algorithm to a Probe.

Implements BeamlineVisitor.

Definition at line 95 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitRBend()

void DefaultVisitor::visitRBend ( const RBend bend)
overridevirtual

Apply the algorithm to a rectangular bend.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 77 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitRFCavity()

void DefaultVisitor::visitRFCavity ( const RFCavity cav)
overridevirtual

Apply the algorithm to a RF cavity.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 81 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitRing()

void DefaultVisitor::visitRing ( const Ring ring)
overridevirtual

Apply the algorithm to a Ring.

Implements BeamlineVisitor.

Definition at line 79 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitSBend()

void DefaultVisitor::visitSBend ( const SBend bend)
overridevirtual

Apply the algorithm to a sector bend.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 83 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitScalingFFAMagnet()

void DefaultVisitor::visitScalingFFAMagnet ( const ScalingFFAMagnet spiral)
overridevirtual

Apply the algorithm to a scaling FFA magnet.

Implements BeamlineVisitor.

Definition at line 89 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitSolenoid()

void DefaultVisitor::visitSolenoid ( const Solenoid so)
overridevirtual

Apply the algorithm to a Solenoid.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 85 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitTravelingWave()

void DefaultVisitor::visitTravelingWave ( const TravelingWave trw)
overridevirtual

Apply the algorithm to a traveling wave.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 87 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitVariableRFCavity()

void DefaultVisitor::visitVariableRFCavity ( const VariableRFCavity cavity)
overridevirtual

Apply the algorithm to a variable RF cavity.

Implements BeamlineVisitor.

Definition at line 93 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitVerticalFFAMagnet()

void DefaultVisitor::visitVerticalFFAMagnet ( const VerticalFFAMagnet mag)
overridevirtual

Apply the algorithm to a vertical FFA magnet.

Implements BeamlineVisitor.

Definition at line 91 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

Member Data Documentation

◆ back_beam

bool DefaultVisitor::back_beam
protected

Definition at line 110 of file DefaultVisitor.h.

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

◆ back_path

bool DefaultVisitor::back_path
protected

Definition at line 112 of file DefaultVisitor.h.

Referenced by DefaultVisitor().

◆ back_track

bool DefaultVisitor::back_track
protected

Definition at line 111 of file DefaultVisitor.h.

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

◆ flip_B

double DefaultVisitor::flip_B
protected

Definition at line 115 of file DefaultVisitor.h.

Referenced by DefaultVisitor().

◆ flip_s

double DefaultVisitor::flip_s
protected

Definition at line 116 of file DefaultVisitor.h.

Referenced by DefaultVisitor().

◆ itsLine

const Beamline& DefaultVisitor::itsLine
protected

Definition at line 107 of file DefaultVisitor.h.

Referenced by execute().

◆ local_flip

bool DefaultVisitor::local_flip
private

Definition at line 130 of file DefaultVisitor.h.

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


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