|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <Selector.h>
Public Member Functions | |
| Selector (const Beamline &, const RangeRep &range, const std::string &cName, const std::string &tName, const std::string &pString) | |
| Constructor. | |
| virtual | ~Selector () |
| virtual void | execute () |
| Execute the selection. | |
| int | getCount () const |
| Return the count of selected elements. | |
| virtual void | visitFlaggedElmPtr (const FlaggedElmPtr &) |
| Apply the visitor to an FlaggedElmPtr. | |
| virtual void | visitBeamline (const Beamline &) |
| Apply the algorithm to a beam line. | |
| virtual void | visitCCollimator (const CCollimator &) |
| Apply the algorithm to a collimator. | |
| virtual void | visitComponent (const Component &) |
| Apply the algorithm to an arbitrary component. | |
| virtual void | visitCorrector (const Corrector &) |
| Apply the algorithm to a closed orbit corrector. | |
| virtual void | visitCyclotron (const Cyclotron &) |
| Apply the algorithm to an cyclotron. | |
| virtual void | visitDegrader (const Degrader &) |
| Apply the algorithm to a degrader. | |
| virtual void | visitDrift (const Drift &) |
| Apply the algorithm to a drift space. | |
| virtual void | visitFlexibleCollimator (const FlexibleCollimator &) |
| Apply the algorithm to a flexible collimator. | |
| 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 | visitOffset (const Offset &) |
| Apply the algorithm to an offset (placement). | |
| virtual void | visitOutputPlane (const OutputPlane &) |
| Apply the algorithm to an output plane. | |
| virtual void | visitProbe (const Probe &prob) |
| Apply the algorithm to a probe. | |
| virtual void | visitRBend (const RBend &) |
| Apply the algorithm to a rectangular bend. | |
| virtual void | visitRBend3D (const RBend3D &) |
| Apply the algorithm to a rectangular bend. | |
| virtual void | visitRFCavity (const RFCavity &) |
| Apply the algorithm to a RF cavity. | |
| virtual void | visitRing (const Ring &) |
| Apply the algorithm to a ring. | |
| virtual void | visitSBend (const SBend &) |
| Apply the algorithm to a sector bend. | |
| virtual void | visitSBend3D (const SBend3D &) |
| Apply the algorithm to a sector bend with 3D field map. | |
| virtual void | visitScalingFFAMagnet (const ScalingFFAMagnet &) |
| Apply the algorithm to a scaling FFA magnet. | |
| virtual void | visitSeptum (const Septum &) |
| Apply the algorithm to a septum. | |
| virtual void | visitSolenoid (const Solenoid &) |
| Apply the algorithm to a solenoid. | |
| virtual void | visitSource (const Source &) |
| Apply the algorithm to a source. | |
| virtual void | visitStripper (const Stripper &) |
| Apply the algorithm to a particle stripper. | |
| virtual void | visitTravelingWave (const TravelingWave &) |
| Apply the algorithm to a traveling wave. | |
| virtual void | visitVacuum (const Vacuum &) |
| Apply the algorithm to a vacuum space. | |
| virtual void | visitVariableRFCavity (const VariableRFCavity &vcav) |
| Apply the algorithm to a a variable RF cavity. | |
| virtual void | visitVariableRFCavityFringeField (const VariableRFCavityFringeField &vcav) |
| Apply the algorithm to a a variable RF cavity with Fringe Field. | |
| virtual void | visitVerticalFFAMagnet (const VerticalFFAMagnet &) |
| Apply the algorithm to a vertical FFA magnet. | |
Protected Member Functions | |
| virtual void | handleElement (const FlaggedElmPtr &) |
| The operation to be done for elements. | |
| virtual void | handleBeamline (const FlaggedElmPtr &) |
| The operation to be done for beamlines. | |
Protected Attributes | |
| RangeRep | itsRange |
| Working data for range. | |
| const Beamline & | itsLine |
| bool | back_beam |
| bool | back_track |
| bool | back_path |
| double | flip_B |
| double | flip_s |
Private Member Functions | |
| Selector () | |
| Selector (const Selector &) | |
| void | operator= (const Selector &) |
| virtual void | applyDefault (const ElementBase &) |
Private Attributes | |
| const Element * | itsClass |
| const std::string | itsType |
| const RegularExpression * | itsPattern |
| int | itsCount |
| bool | local_flip |
Definition at line 28 of file Selector.h.
| Selector::Selector | ( | const Beamline & | bl, |
| const RangeRep & | range, | ||
| const std::string & | cName, | ||
| const std::string & | tName, | ||
| const std::string & | pString ) |
Constructor.
Definition at line 30 of file Selector.cpp.
References Element::find(), itsClass, itsCount, itsPattern, itsType, and RangeSelector::RangeSelector().
Referenced by operator=(), and Selector().
|
virtual |
Definition at line 48 of file Selector.cpp.
References itsPattern.
|
private |
|
private |
|
privatevirtualinherited |
Definition at line 231 of file DefaultVisitor.cpp.
Referenced by visitCCollimator(), visitComponent(), visitCorrector(), visitCyclotron(), visitDegrader(), visitDrift(), visitFlexibleCollimator(), visitMarker(), visitMonitor(), visitMultipole(), visitMultipoleT(), visitOffset(), visitOutputPlane(), visitProbe(), visitRBend(), visitRBend3D(), visitRFCavity(), visitRing(), visitSBend(), visitSBend3D(), visitScalingFFAMagnet(), visitSeptum(), visitSolenoid(), visitSource(), visitStripper(), visitTravelingWave(), visitVacuum(), visitVariableRFCavity(), visitVariableRFCavityFringeField(), and visitVerticalFFAMagnet().
|
virtual |
Execute the selection.
Reimplemented from RangeSelector.
Definition at line 53 of file Selector.cpp.
References RangeSelector::execute(), and itsCount.
Referenced by Select::select().
| int Selector::getCount | ( | ) | const |
Return the count of selected elements.
Definition at line 86 of file Selector.cpp.
References itsCount.
Referenced by Select::select().
|
protectedvirtualinherited |
The operation to be done for beamlines.
Definition at line 64 of file RangeSelector.cpp.
References DefaultVisitor::visitFlaggedElmPtr().
Referenced by visitFlaggedElmPtr().
|
protectedvirtual |
The operation to be done for elements.
Reimplemented from RangeSelector.
Definition at line 59 of file Selector.cpp.
References Element::find(), ElmPtr::getElement(), ElementBase::getName(), OpalElement::getTypeName(), Object::isTreeMember(), itsClass, itsCount, itsPattern, RangeSelector::itsRange, itsType, name, and FlaggedElmPtr::setSelectionFlag().
|
private |
|
virtualinherited |
Apply the algorithm to a beam line.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 213 of file DefaultVisitor.cpp.
References Beamline::iterate(), and local_flip.
|
virtualinherited |
Apply the algorithm to a collimator.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 85 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to an arbitrary component.
Implements BeamlineVisitor.
Reimplemented in Tracker.
Definition at line 89 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a closed orbit corrector.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 93 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to an cyclotron.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 97 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a degrader.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 101 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a drift space.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 105 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the visitor to an FlaggedElmPtr.
Reimplemented from DefaultVisitor.
Definition at line 46 of file RangeSelector.cpp.
References ElmPtr::getElement(), handleBeamline(), handleElement(), and itsRange.
|
virtualinherited |
Apply the algorithm to a flexible collimator.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 109 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a marker.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 113 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a beam position monitor.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 117 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a multipole.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 121 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to to an arbitrary multipole.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, and ParallelTTracker.
Definition at line 125 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to an offset (placement).
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 129 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to an output plane.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 133 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a probe.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 137 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a rectangular bend.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 141 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a rectangular bend.
Reimplemented from BeamlineVisitor.
Reimplemented in ParallelTTracker.
Definition at line 145 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a RF cavity.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 149 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a ring.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 153 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a sector bend.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 157 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a sector bend with 3D field map.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 161 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a scaling FFA magnet.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 165 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a septum.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 169 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a solenoid.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 173 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a source.
Implements BeamlineVisitor.
Reimplemented in ParallelTTracker.
Definition at line 177 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a particle stripper.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 181 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a traveling wave.
Implements BeamlineVisitor.
Reimplemented in ParallelTTracker, and ThickTracker.
Definition at line 185 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a vacuum space.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker, ParallelTTracker, and ThickTracker.
Definition at line 195 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a a variable RF cavity.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 199 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a a variable RF cavity with Fringe Field.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 203 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a vertical FFA magnet.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 208 of file DefaultVisitor.cpp.
References applyDefault().
|
protectedinherited |
Definition at line 155 of file DefaultVisitor.h.
Referenced by DefaultVisitor(), execute(), and Tracker::visitComponent().
|
protectedinherited |
Definition at line 157 of file DefaultVisitor.h.
Referenced by DefaultVisitor().
|
protectedinherited |
Definition at line 156 of file DefaultVisitor.h.
Referenced by DefaultVisitor(), execute(), ParallelTTracker::execute(), ParallelTTracker::findStartPosition(), ParallelTTracker::updateReferenceParticle(), and Tracker::visitComponent().
|
protectedinherited |
Definition at line 160 of file DefaultVisitor.h.
Referenced by DefaultVisitor().
|
protectedinherited |
Definition at line 161 of file DefaultVisitor.h.
Referenced by DefaultVisitor().
|
private |
Definition at line 60 of file Selector.h.
Referenced by handleElement(), and Selector().
|
private |
Definition at line 69 of file Selector.h.
Referenced by execute(), getCount(), handleElement(), and Selector().
|
protectedinherited |
Definition at line 152 of file DefaultVisitor.h.
Referenced by DefaultVisitor(), and execute().
|
private |
Definition at line 66 of file Selector.h.
Referenced by handleElement(), Selector(), and ~Selector().
|
protectedinherited |
Working data for range.
Definition at line 55 of file RangeSelector.h.
Referenced by execute(), handleElement(), Selector::handleElement(), RangeSelector(), and visitFlaggedElmPtr().
|
private |
Definition at line 63 of file Selector.h.
Referenced by handleElement(), and Selector().
|
privateinherited |
Definition at line 176 of file DefaultVisitor.h.
Referenced by DefaultVisitor(), execute(), visitBeamline(), and visitFlaggedElmPtr().