OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
RangeSelector Class Reference

#include <RangeSelector.h>

Inheritance diagram for RangeSelector:
Collaboration diagram for RangeSelector:

Public Member Functions

 RangeSelector (const Beamline &, const RangeRep &range)
 Constructor.
virtual ~RangeSelector ()
virtual void execute ()
 Execute the algorithm.
virtual void visitFlaggedElmPtr (const FlaggedElmPtr &)
 Apply the visitor to an FlaggedElmPtr.
virtual void visitComponent (const Component &)
 Apply the algorithm to an arbitrary component.
virtual void visitBeamline (const Beamline &)
 Apply the algorithm to a beam line.
virtual void visitDrift (const Drift &)
 Apply the algorithm to a drift space.
virtual void visitMarker (const Marker &)
 Apply the algorithm to a marker.
virtual void visitMonitor (const Monitor &)
 Apply the algorithm to a beam position monitor.
virtual void visitMultipole (const Multipole &)
 Apply the algorithm to a multipole.
virtual void visitMultipoleT (const MultipoleT &)
 Apply the algorithm to to an arbitrary multipole.
virtual void visitMultipoleTStraight (const MultipoleTStraight &)
 Apply the algorithm to an arbitrary straight multipole.
virtual void visitMultipoleTCurvedConstRadius (const MultipoleTCurvedConstRadius &)
 Apply the algorithm to an arbitrary curved multipole of constant radius.
virtual void visitMultipoleTCurvedVarRadius (const MultipoleTCurvedVarRadius &)
 Apply the algorithm to an arbitrary curved multipole of variable radius.
virtual void visitOffset (const Offset &)
 Apply the algorithm to an offset (placement).
virtual void visitRing (const Ring &)
 Apply the algorithm to a Ring.
virtual void visitRFCavity (const RFCavity &)
 Apply the algorithm to a RF cavity.
virtual void visitSolenoid (const Solenoid &)
 Apply the algorithm to a Solenoid.
virtual void visitTravelingWave (const TravelingWave &)
 Apply the algorithm to a traveling wave.
virtual void visitScalingFFAMagnet (const ScalingFFAMagnet &spiral)
 Apply the algorithm to a scaling FFA magnet.
virtual void visitVerticalFFAMagnet (const VerticalFFAMagnet &)
 Apply the algorithm to a vertical FFA magnet.
virtual void visitProbe (const Probe &prob)
 Apply the algorithm to a Probe.

Protected Member Functions

virtual void handleBeamline (const FlaggedElmPtr &)
 The operation to be done for beamlines.
virtual void handleElement (const FlaggedElmPtr &)
 The operation to be done for elements.

Protected Attributes

RangeRep itsRange
 Working data for range.
const BeamlineitsLine
bool back_beam
bool back_track
bool back_path
double flip_B
double flip_s

Private Member Functions

 RangeSelector ()
 RangeSelector (const RangeSelector &)
void operator= (const RangeSelector &)
virtual void applyDefault (const ElementBase &)

Private Attributes

bool local_flip

Detailed Description

Definition at line 29 of file RangeSelector.h.

Constructor & Destructor Documentation

◆ RangeSelector() [1/3]

RangeSelector::RangeSelector ( const Beamline & beamline,
const RangeRep & range )

Constructor.

Definition at line 31 of file RangeSelector.cpp.

References DefaultVisitor::DefaultVisitor(), and itsRange.

Referenced by operator=(), RangeSelector(), and Selector::Selector().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~RangeSelector()

RangeSelector::~RangeSelector ( )
virtual

Definition at line 36 of file RangeSelector.cpp.

◆ RangeSelector() [2/3]

RangeSelector::RangeSelector ( )
private

◆ RangeSelector() [3/3]

RangeSelector::RangeSelector ( const RangeSelector & )
private

References RangeSelector().

Here is the call graph for this function:

Member Function Documentation

◆ applyDefault()

void DefaultVisitor::applyDefault ( const ElementBase & )
privatevirtualinherited

Definition at line 146 of file DefaultVisitor.cpp.

Referenced by visitComponent(), visitDrift(), visitMarker(), visitMonitor(), visitMultipole(), visitMultipoleT(), visitMultipoleTCurvedConstRadius(), visitMultipoleTCurvedVarRadius(), visitMultipoleTStraight(), visitOffset(), visitProbe(), visitRFCavity(), visitRing(), visitScalingFFAMagnet(), visitSolenoid(), visitTravelingWave(), and visitVerticalFFAMagnet().

Here is the caller graph for this function:

◆ execute()

void RangeSelector::execute ( )
virtual

Execute the algorithm.

Reimplemented from DefaultVisitor.

Reimplemented in Selector.

Definition at line 40 of file RangeSelector.cpp.

References DefaultVisitor::execute(), and itsRange.

Referenced by Selector::execute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ handleBeamline()

void RangeSelector::handleBeamline ( const FlaggedElmPtr & fep)
protectedvirtual

The operation to be done for beamlines.

Definition at line 64 of file RangeSelector.cpp.

References DefaultVisitor::visitFlaggedElmPtr().

Referenced by visitFlaggedElmPtr().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ handleElement()

void RangeSelector::handleElement ( const FlaggedElmPtr & fep)
protectedvirtual

The operation to be done for elements.

Reimplemented in Selector.

