OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
RangeSelector Class Reference

#include <RangeSelector.h>

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

Public Member Functions

 RangeSelector (const Beamline &, const RangeRep &range)
 Constructor. More...
 
virtual ~RangeSelector ()
 
virtual void execute ()
 Execute the algorithm. More...
 
virtual void visitFlaggedElmPtr (const FlaggedElmPtr &)
 Apply the visitor to an FlaggedElmPtr. More...
 
- Public Member Functions inherited from DefaultVisitor
 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...
 
- Public Member Functions inherited from BeamlineVisitor
 BeamlineVisitor ()
 
virtual ~BeamlineVisitor ()
 
virtual void execute ()=0
 Execute the algorithm on the attached beam line. More...
 
virtual void visitBeamline (const Beamline &)=0
 Apply the algorithm to a beam line. More...
 
virtual void visitCCollimator (const CCollimator &)=0
 Apply the algorithm to a collimator. More...
 
virtual void visitComponent (const Component &)=0
 Apply the algorithm to an arbitrary component. More...
 
virtual void visitCorrector (const Corrector &)=0
 Apply the algorithm to a closed orbit corrector. More...
 
virtual void visitCyclotron (const Cyclotron &)=0
 Apply the algorithm to a cyclotron. More...
 
virtual void visitDegrader (const Degrader &)=0
 Apply the algorithm to a degrader. More...
 
virtual void visitDrift (const Drift &)=0
 Apply the algorithm to a drift space. More...
 
virtual void visitFlaggedElmPtr (const FlaggedElmPtr &)=0
 Apply the algorithm to a FlaggedElmPtr. More...
 
virtual void visitFlexibleCollimator (const FlexibleCollimator &)=0
 Apply the algorithm to a flexible collimator. More...
 
virtual void visitMarker (const Marker &)=0
 Apply the algorithm to a marker. More...
 
virtual void visitMonitor (const Monitor &)=0
 Apply the algorithm to a beam position monitor. More...
 
virtual void visitMultipole (const Multipole &)=0
 Apply the algorithm to a multipole. More...
 
virtual void visitMultipoleT (const MultipoleT &)=0
 Apply the algorithm to an arbitrary multipole. More...
 
virtual void visitMultipoleTStraight (const MultipoleTStraight &)=0
 Apply the algorithm to an arbitrary straight multipole. More...
 
virtual void visitMultipoleTCurvedConstRadius (const MultipoleTCurvedConstRadius &)=0
 Apply the algorithm to an arbitrary curved multipole of constant radius. More...
 
virtual void visitMultipoleTCurvedVarRadius (const MultipoleTCurvedVarRadius &)=0
 Apply the algorithm to an arbitrary curved multipole of variable radius. More...
 
virtual void visitOffset (const Offset &)=0
 Apply the algorithm to an offset (placement). More...
 
virtual void visitProbe (const Probe &)=0
 Apply the algorithm to a probe. More...
 
virtual void visitRBend (const RBend &)=0
 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 &)=0
 Apply the algorithm to a RF cavity. More...
 
virtual void visitRing (const Ring &)=0
 Apply the algorithm to a ring. More...
 
virtual void visitSBend (const SBend &)=0
 Apply the algorithm to a sector bend. More...
 
virtual void visitSBend3D (const SBend3D &)=0
 Apply the algorithm to a sector bend with 3D field map. More...
 
virtual void visitScalingFFAMagnet (const ScalingFFAMagnet &)=0
 Apply the algorithm to a scaling FFA magnet. More...
 
virtual void visitSeptum (const Septum &)=0
 Apply the algorithm to a septum magnet. More...
 
virtual void visitSolenoid (const Solenoid &)=0
 Apply the algorithm to a solenoid. More...
 
virtual void visitSource (const Source &)=0
 Apply the algorithm to a source. More...
 
virtual void visitStripper (const Stripper &)=0
 Apply the algorithm to a particle stripper. More...
 
virtual void visitTravelingWave (const TravelingWave &)=0
 Apply the algorithm to a traveling wave. More...
 
virtual void visitVacuum (const Vacuum &)=0
 Apply the algorithm to a vacuum space. More...
 
virtual void visitVariableRFCavity (const VariableRFCavity &)=0
 Apply the algorithm to a variable RF cavity. More...
 
virtual void visitVariableRFCavityFringeField (const VariableRFCavityFringeField &)=0
 Apply the algorithm to a variable RF cavity with Fringe Field. More...
 
virtual void visitVerticalFFAMagnet (const VerticalFFAMagnet &)=0
 Apply the algorithm to a vertical FFA magnet. More...
 

Protected Member Functions

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

Protected Attributes

RangeRep itsRange
 Working data for range. More...
 
- Protected Attributes inherited from DefaultVisitor
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 &)
 

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.

◆ ~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

Member Function Documentation

◆ 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(), RangeRep::initialize(), and itsRange.

Referenced by Selector::execute().

Here is the call 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:

◆ 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 RangeRep::isActive(), itsRange, and DefaultVisitor::visitFlaggedElmPtr().

Referenced by visitFlaggedElmPtr().

Here is the call graph for this function:

◆ operator=()

void RangeSelector::operator= ( const RangeSelector )
private

◆ 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 RangeRep::enter(), ElmPtr::getElement(), handleBeamline(), handleElement(), itsRange, and RangeRep::leave().

Here is the call graph for this function:

Member Data Documentation

◆ itsRange

RangeRep RangeSelector::itsRange
protected

Working data for range.

Definition at line 55 of file RangeSelector.h.

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


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