|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
|
#include <SpecificElementVisitor.h>
Public Types | |
| typedef std::list< const ELEM * > | ElementList_t |
| typedef ElementList_t::iterator | iterator_t |
| typedef ElementList_t::const_iterator | const_iterator_t |
| typedef ElementList_t::reference | reference_t |
| typedef ElementList_t::const_reference | const_reference_t |
Public Member Functions | |
| SpecificElementVisitor (const Beamline &beamline) | |
| virtual void | execute () |
| Execute the algorithm on the attached beam line. | |
| 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. | |
| virtual void | visitFlaggedElmPtr (const FlaggedElmPtr &) |
| Apply the algorithm to a FlaggedElmPtr. | |
| 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 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 | 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 variable RF cavity. | |
| virtual void | visitVariableRFCavityFringeField (const VariableRFCavityFringeField &vcav) |
| Apply the algorithm to a variable RF cavity with Fringe Field.. | |
| virtual void | visitVerticalFFAMagnet (const VerticalFFAMagnet &) |
| Apply the algorithm to a vertical FFA magnet. | |
| size_t | size () const |
| iterator_t | begin () |
| const_iterator_t | begin () const |
| iterator_t | end () |
| const_iterator_t | end () const |
| reference_t | front () |
| const_reference_t | front () const |
Private Attributes | |
| ElementList_t | allElementsOfTypeE |
Definition at line 82 of file SpecificElementVisitor.h.
| typedef ElementList_t::const_iterator SpecificElementVisitor< ELEM >::const_iterator_t |
Definition at line 201 of file SpecificElementVisitor.h.
| typedef ElementList_t::const_reference SpecificElementVisitor< ELEM >::const_reference_t |
Definition at line 204 of file SpecificElementVisitor.h.
| typedef std::list<const ELEM*> SpecificElementVisitor< ELEM >::ElementList_t |
Definition at line 199 of file SpecificElementVisitor.h.
| typedef ElementList_t::iterator SpecificElementVisitor< ELEM >::iterator_t |
Definition at line 200 of file SpecificElementVisitor.h.
| typedef ElementList_t::reference SpecificElementVisitor< ELEM >::reference_t |
Definition at line 203 of file SpecificElementVisitor.h.
| SpecificElementVisitor< ELEM >::SpecificElementVisitor | ( | const Beamline & | beamline | ) |
Definition at line 220 of file SpecificElementVisitor.h.
References allElementsOfTypeE, BeamlineVisitor::BeamlineVisitor(), and Beamline::iterate().
| SpecificElementVisitor< ELEM >::iterator_t SpecificElementVisitor< ELEM >::begin | ( | ) |
Definition at line 418 of file SpecificElementVisitor.h.
References allElementsOfTypeE.
| SpecificElementVisitor< ELEM >::const_iterator_t SpecificElementVisitor< ELEM >::begin | ( | ) | const |
Definition at line 423 of file SpecificElementVisitor.h.
References allElementsOfTypeE.
| SpecificElementVisitor< ELEM >::iterator_t SpecificElementVisitor< ELEM >::end | ( | ) |
Definition at line 428 of file SpecificElementVisitor.h.
References allElementsOfTypeE.
| SpecificElementVisitor< ELEM >::const_iterator_t SpecificElementVisitor< ELEM >::end | ( | ) | const |
Definition at line 433 of file SpecificElementVisitor.h.
References allElementsOfTypeE.
|
virtual |
Execute the algorithm on the attached beam line.
Implements BeamlineVisitor.
Definition at line 228 of file SpecificElementVisitor.h.
| SpecificElementVisitor< ELEM >::reference_t SpecificElementVisitor< ELEM >::front | ( | ) |
Definition at line 438 of file SpecificElementVisitor.h.
References allElementsOfTypeE.
| SpecificElementVisitor< ELEM >::const_reference_t SpecificElementVisitor< ELEM >::front | ( | ) | const |
Definition at line 443 of file SpecificElementVisitor.h.
References allElementsOfTypeE.
| size_t SpecificElementVisitor< ELEM >::size | ( | ) | const |
Definition at line 413 of file SpecificElementVisitor.h.
References allElementsOfTypeE.
|
virtual |
Apply the algorithm to a beam line.
Implements BeamlineVisitor.
Definition at line 232 of file SpecificElementVisitor.h.
References Beamline::iterate().
|
virtual |
Apply the algorithm to a collimator.
Definition at line 237 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to an arbitrary component.
Implements BeamlineVisitor.
Definition at line 242 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a closed orbit corrector.
Definition at line 247 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to an cyclotron.
Definition at line 252 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a degrader.
Definition at line 257 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a drift.
Implements BeamlineVisitor.
Definition at line 262 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a FlaggedElmPtr.
Implements BeamlineVisitor.
Definition at line 267 of file SpecificElementVisitor.h.
References ElementBase::accept(), and ElmPtr::getElement().
|
virtual |
Apply the algorithm to a flexible collimator.
Definition at line 273 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a marker.
Implements BeamlineVisitor.
Definition at line 278 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a beam position monitor.
Implements BeamlineVisitor.
Definition at line 283 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a multipole.
Implements BeamlineVisitor.
Definition at line 288 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to an arbitrary multipole.
Implements BeamlineVisitor.
Definition at line 293 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to an arbitrary curved multipole of constant radius.
Implements BeamlineVisitor.
Definition at line 303 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to an arbitrary curved multipole of variable radius.
Implements BeamlineVisitor.
Definition at line 308 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to an arbitrary straight multipole.
Implements BeamlineVisitor.
Definition at line 298 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to an offset (placement).
Implements BeamlineVisitor.
Definition at line 313 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a probe.
Implements BeamlineVisitor.
Definition at line 318 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a rectangular bend.
Definition at line 323 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a rectangular bend.
Definition at line 328 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a RF cavity.
Implements BeamlineVisitor.
Definition at line 333 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a ring.
Implements BeamlineVisitor.
Definition at line 338 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a sector bend.
Definition at line 343 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a sector bend with 3D field map.
Definition at line 348 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a scaling FFA magnet.
Implements BeamlineVisitor.
Definition at line 353 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a septum.
Definition at line 358 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a solenoid.
Implements BeamlineVisitor.
Definition at line 363 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a source.
Definition at line 368 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a particle stripper.
Definition at line 373 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a traveling wave.
Implements BeamlineVisitor.
Definition at line 378 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a vacuum space.
Definition at line 390 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a variable RF cavity.
Definition at line 395 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a variable RF cavity with Fringe Field..
Definition at line 401 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a vertical FFA magnet.
Implements BeamlineVisitor.
Definition at line 408 of file SpecificElementVisitor.h.
References allElementsOfTypeE, and CastsTrait< ELEM1, ELEM2 >::apply().
|
private |
Definition at line 216 of file SpecificElementVisitor.h.
Referenced by begin(), begin(), end(), end(), front(), front(), size(), SpecificElementVisitor(), visitCCollimator(), visitComponent(), visitCorrector(), visitCyclotron(), visitDegrader(), visitDrift(), visitFlexibleCollimator(), visitMarker(), visitMonitor(), visitMultipole(), visitMultipoleT(), visitMultipoleTCurvedConstRadius(), visitMultipoleTCurvedVarRadius(), visitMultipoleTStraight(), visitOffset(), visitProbe(), visitRBend(), visitRBend3D(), visitRFCavity(), visitRing(), visitSBend(), visitSBend3D(), visitScalingFFAMagnet(), visitSeptum(), visitSolenoid(), visitSource(), visitStripper(), visitTravelingWave(), visitVacuum(), visitVariableRFCavity(), visitVariableRFCavityFringeField(), and visitVerticalFFAMagnet().