Definition at line 69 of file RangeSelector.cpp.

References itsRange, and DefaultVisitor::visitFlaggedElmPtr().

Referenced by visitFlaggedElmPtr().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

void RangeSelector::operator= ( const RangeSelector & )
private

References RangeSelector().

Here is the call graph for this function:

◆ visitBeamline()

void DefaultVisitor::visitBeamline ( const Beamline & bl)
virtualinherited

Apply the algorithm to a beam line.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 130 of file DefaultVisitor.cpp.

References Beamline::iterate(), and local_flip.

Here is the call graph for this function:

◆ visitComponent()

void DefaultVisitor::visitComponent ( const Component & )
virtualinherited

Apply the algorithm to an arbitrary component.

Implements BeamlineVisitor.

Reimplemented in Tracker.

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)
virtualinherited

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 RangeSelector::visitFlaggedElmPtr ( const FlaggedElmPtr & fep)
virtual

Apply the visitor to an FlaggedElmPtr.

Reimplemented from DefaultVisitor.

Definition at line 46 of file RangeSelector.cpp.

References ElmPtr::getElement(), handleBeamline(), handleElement(), and itsRange.

Here is the call graph for this function:

◆ visitMarker()

void DefaultVisitor::visitMarker ( const Marker & mark)
virtualinherited

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)
virtualinherited

Apply the algorithm to a beam position monitor.

Implements BeamlineVisitor.

Definition at line 73 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitMultipole()

void DefaultVisitor::visitMultipole ( const Multipole & mult)
virtualinherited

Apply the algorithm to a multipole.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 77 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitMultipoleT()

void DefaultVisitor::visitMultipoleT ( const MultipoleT & multT)
virtualinherited

Apply the algorithm to to an arbitrary multipole.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 81 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitMultipoleTCurvedConstRadius()

void DefaultVisitor::visitMultipoleTCurvedConstRadius ( const MultipoleTCurvedConstRadius & multTccurv)
virtualinherited

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

Implements BeamlineVisitor.

Definition at line 89 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitMultipoleTCurvedVarRadius()

void DefaultVisitor::visitMultipoleTCurvedVarRadius ( const MultipoleTCurvedVarRadius & multTvcurv)
virtualinherited

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

Implements BeamlineVisitor.

Definition at line 94 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitMultipoleTStraight()

void DefaultVisitor::visitMultipoleTStraight ( const MultipoleTStraight & multTstraight)
virtualinherited

Apply the algorithm to an arbitrary straight multipole.

Implements BeamlineVisitor.

Definition at line 85 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitOffset()

void DefaultVisitor::visitOffset ( const Offset & off)
virtualinherited

Apply the algorithm to an offset (placement).

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 98 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitProbe()

void DefaultVisitor::visitProbe ( const Probe & prob)
virtualinherited

Apply the algorithm to a Probe.

Implements BeamlineVisitor.

Definition at line 126 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitRFCavity()

void DefaultVisitor::visitRFCavity ( const RFCavity & cav)
virtualinherited

Apply the algorithm to a RF cavity.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 106 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitRing()

void DefaultVisitor::visitRing ( const Ring & ring)
virtualinherited

Apply the algorithm to a Ring.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 102 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitScalingFFAMagnet()

void DefaultVisitor::visitScalingFFAMagnet ( const ScalingFFAMagnet & spiral)
virtualinherited

Apply the algorithm to a scaling FFA magnet.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 118 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitSolenoid()

void DefaultVisitor::visitSolenoid ( const Solenoid & so)
virtualinherited

Apply the algorithm to a Solenoid.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 110 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitTravelingWave()

void DefaultVisitor::visitTravelingWave ( const TravelingWave & trw)
virtualinherited

Apply the algorithm to a traveling wave.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 114 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

◆ visitVerticalFFAMagnet()

void DefaultVisitor::visitVerticalFFAMagnet ( const VerticalFFAMagnet & mag)
virtualinherited

Apply the algorithm to a vertical FFA magnet.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 122 of file DefaultVisitor.cpp.

References applyDefault().

Here is the call graph for this function:

Member Data Documentation

◆ back_beam

bool DefaultVisitor::back_beam
protectedinherited

Definition at line 107 of file DefaultVisitor.h.

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

◆ back_path

bool DefaultVisitor::back_path
protectedinherited

Definition at line 109 of file DefaultVisitor.h.

Referenced by DefaultVisitor().

◆ back_track

◆ flip_B

double DefaultVisitor::flip_B
protectedinherited

Definition at line 112 of file DefaultVisitor.h.

Referenced by DefaultVisitor().

◆ flip_s

double DefaultVisitor::flip_s
protectedinherited

Definition at line 113 of file DefaultVisitor.h.

Referenced by DefaultVisitor().

◆ itsLine

const Beamline& DefaultVisitor::itsLine
protectedinherited

Definition at line 104 of file DefaultVisitor.h.

Referenced by DefaultVisitor(), and execute().

◆ itsRange

RangeRep RangeSelector::itsRange
protected

Working data for range.

Definition at line 55 of file RangeSelector.h.

Referenced by execute(), handleElement(), Selector::handleElement(), RangeSelector(), and visitFlaggedElmPtr().

◆ local_flip

bool DefaultVisitor::local_flip
privateinherited

Definition at line 127 of file DefaultVisitor.h.

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


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