OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Public Member Functions | Private Member Functions | List of all members
BeamlineVisitor Class Referenceabstract

#include <BeamlineVisitor.h>

Inheritance diagram for BeamlineVisitor:
Inheritance graph
[legend]

Public Member Functions

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

Private Member Functions

 BeamlineVisitor (const BeamlineVisitor &)
 
void operator= (const BeamlineVisitor &)
 

Detailed Description

Definition at line 79 of file BeamlineVisitor.h.

Constructor & Destructor Documentation

◆ BeamlineVisitor() [1/2]

BeamlineVisitor::BeamlineVisitor ( )

Definition at line 36 of file BeamlineVisitor.cpp.

◆ ~BeamlineVisitor()

BeamlineVisitor::~BeamlineVisitor ( )
virtual

Definition at line 40 of file BeamlineVisitor.cpp.

◆ BeamlineVisitor() [2/2]

BeamlineVisitor::BeamlineVisitor ( const BeamlineVisitor )
private

Member Function Documentation

◆ execute()

virtual void BeamlineVisitor::execute ( )
pure virtual

Execute the algorithm on the attached beam line.

Implemented in Selector, RangeSelector, DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

◆ operator=()

void BeamlineVisitor::operator= ( const BeamlineVisitor )
private

◆ visitBeamline()

virtual void BeamlineVisitor::visitBeamline ( const Beamline )
pure virtual

Apply the algorithm to a beam line.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by TBeamline< T >::accept().

◆ visitCCollimator()

virtual void BeamlineVisitor::visitCCollimator ( const CCollimator )
pure virtual

Apply the algorithm to a collimator.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by CCollimator::accept().

◆ visitComponent()

virtual void BeamlineVisitor::visitComponent ( const Component )
pure virtual

Apply the algorithm to an arbitrary component.

Implemented in Tracker, DefaultVisitor, and SpecificElementVisitor< ELEM >.

◆ visitCorrector()

virtual void BeamlineVisitor::visitCorrector ( const Corrector )
pure virtual

Apply the algorithm to a closed orbit corrector.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by Corrector::accept().

◆ visitCyclotron()

virtual void BeamlineVisitor::visitCyclotron ( const Cyclotron )
pure virtual

Apply the algorithm to a cyclotron.

Implemented in ParallelCyclotronTracker, DefaultVisitor, and SpecificElementVisitor< ELEM >.

Referenced by Cyclotron::accept().

◆ visitDegrader()

virtual void BeamlineVisitor::visitDegrader ( const Degrader )
pure virtual

Apply the algorithm to a degrader.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by Degrader::accept().

◆ visitDrift()

virtual void BeamlineVisitor::visitDrift ( const Drift )
pure virtual

Apply the algorithm to a drift space.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by Drift::accept().

◆ visitFlaggedElmPtr()

virtual void BeamlineVisitor::visitFlaggedElmPtr ( const FlaggedElmPtr )
pure virtual

Apply the algorithm to a FlaggedElmPtr.

Implemented in RangeSelector, Replacer, Flagger, DefaultVisitor, and SpecificElementVisitor< ELEM >.

Referenced by FlaggedElmPtr::accept().

◆ visitFlexibleCollimator()

virtual void BeamlineVisitor::visitFlexibleCollimator ( const FlexibleCollimator )
pure virtual

Apply the algorithm to a flexible collimator.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by FlexibleCollimator::accept().

◆ visitMarker()

virtual void BeamlineVisitor::visitMarker ( const Marker )
pure virtual

Apply the algorithm to a marker.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by Marker::accept().

◆ visitMonitor()

virtual void BeamlineVisitor::visitMonitor ( const Monitor )
pure virtual

Apply the algorithm to a beam position monitor.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by Monitor::accept().

◆ visitMultipole()

virtual void BeamlineVisitor::visitMultipole ( const Multipole )
pure virtual

Apply the algorithm to a multipole.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by Multipole::accept().

◆ visitMultipoleT()

virtual void BeamlineVisitor::visitMultipoleT ( const MultipoleT )
pure virtual

Apply the algorithm to an arbitrary multipole.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by MultipoleT::accept().

◆ visitMultipoleTCurvedConstRadius()

virtual void BeamlineVisitor::visitMultipoleTCurvedConstRadius ( const MultipoleTCurvedConstRadius )
pure virtual

Apply the algorithm to an arbitrary curved multipole of constant radius.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.

Referenced by MultipoleTCurvedConstRadius::accept().

◆ visitMultipoleTCurvedVarRadius()

virtual void BeamlineVisitor::visitMultipoleTCurvedVarRadius ( const MultipoleTCurvedVarRadius )
pure virtual

Apply the algorithm to an arbitrary curved multipole of variable radius.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.

