|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <RangeSelector.h>


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... | |
| 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 | 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 | 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... | |
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... | |
| const Beamline & | itsLine |
| 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 |
Definition at line 29 of file RangeSelector.h.
Constructor.
Definition at line 31 of file RangeSelector.cpp.
|
virtual |
Definition at line 36 of file RangeSelector.cpp.
|
private |
|
private |
|
privatevirtualinherited |
Definition at line 231 of file DefaultVisitor.cpp.
Referenced by DefaultVisitor::visitCCollimator(), DefaultVisitor::visitComponent(), DefaultVisitor::visitCorrector(), DefaultVisitor::visitCyclotron(), DefaultVisitor::visitDegrader(), DefaultVisitor::visitDrift(), DefaultVisitor::visitFlexibleCollimator(), DefaultVisitor::visitMarker(), DefaultVisitor::visitMonitor(), DefaultVisitor::visitMultipole(), DefaultVisitor::visitMultipoleT(), DefaultVisitor::visitOffset(), DefaultVisitor::visitOutputPlane(), DefaultVisitor::visitProbe(), DefaultVisitor::visitRBend(), DefaultVisitor::visitRBend3D(), DefaultVisitor::visitRFCavity(), DefaultVisitor::visitRing(), DefaultVisitor::visitSBend(), DefaultVisitor::visitSBend3D(), DefaultVisitor::visitScalingFFAMagnet(), DefaultVisitor::visitSeptum(), DefaultVisitor::visitSolenoid(), DefaultVisitor::visitSource(), DefaultVisitor::visitStripper(), DefaultVisitor::visitTravelingWave(), DefaultVisitor::visitVacuum(), DefaultVisitor::visitVariableRFCavity(), DefaultVisitor::visitVariableRFCavityFringeField(), and DefaultVisitor::visitVerticalFFAMagnet().
|
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().

|
protectedvirtual |
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 in Selector.
Definition at line 69 of file RangeSelector.cpp.
References RangeRep::isActive(), itsRange, and DefaultVisitor::visitFlaggedElmPtr().
Referenced by visitFlaggedElmPtr().

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

|
virtualinherited |
Apply the algorithm to an arbitrary component.
Implements BeamlineVisitor.
Reimplemented in Tracker.
Definition at line 89 of file DefaultVisitor.cpp.
References DefaultVisitor::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 DefaultVisitor::applyDefault().

|
virtualinherited |
Apply the algorithm to an cyclotron.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 97 of file DefaultVisitor.cpp.
References DefaultVisitor::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 DefaultVisitor::applyDefault(), and matheval::detail::math::deg().

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

|
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().

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

|
virtualinherited |
Apply the algorithm to an offset (placement).
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 129 of file DefaultVisitor.cpp.
References DefaultVisitor::applyDefault().

|
virtualinherited |
Apply the algorithm to an output plane.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 133 of file DefaultVisitor.cpp.
References DefaultVisitor::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 DefaultVisitor::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 DefaultVisitor::applyDefault().

|
virtualinherited |
Apply the algorithm to a rectangular bend.
Reimplemented from BeamlineVisitor.
Reimplemented in ParallelTTracker.
Definition at line 145 of file DefaultVisitor.cpp.
References DefaultVisitor::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 DefaultVisitor::applyDefault().

|
virtualinherited |
Apply the algorithm to a ring.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 153 of file DefaultVisitor.cpp.
References DefaultVisitor::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 DefaultVisitor::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 DefaultVisitor::applyDefault().

|
virtualinherited |
Apply the algorithm to a scaling FFA magnet.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 165 of file DefaultVisitor.cpp.
References DefaultVisitor::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 DefaultVisitor::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 DefaultVisitor::applyDefault().

|
virtualinherited |
Apply the algorithm to a source.
Implements BeamlineVisitor.
Reimplemented in ParallelTTracker.
Definition at line 177 of file DefaultVisitor.cpp.
References DefaultVisitor::applyDefault().

|
virtualinherited |
Apply the algorithm to a particle stripper.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 181 of file DefaultVisitor.cpp.
References DefaultVisitor::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 DefaultVisitor::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 DefaultVisitor::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 DefaultVisitor::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 DefaultVisitor::applyDefault().

|
virtualinherited |
Apply the algorithm to a vertical FFA magnet.
Implements BeamlineVisitor.
Reimplemented in ParallelCyclotronTracker.
Definition at line 208 of file DefaultVisitor.cpp.
References DefaultVisitor::applyDefault().

|
protectedinherited |
Definition at line 155 of file DefaultVisitor.h.
Referenced by DefaultVisitor::DefaultVisitor(), DefaultVisitor::execute(), and Tracker::visitComponent().
|
protectedinherited |
Definition at line 157 of file DefaultVisitor.h.
Referenced by DefaultVisitor::DefaultVisitor().
|
protectedinherited |
Definition at line 156 of file DefaultVisitor.h.
Referenced by DefaultVisitor::DefaultVisitor(), ParallelTTracker::execute(), DefaultVisitor::execute(), ParallelTTracker::findStartPosition(), ParallelTTracker::updateReferenceParticle(), and Tracker::visitComponent().
|
protectedinherited |
Definition at line 160 of file DefaultVisitor.h.
Referenced by DefaultVisitor::DefaultVisitor().
|
protectedinherited |
Definition at line 161 of file DefaultVisitor.h.
Referenced by DefaultVisitor::DefaultVisitor().
|
protectedinherited |
Definition at line 152 of file DefaultVisitor.h.
Referenced by DefaultVisitor::execute().
|
protected |
Working data for range.
Definition at line 55 of file RangeSelector.h.
Referenced by execute(), handleElement(), Selector::handleElement(), and visitFlaggedElmPtr().
|
privateinherited |
Definition at line 176 of file DefaultVisitor.h.
Referenced by DefaultVisitor::DefaultVisitor(), DefaultVisitor::execute(), DefaultVisitor::visitBeamline(), and DefaultVisitor::visitFlaggedElmPtr().