OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
Replacer Class Reference

Replace all references to named element by a new version. More...

#include <Replacer.h>

Inheritance diagram for Replacer:
Inheritance graph
Collaboration diagram for Replacer:
Collaboration graph

Public Member Functions

 Replacer (const Beamline &, const std::string &name, ElementBase *elm)
 Constructor. More...
 
virtual ~Replacer ()
 
virtual void visitFlaggedElmPtr (const FlaggedElmPtr &)
 Apply the visitor to an FlaggedElmPtr. More...
 
virtual void execute ()
 Apply the algorithm to the top-level beamline. More...
 
virtual void visitComponent (const Component &)
 Apply the algorithm to an arbitrary component. More...
 
virtual void visitBeamline (const Beamline &)
 Apply the algorithm to a beam line. More...
 
virtual void visitDrift (const Drift &)
 Apply the algorithm to a drift space. 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 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 visitRing (const Ring &)
 Apply the algorithm to a Ring. More...
 
virtual void visitRFCavity (const RFCavity &)
 Apply the algorithm to a RF cavity. More...
 
virtual void visitSolenoid (const Solenoid &)
 Apply the algorithm to a Solenoid. More...
 
virtual void visitTravelingWave (const TravelingWave &)
 Apply the algorithm to a traveling wave. More...
 
virtual void visitScalingFFAMagnet (const ScalingFFAMagnet &spiral)
 Apply the algorithm to a scaling FFA magnet. More...
 
virtual void visitVerticalFFAMagnet (const VerticalFFAMagnet &)
 Apply the algorithm to a vertical FFA magnet. More...
 
virtual void visitProbe (const Probe &prob)
 Apply the algorithm to a Probe. More...
 

Protected Attributes

const BeamlineitsLine
 
bool back_beam
 
bool back_track
 
bool back_path
 
double flip_B
 
double flip_s
 

Private Member Functions

 Replacer ()
 
 Replacer (const Replacer &)
 
void operator= (const Replacer &)
 
virtual void applyDefault (const ElementBase &)
 

Private Attributes

const std::string itsName
 
ElementBasenewBase
 
bool local_flip
 

Detailed Description

Replace all references to named element by a new version.

Definition at line 32 of file Replacer.h.

Constructor & Destructor Documentation

◆ Replacer() [1/3]

Replacer::Replacer ( const Beamline beamline,
const std::string &  name,
ElementBase elm 
)

Constructor.

Definition at line 32 of file Replacer.cpp.

◆ ~Replacer()

Replacer::~Replacer ( )
virtual

Definition at line 41 of file Replacer.cpp.

◆ Replacer() [2/3]

Replacer::Replacer ( )
private

◆ Replacer() [3/3]

Replacer::Replacer ( const Replacer )
private

Member Function Documentation

◆ applyDefault()

◆ execute()

void DefaultVisitor::execute ( )
virtualinherited

Apply the algorithm to the top-level beamline.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker, RangeSelector, and Selector.

Definition at line 56 of file DefaultVisitor.cpp.

References ElementBase::accept(), DefaultVisitor::back_beam, DefaultVisitor::back_track, DefaultVisitor::itsLine, and DefaultVisitor::local_flip.

Referenced by RangeSelector::execute(), TrackRun::execute(), Line::replace(), Sequence::replace(), and Select::select().

Here is the call graph for this function:

◆ operator=()

void Replacer::operator= ( const Replacer )
private

◆ visitBeamline()

void DefaultVisitor::visitBeamline ( const Beamline bl)
virtualinherited

Apply the algorithm to a beam line.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 130 of file DefaultVisitor.cpp.

References Beamline::iterate(), and DefaultVisitor::local_flip.

Here is the call graph for this function:

◆ visitComponent()

void DefaultVisitor::visitComponent ( const Component )
virtualinherited

Apply the algorithm to an arbitrary component.

Implements BeamlineVisitor.

Reimplemented in Tracker.

Definition at line 61 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

◆ visitDrift()

void DefaultVisitor::visitDrift ( const Drift drf)
virtualinherited

Apply the algorithm to a drift space.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 65 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

◆ visitFlaggedElmPtr()

void Replacer::visitFlaggedElmPtr ( const FlaggedElmPtr fep)
virtual

Apply the visitor to an FlaggedElmPtr.

Reimplemented from DefaultVisitor.

Definition at line 45 of file Replacer.cpp.

References ElementBase::copyStructure(), ElmPtr::getElement(), ElementBase::getName(), itsName, newBase, Element::setElement(), and DefaultVisitor::visitFlaggedElmPtr().

