OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
|
#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. 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. 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 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 | 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 variable RF cavity. More... | |
virtual void | visitVariableRFCavityFringeField (const VariableRFCavityFringeField &vcav) |
Apply the algorithm to a variable RF cavity with Fringe Field.. More... | |
virtual void | visitVerticalFFAMagnet (const VerticalFFAMagnet &) |
Apply the algorithm to a vertical FFA magnet. More... | |
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 |
![]() | |
BeamlineVisitor () | |
virtual | ~BeamlineVisitor () |
Private Attributes | |
ElementList_t | allElementsOfTypeE |
Definition at line 83 of file SpecificElementVisitor.h.
typedef ElementList_t::const_iterator SpecificElementVisitor< ELEM >::const_iterator_t |
Definition at line 205 of file SpecificElementVisitor.h.
typedef ElementList_t::const_reference SpecificElementVisitor< ELEM >::const_reference_t |
Definition at line 208 of file SpecificElementVisitor.h.
typedef std::list<const ELEM*> SpecificElementVisitor< ELEM >::ElementList_t |
Definition at line 203 of file SpecificElementVisitor.h.
typedef ElementList_t::iterator SpecificElementVisitor< ELEM >::iterator_t |
Definition at line 204 of file SpecificElementVisitor.h.
typedef ElementList_t::reference SpecificElementVisitor< ELEM >::reference_t |
Definition at line 207 of file SpecificElementVisitor.h.
SpecificElementVisitor< ELEM >::SpecificElementVisitor | ( | const Beamline & | beamline | ) |
Definition at line 224 of file SpecificElementVisitor.h.
References Beamline::iterate().
SpecificElementVisitor< ELEM >::iterator_t SpecificElementVisitor< ELEM >::begin | ( | ) |
Definition at line 427 of file SpecificElementVisitor.h.
SpecificElementVisitor< ELEM >::const_iterator_t SpecificElementVisitor< ELEM >::begin | ( | ) | const |
Definition at line 432 of file SpecificElementVisitor.h.
SpecificElementVisitor< ELEM >::iterator_t SpecificElementVisitor< ELEM >::end | ( | ) |
Definition at line 437 of file SpecificElementVisitor.h.
SpecificElementVisitor< ELEM >::const_iterator_t SpecificElementVisitor< ELEM >::end | ( | ) | const |
Definition at line 442 of file SpecificElementVisitor.h.
|
virtual |
Execute the algorithm on the attached beam line.
Implements BeamlineVisitor.
Definition at line 232 of file SpecificElementVisitor.h.
Referenced by Distribution::createMatchedGaussDistribution(), and minimal_runner.MinimalRunner::execute_fork().
SpecificElementVisitor< ELEM >::reference_t SpecificElementVisitor< ELEM >::front | ( | ) |
Definition at line 447 of file SpecificElementVisitor.h.
SpecificElementVisitor< ELEM >::const_reference_t SpecificElementVisitor< ELEM >::front | ( | ) | const |
Definition at line 452 of file SpecificElementVisitor.h.
size_t SpecificElementVisitor< ELEM >::size | ( | ) | const |
Definition at line 422 of file SpecificElementVisitor.h.
|
virtual |
Apply the algorithm to a beam line.
Implements BeamlineVisitor.
Definition at line 236 of file SpecificElementVisitor.h.
References Beamline::iterate().
|
virtual |
Apply the algorithm to a collimator.
Implements BeamlineVisitor.
Definition at line 241 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to an arbitrary component.
Implements BeamlineVisitor.
Definition at line 246 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a closed orbit corrector.
Implements BeamlineVisitor.
Definition at line 251 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to an cyclotron.
Implements BeamlineVisitor.
Definition at line 256 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a degrader.
Implements BeamlineVisitor.
Definition at line 261 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a drift.
Implements BeamlineVisitor.
Definition at line 266 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a FlaggedElmPtr.
Implements BeamlineVisitor.
Definition at line 271 of file SpecificElementVisitor.h.
References ElementBase::accept(), and ElmPtr::getElement().
|
virtual |
Apply the algorithm to a flexible collimator.
Implements BeamlineVisitor.
Definition at line 277 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a marker.
Implements BeamlineVisitor.
Definition at line 282 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a beam position monitor.
Implements BeamlineVisitor.
Definition at line 287 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a multipole.
Implements BeamlineVisitor.
Definition at line 292 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to an arbitrary multipole.
Implements BeamlineVisitor.
Definition at line 297 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to an arbitrary curved multipole of constant radius.
Implements BeamlineVisitor.
Definition at line 307 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to an arbitrary curved multipole of variable radius.
Implements BeamlineVisitor.
Definition at line 312 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to an arbitrary straight multipole.
Implements BeamlineVisitor.
Definition at line 302 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to an offset (placement).
Implements BeamlineVisitor.
Definition at line 317 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to an output plane.
Implements BeamlineVisitor.
Definition at line 322 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a probe.
Implements BeamlineVisitor.
Definition at line 327 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a rectangular bend.
Implements BeamlineVisitor.
Definition at line 332 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a rectangular bend.
Reimplemented from BeamlineVisitor.
Definition at line 337 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a RF cavity.
Implements BeamlineVisitor.
Definition at line 342 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a ring.
Implements BeamlineVisitor.
Definition at line 347 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a sector bend.
Implements BeamlineVisitor.
Definition at line 352 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a sector bend with 3D field map.
Implements BeamlineVisitor.
Definition at line 357 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a scaling FFA magnet.
Implements BeamlineVisitor.
Definition at line 362 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a septum.
Implements BeamlineVisitor.
Definition at line 367 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a solenoid.
Implements BeamlineVisitor.
Definition at line 372 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a source.
Implements BeamlineVisitor.
Definition at line 377 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a particle stripper.
Implements BeamlineVisitor.
Definition at line 382 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a traveling wave.
Implements BeamlineVisitor.
Definition at line 387 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a vacuum space.
Implements BeamlineVisitor.
Definition at line 399 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a variable RF cavity.
Implements BeamlineVisitor.
Definition at line 405 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a variable RF cavity with Fringe Field..
Implements BeamlineVisitor.
Definition at line 411 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
virtual |
Apply the algorithm to a vertical FFA magnet.
Implements BeamlineVisitor.
Definition at line 417 of file SpecificElementVisitor.h.
References CastsTrait< ELEM1, ELEM2 >::apply().
|
private |
Definition at line 220 of file SpecificElementVisitor.h.