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

#include <Tracker.h>

Inheritance diagram for Tracker:
Inheritance graph
Collaboration diagram for Tracker:
Collaboration graph

Public Types

enum  {
  X , PX , Y , PY ,
  T , PT
}
 

Public Member Functions

 Tracker (const Beamline &, const PartData &, bool backBeam, bool backTrack)
 Constructor. More...
 
 Tracker (const Beamline &, PartBunch_t *bunch, const PartData &, bool backBeam, bool backTrack)
 Constructor. More...
 
virtual ~Tracker ()
 
const PartBunch_tgetBunch () const
 Return the current bunch. More...
 
void addToBunch (const OpalParticle &)
 Add particle to bunch. More...
 
virtual void visitComponent (const Component &)
 Store the bunch. More...
 
virtual void setNumBunch (short)
 set total number of tracked bunches More...
 
virtual short getNumBunch ()
 get total number of tracked bunches More...
 
virtual void execute ()
 Apply the algorithm to the top-level beamline. 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 visitFlaggedElmPtr (const FlaggedElmPtr &)
 Apply the algorithm to a FlaggedElmPtr. 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...
 

Public Attributes

FieldList cavities_m
 
const BeamlineitsBeamline_m
 

Protected Attributes

PartBunch_titsBunch_m
 The bunch of particles to be tracked. More...
 
const PartData itsReference
 The reference information. More...
 
const BeamlineitsLine
 
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
 

Detailed Description

Definition at line 75 of file Tracker.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited
Enumerator
PX 
PY 
PT 

Definition at line 39 of file AbstractTracker.h.

Constructor & Destructor Documentation

◆ Tracker() [1/4]

Tracker::Tracker ( const Beamline beamline,
const PartData reference,
bool  backBeam,
bool  backTrack 
)

Constructor.

Definition at line 75 of file Tracker.cpp.

◆ Tracker() [2/4]

Tracker::Tracker ( const Beamline beamline,
PartBunch_t bunch,
const PartData reference,
bool  backBeam,
bool  backTrack 
)

Constructor.

Definition at line 79 of file Tracker.cpp.

◆ ~Tracker()

Tracker::~Tracker ( )
virtual

Definition at line 87 of file Tracker.cpp.

◆ Tracker() [3/4]

Tracker::Tracker ( )
private

◆ Tracker() [4/4]

Tracker::Tracker ( const Tracker )
private

Member Function Documentation

◆ addToBunch()

void Tracker::addToBunch ( const OpalParticle part)

Add particle to bunch.

Definition at line 94 of file Tracker.cpp.

◆ 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:

◆ getBunch()

const PartBunch_t * Tracker::getBunch ( ) const

Return the current bunch.

Definition at line 90 of file Tracker.cpp.

References itsBunch_m.

◆ getNumBunch()

virtual short Tracker::getNumBunch ( )
inlinevirtual

get total number of tracked bunches

Definition at line 112 of file Tracker.h.

◆ operator=()

void Tracker::operator= ( const Tracker )
private

◆ setNumBunch()

virtual void Tracker::setNumBunch ( short  )
inlinevirtual

set total number of tracked bunches

Definition at line 109 of file Tracker.h.

◆ 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 Tracker::visitComponent ( const Component comp)
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().

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 DefaultVisitor::visitFlaggedElmPtr ( const FlaggedElmPtr fep)
virtualinherited

◆ 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

◆ cavities_m

FieldList Tracker::cavities_m

Definition at line 117 of file Tracker.h.

◆ 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().

◆ itsBeamline_m

const Beamline& Tracker::itsBeamline_m

Definition at line 119 of file Tracker.h.

Referenced by ParallelTracker::prepareSections().

◆ itsBunch_m

◆ itsLine

const Beamline& DefaultVisitor::itsLine
protectedinherited

Definition at line 104 of file DefaultVisitor.h.

Referenced by DefaultVisitor::execute().

◆ itsReference

const PartData AbstractTracker::itsReference
protectedinherited

The reference information.

Definition at line 54 of file AbstractTracker.h.

Referenced by ParallelTracker::autophaseCavities(), ParallelTracker::execute(), visitComponent(), and ParallelTracker::visitRing().

◆ local_flip

bool DefaultVisitor::local_flip
privateinherited

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