Here is the call graph for this function:

◆ visitMarker()

void DefaultVisitor::visitMarker ( const Marker mark)
virtualinherited

Apply the algorithm to a marker.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 69 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

◆ visitMonitor()

void DefaultVisitor::visitMonitor ( const Monitor mon)
virtualinherited

Apply the algorithm to a beam position monitor.

Implements BeamlineVisitor.

Definition at line 73 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

◆ visitMultipole()

void DefaultVisitor::visitMultipole ( const Multipole mult)
virtualinherited

Apply the algorithm to a multipole.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 77 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault(), and ippl::mult().

Here is the call graph for this function:

◆ visitMultipoleT()

void DefaultVisitor::visitMultipoleT ( const MultipoleT multT)
virtualinherited

Apply the algorithm to to an arbitrary multipole.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 81 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

◆ visitMultipoleTCurvedConstRadius()

void DefaultVisitor::visitMultipoleTCurvedConstRadius ( const MultipoleTCurvedConstRadius multTccurv)
virtualinherited

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

Implements BeamlineVisitor.

Definition at line 89 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

◆ visitMultipoleTCurvedVarRadius()

void DefaultVisitor::visitMultipoleTCurvedVarRadius ( const MultipoleTCurvedVarRadius multTvcurv)
virtualinherited

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

Implements BeamlineVisitor.

Definition at line 94 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

◆ visitMultipoleTStraight()

void DefaultVisitor::visitMultipoleTStraight ( const MultipoleTStraight multTstraight)
virtualinherited

Apply the algorithm to an arbitrary straight multipole.

Implements BeamlineVisitor.

Definition at line 85 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

◆ visitOffset()

void DefaultVisitor::visitOffset ( const Offset off)
virtualinherited

Apply the algorithm to an offset (placement).

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 98 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

◆ visitProbe()

void DefaultVisitor::visitProbe ( const Probe prob)
virtualinherited

Apply the algorithm to a Probe.

Implements BeamlineVisitor.

Definition at line 126 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

◆ visitRFCavity()

void DefaultVisitor::visitRFCavity ( const RFCavity cav)
virtualinherited

Apply the algorithm to a RF cavity.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 106 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

◆ visitRing()

void DefaultVisitor::visitRing ( const Ring ring)
virtualinherited

Apply the algorithm to a Ring.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 102 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

◆ visitScalingFFAMagnet()

void DefaultVisitor::visitScalingFFAMagnet ( const ScalingFFAMagnet spiral)
virtualinherited

Apply the algorithm to a scaling FFA magnet.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 118 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

◆ visitSolenoid()

void DefaultVisitor::visitSolenoid ( const Solenoid so)
virtualinherited

Apply the algorithm to a Solenoid.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 110 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

◆ visitTravelingWave()

void DefaultVisitor::visitTravelingWave ( const TravelingWave trw)
virtualinherited

Apply the algorithm to a traveling wave.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 114 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

◆ visitVerticalFFAMagnet()

void DefaultVisitor::visitVerticalFFAMagnet ( const VerticalFFAMagnet mag)
virtualinherited

Apply the algorithm to a vertical FFA magnet.

Implements BeamlineVisitor.

Reimplemented in ParallelTracker.

Definition at line 122 of file DefaultVisitor.cpp.

References DefaultVisitor::applyDefault().

Here is the call graph for this function:

Member Data Documentation

◆ back_beam

bool DefaultVisitor::back_beam
protectedinherited

◆ back_path

bool DefaultVisitor::back_path
protectedinherited

Definition at line 109 of file DefaultVisitor.h.

Referenced by DefaultVisitor::DefaultVisitor().

◆ back_track

◆ flip_B

double DefaultVisitor::flip_B
protectedinherited

Definition at line 112 of file DefaultVisitor.h.

Referenced by DefaultVisitor::DefaultVisitor().

◆ flip_s

double DefaultVisitor::flip_s
protectedinherited

Definition at line 113 of file DefaultVisitor.h.

Referenced by DefaultVisitor::DefaultVisitor().

◆ itsLine

const Beamline& DefaultVisitor::itsLine
protectedinherited

Definition at line 104 of file DefaultVisitor.h.

Referenced by DefaultVisitor::execute().

◆ itsName

const std::string Replacer::itsName
private

Definition at line 53 of file Replacer.h.

Referenced by visitFlaggedElmPtr().

◆ local_flip

bool DefaultVisitor::local_flip
privateinherited

◆ newBase

ElementBase* Replacer::newBase
private

Definition at line 56 of file Replacer.h.

Referenced by visitFlaggedElmPtr().


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