|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
|
#include <Tracker.h>
Public Types | |
| enum | { X , PX , Y , PY , T , PT } |
Public Member Functions | |
| Tracker (const Beamline &, const PartData &, bool backBeam, bool backTrack) | |
| Constructor. | |
| Tracker (const Beamline &, PartBunch_t *bunch, const PartData &, bool backBeam, bool backTrack) | |
| Constructor. | |
| virtual | ~Tracker () |
| const PartBunch_t * | getBunch () const |
| Return the current bunch. | |
| void | addToBunch (const OpalParticle &) |
| Add particle to bunch. | |
| virtual void | visitComponent (const Component &) |
| Store the bunch. | |
| virtual void | setNumBunch (short) |
| set total number of tracked bunches | |
| virtual short | getNumBunch () |
| get total number of tracked bunches | |
| virtual void | execute () |
| Apply the algorithm to the top-level beamline. | |
| virtual void | visitBeamline (const Beamline &) |
| Apply the algorithm to a beam line. | |
| virtual void | visitDrift (const Drift &) |
| Apply the algorithm to a drift space. | |
| virtual void | visitFlaggedElmPtr (const FlaggedElmPtr &) |
| Apply the algorithm to a FlaggedElmPtr. | |
| 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 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 | visitRing (const Ring &) |
| Apply the algorithm to a Ring. | |
| virtual void | visitRFCavity (const RFCavity &) |
| Apply the algorithm to a RF cavity. | |
| virtual void | visitSolenoid (const Solenoid &) |
| Apply the algorithm to a Solenoid. | |
| virtual void | visitTravelingWave (const TravelingWave &) |
| Apply the algorithm to a traveling wave. | |
| virtual void | visitScalingFFAMagnet (const ScalingFFAMagnet &spiral) |
| Apply the algorithm to a scaling FFA magnet. | |
| virtual void | visitVerticalFFAMagnet (const VerticalFFAMagnet &) |
| Apply the algorithm to a vertical FFA magnet. | |
| virtual void | visitProbe (const Probe &prob) |
| Apply the algorithm to a Probe. | |
Public Attributes | |
| FieldList | cavities_m |
| const Beamline & | itsBeamline_m |
Protected Attributes | |
| PartBunch_t * | itsBunch_m |
| The bunch of particles to be tracked. | |
| const PartData | itsReference |
| The reference information. | |
| const Beamline & | itsLine |
| bool | back_beam |
| bool | back_track |
| bool | back_path |
| double | flip_B |
| double | flip_s |
Private Member Functions | |
| Tracker () | |
| Tracker (const Tracker &) | |
| void | operator= (const Tracker &) |
| virtual void | applyDefault (const ElementBase &) |
Private Attributes | |
| bool | local_flip |
|
inherited |
| Enumerator | |
|---|---|
| X | |
| PX | |
| Y | |
| PY | |
| T | |
| PT | |
Definition at line 39 of file AbstractTracker.h.
| Tracker::Tracker | ( | const Beamline & | beamline, |
| const PartData & | reference, | ||
| bool | backBeam, | ||
| bool | backTrack ) |
Constructor.
Definition at line 75 of file Tracker.cpp.
References Tracker().
Referenced by operator=(), ParallelTracker::ParallelTracker(), ParallelTracker::ParallelTracker(), Tracker(), and Tracker().
| Tracker::Tracker | ( | const Beamline & | beamline, |
| PartBunch_t * | bunch, | ||
| const PartData & | reference, | ||
| bool | backBeam, | ||
| bool | backTrack ) |
Constructor.
Definition at line 79 of file Tracker.cpp.
References AbstractTracker::AbstractTracker(), itsBeamline_m, and itsBunch_m.
|
virtual |
Definition at line 87 of file Tracker.cpp.
|
private |
|
private |
| void Tracker::addToBunch | ( | const OpalParticle & | part | ) |
Add particle to bunch.
Definition at line 94 of file Tracker.cpp.
|
privatevirtualinherited |
Definition at line 146 of file DefaultVisitor.cpp.
Referenced by visitComponent(), visitDrift(), visitMarker(), visitMonitor(), visitMultipole(), visitMultipoleT(), visitMultipoleTCurvedConstRadius(), visitMultipoleTCurvedVarRadius(), visitMultipoleTStraight(), visitOffset(), visitProbe(), visitRFCavity(), visitRing(), visitScalingFFAMagnet(), visitSolenoid(), visitTravelingWave(), and visitVerticalFFAMagnet().
|
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 back_beam, back_track, itsLine, and local_flip.
Referenced by RangeSelector::execute(), Line::replace(), Sequence::replace(), and Select::select().
| const PartBunch_t * Tracker::getBunch | ( | ) | const |
|
inlinevirtual |
|
private |
|
inlinevirtual |
|
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 local_flip.
|
virtual |
Store the bunch.
Apply the algorithm to an arbitrary component.
Reimplemented from DefaultVisitor.
Definition at line 101 of file Tracker.cpp.
References DefaultVisitor::back_beam, DefaultVisitor::back_track, itsBunch_m, AbstractTracker::itsReference, and Component::trackBunch().
|
virtualinherited |
Apply the algorithm to a drift space.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 65 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a FlaggedElmPtr.
Implements BeamlineVisitor.
Reimplemented in Flagger, RangeSelector, and Replacer.
Definition at line 136 of file DefaultVisitor.cpp.
References ElementBase::accept(), ElmPtr::getElement(), FlaggedElmPtr::getReflectionFlag(), and local_flip.
Referenced by RangeSelector::handleBeamline(), RangeSelector::handleElement(), Flagger::visitFlaggedElmPtr(), and Replacer::visitFlaggedElmPtr().
|
virtualinherited |
Apply the algorithm to a marker.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 69 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a beam position monitor.
Implements BeamlineVisitor.
Definition at line 73 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a multipole.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 77 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to to an arbitrary multipole.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 81 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to an arbitrary curved multipole of constant radius.
Implements BeamlineVisitor.
Definition at line 89 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to an arbitrary curved multipole of variable radius.
Implements BeamlineVisitor.
Definition at line 94 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to an arbitrary straight multipole.
Implements BeamlineVisitor.
Definition at line 85 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to an offset (placement).
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 98 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a Probe.
Implements BeamlineVisitor.
Definition at line 126 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a RF cavity.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 106 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a Ring.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 102 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a scaling FFA magnet.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 118 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a Solenoid.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 110 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a traveling wave.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 114 of file DefaultVisitor.cpp.
References applyDefault().
|
virtualinherited |
Apply the algorithm to a vertical FFA magnet.
Implements BeamlineVisitor.
Reimplemented in ParallelTracker.
Definition at line 122 of file DefaultVisitor.cpp.
References applyDefault().
|
protectedinherited |
Definition at line 107 of file DefaultVisitor.h.
Referenced by DefaultVisitor(), execute(), and Tracker::visitComponent().
|
protectedinherited |
Definition at line 109 of file DefaultVisitor.h.
Referenced by DefaultVisitor().
|
protectedinherited |
Definition at line 108 of file DefaultVisitor.h.
Referenced by DefaultVisitor(), execute(), ParallelTracker::execute(), ParallelTracker::findStartPosition(), ParallelTracker::updateReferenceParticle(), and Tracker::visitComponent().
|
protectedinherited |
Definition at line 112 of file DefaultVisitor.h.
Referenced by DefaultVisitor().
|
protectedinherited |
Definition at line 113 of file DefaultVisitor.h.
Referenced by DefaultVisitor().
| const Beamline& Tracker::itsBeamline_m |
Definition at line 119 of file Tracker.h.
Referenced by ParallelTracker::prepareSections(), and Tracker().
|
protected |
The bunch of particles to be tracked.
Definition at line 123 of file Tracker.h.
Referenced by ParallelTracker::applyFractionalStep(), ParallelTracker::applyPluginElements(), ParallelTracker::autophaseCavities(), ParallelTracker::changeDT(), ParallelTracker::computeExternalFields(), ParallelTracker::computeSpaceChargeFields(), ParallelTracker::doBinaryRepartition(), ParallelTracker::dumpStats(), ParallelTracker::execute(), ParallelTracker::findStartPosition(), getBunch(), ParallelTracker::hasEndOfLineReached(), ParallelTracker::kickParticles(), ParallelTracker::pushParticles(), ParallelTracker::selectDT(), ParallelTracker::setTime(), ParallelTracker::timeIntegration2(), Tracker(), ParallelTracker::transformBunch(), ParallelTracker::updateReferenceParticle(), ParallelTracker::updateRefToLabCSTrafo(), visitComponent(), ParallelTracker::visitDrift(), ParallelTracker::visitMarker(), ParallelTracker::visitMultipole(), ParallelTracker::visitMultipoleT(), ParallelTracker::visitRFCavity(), ParallelTracker::visitRing(), ParallelTracker::visitSolenoid(), ParallelTracker::visitTravelingWave(), and ParallelTracker::writePhaseSpace().
|
protectedinherited |
Definition at line 104 of file DefaultVisitor.h.
Referenced by DefaultVisitor(), and execute().
|
protectedinherited |
The reference information.
Definition at line 54 of file AbstractTracker.h.
Referenced by AbstractTracker(), ParallelTracker::autophaseCavities(), ParallelTracker::execute(), ParallelTracker::kickParticles(), Tracker::visitComponent(), and ParallelTracker::visitRing().
|
privateinherited |
Definition at line 127 of file DefaultVisitor.h.
Referenced by DefaultVisitor(), execute(), visitBeamline(), and visitFlaggedElmPtr().