Referenced by MultipoleTCurvedVarRadius::accept().

◆ visitMultipoleTStraight()

virtual void BeamlineVisitor::visitMultipoleTStraight ( const MultipoleTStraight )
pure virtual

Apply the algorithm to an arbitrary straight multipole.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.

Referenced by MultipoleTStraight::accept().

◆ visitOffset()

virtual void BeamlineVisitor::visitOffset ( const Offset )
pure virtual

Apply the algorithm to an offset (placement).

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.

Referenced by Offset::accept().

◆ visitProbe()

virtual void BeamlineVisitor::visitProbe ( const Probe )
pure virtual

Apply the algorithm to a probe.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by Probe::accept().

◆ visitRBend()

virtual void BeamlineVisitor::visitRBend ( const RBend )
pure virtual

Apply the algorithm to a rectangular bend.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by RBend::accept().

◆ visitRBend3D()

void BeamlineVisitor::visitRBend3D ( const RBend3D )
inlinevirtual

Apply the algorithm to a rectangular bend.

Reimplemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelTTracker.

Definition at line 205 of file BeamlineVisitor.h.

Referenced by RBend3D::accept().

◆ visitRFCavity()

virtual void BeamlineVisitor::visitRFCavity ( const RFCavity )
pure virtual

Apply the algorithm to a RF cavity.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by RFCavity::accept().

◆ visitRing()

virtual void BeamlineVisitor::visitRing ( const Ring )
pure virtual

Apply the algorithm to a ring.

Implemented in ParallelCyclotronTracker, DefaultVisitor, and SpecificElementVisitor< ELEM >.

Referenced by Ring::accept().

◆ visitSBend()

virtual void BeamlineVisitor::visitSBend ( const SBend )
pure virtual

Apply the algorithm to a sector bend.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by SBend::accept().

◆ visitSBend3D()

virtual void BeamlineVisitor::visitSBend3D ( const SBend3D )
pure virtual

Apply the algorithm to a sector bend with 3D field map.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.

Referenced by SBend3D::accept().

◆ visitScalingFFAMagnet()

virtual void BeamlineVisitor::visitScalingFFAMagnet ( const ScalingFFAMagnet )
pure virtual

Apply the algorithm to a scaling FFA magnet.

Implemented in ParallelCyclotronTracker, DefaultVisitor, and SpecificElementVisitor< ELEM >.

Referenced by ScalingFFAMagnet::accept().

◆ visitSeptum()

virtual void BeamlineVisitor::visitSeptum ( const Septum )
pure virtual

Apply the algorithm to a septum magnet.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by Septum::accept().

◆ visitSolenoid()

virtual void BeamlineVisitor::visitSolenoid ( const Solenoid )
pure virtual

Apply the algorithm to a solenoid.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by Solenoid::accept().

◆ visitSource()

virtual void BeamlineVisitor::visitSource ( const Source )
pure virtual

Apply the algorithm to a source.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelTTracker.

Referenced by Source::accept().

◆ visitStripper()

virtual void BeamlineVisitor::visitStripper ( const Stripper )
pure virtual

Apply the algorithm to a particle stripper.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.

Referenced by Stripper::accept().

◆ visitTravelingWave()

virtual void BeamlineVisitor::visitTravelingWave ( const TravelingWave )
pure virtual

Apply the algorithm to a traveling wave.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, and ParallelTTracker.

Referenced by TravelingWave::accept().

◆ visitVacuum()

virtual void BeamlineVisitor::visitVacuum ( const Vacuum )
pure virtual

Apply the algorithm to a vacuum space.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, ThickTracker, ParallelTTracker, and ParallelCyclotronTracker.

Referenced by Vacuum::accept().

◆ visitVariableRFCavity()

virtual void BeamlineVisitor::visitVariableRFCavity ( const VariableRFCavity )
pure virtual

Apply the algorithm to a variable RF cavity.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.

Referenced by VariableRFCavity::accept(), and VariableRFCavityFringeField::accept().

◆ visitVariableRFCavityFringeField()

virtual void BeamlineVisitor::visitVariableRFCavityFringeField ( const VariableRFCavityFringeField )
pure virtual

Apply the algorithm to a variable RF cavity with Fringe Field.

Implemented in DefaultVisitor, SpecificElementVisitor< ELEM >, and ParallelCyclotronTracker.

◆ visitVerticalFFAMagnet()

virtual void BeamlineVisitor::visitVerticalFFAMagnet ( const VerticalFFAMagnet )
pure virtual

Apply the algorithm to a vertical FFA magnet.

Implemented in ParallelCyclotronTracker, DefaultVisitor, and SpecificElementVisitor< ELEM >.

Referenced by VerticalFFAMagnet::accept().


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