OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
Set selection flags for a given range in a beam line. More...
#include <Selector.h>
Public Member Functions | |
Selector (const Beamline &, const RangeRep &range, const std::string &cName, const std::string &tName, const std::string &pString) | |
Constructor. More... | |
virtual | ~Selector () |
virtual void | execute () |
Execute the selection. More... | |
int | getCount () const |
Return the count of selected elements. More... | |
![]() | |
RangeSelector (const Beamline &, const RangeRep &range) | |
Constructor. More... | |
virtual | ~RangeSelector () |
virtual void | visitFlaggedElmPtr (const FlaggedElmPtr &) |
Apply the visitor to an FlaggedElmPtr. More... | |
![]() | |
DefaultVisitor (const Beamline &beamline, bool backBeam, bool backTrack) | |
Constructor. More... | |
virtual | ~DefaultVisitor ()=0 |
virtual void | visitBeamBeam (const BeamBeam &) |
Apply the algorithm to a beam-beam. More... | |
virtual void | visitBeamStripping (const BeamStripping &) |
Apply the algorithm to a beam stripping. 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 | visitCyclotron (const Cyclotron &) |
Apply the algorithm to an cyclotron. More... | |
virtual void | visitRing (const Ring &) |
Apply the algorithm to an opal ring.. More... | |
virtual void | visitCorrector (const Corrector &) |
Apply the algorithm to a corrector. More... | |
virtual void | visitDegrader (const Degrader &) |
Apply the algorithm to a drift. More... | |
virtual void | visitDiagnostic (const Diagnostic &) |
Apply the algorithm to a diagnostic. More... | |
virtual void | visitDrift (const Drift &) |
Apply the algorithm to a drift. More... | |
virtual void | visitFlexibleCollimator (const FlexibleCollimator &) |
Apply the algorithm to a flexible collimator. More... | |
virtual void | visitLambertson (const Lambertson &) |
Apply the algorithm to a Lambertson. More... | |
virtual void | visitMarker (const Marker &) |
Apply the algorithm to a marker. More... | |
virtual void | visitMonitor (const Monitor &) |
Apply the algorithm to a monitor. More... | |
virtual void | visitMultipole (const Multipole &) |
Apply the algorithm to a multipole. More... | |
virtual void | visitMultipoleT (const MultipoleT &) |
Apply the algorithm to a multipoleT. More... | |
virtual void | visitMultipoleTStraight (const MultipoleTStraight &) |
Apply the algorithm to a multipoleTStraight. More... | |
virtual void | visitMultipoleTCurvedConstRadius (const MultipoleTCurvedConstRadius &) |
Apply the algorithm to a multipoleTCurvedConstRadius. More... | |
virtual void | visitMultipoleTCurvedVarRadius (const MultipoleTCurvedVarRadius &) |
Apply the algorithm to a multipoleTCurvedVarRadius. More... | |
virtual void | visitOffset (const Offset &) |
Apply the algorithm to an Offset. More... | |
virtual void | visitPatch (const Patch &pat) |
Apply the algorithm to a patch. 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 | visitVariableRFCavity (const VariableRFCavity &vcav) |
Apply the algorithm to a RF cavity. More... | |
virtual void | visitVariableRFCavityFringeField (const VariableRFCavityFringeField &vcav) |
Apply the algorithm to a RF cavity. More... | |
virtual void | visitRFCavity (const RFCavity &) |
Apply the algorithm to a RF cavity. More... | |
virtual void | visitTravelingWave (const TravelingWave &) |
Apply the algorithm to a RF cavity. More... | |
virtual void | visitRFQuadrupole (const RFQuadrupole &) |
Apply the algorithm to a RF quadrupole. 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. More... | |
virtual void | visitScalingFFAMagnet (const ScalingFFAMagnet &) |
Apply the algorithm to a scaling FFA magnet. More... | |
virtual void | visitVerticalFFAMagnet (const VerticalFFAMagnet &) |
Apply the algorithm to a RF cavity. More... | |
virtual void | visitSeparator (const Separator &) |
Apply the algorithm to a separator. 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 | visitParallelPlate (const ParallelPlate &) |
Apply the algorithm to a ParallelPlate. More... | |
virtual void | visitCyclotronValley (const CyclotronValley &) |
Apply the algorithm to a CyclotronValley. More... | |
virtual void | visitStripper (const Stripper &) |
Apply the algorithm to a charge stripper. More... | |
virtual void | visitBeamline (const Beamline &) |
Apply the algorithm to a beam line. More... | |
virtual void | visitAlignWrapper (const AlignWrapper &) |
Apply the algorithm to an align wrapper.. More... | |
virtual void | visitCorrectorWrapper (const CorrectorWrapper &) |
Apply the algorithm to an corrector wrapper.. More... | |
virtual void | visitCyclotronWrapper (const CyclotronWrapper &) |
Apply the algorithm to an cyclotron wrapper.. More... | |
virtual void | visitMultipoleWrapper (const MultipoleWrapper &) |
Apply the algorithm to an multipole wrapper.. More... | |
virtual void | visitRBendWrapper (const RBendWrapper &) |
Apply the algorithm to an RBend wrapper.. More... | |
virtual void | visitSBendWrapper (const SBendWrapper &) |
Apply the algorithm to an SBend wrapper.. More... | |
virtual void | visitIntegrator (const Integrator &) |
Apply the algorithm to a generic integrator. More... | |
virtual void | visitMapIntegrator (const MapIntegrator &) |
Apply the algorithm to an integrator capable of mapping. More... | |
virtual void | visitTrackIntegrator (const TrackIntegrator &) |
Apply the algorithm to an integrator capable of tracking. More... | |
![]() | |
BeamlineVisitor () | |
virtual | ~BeamlineVisitor () |
Protected Member Functions | |
virtual void | handleElement (const FlaggedElmPtr &) |
The operation to be done for elements. More... | |
![]() | |
virtual void | handleBeamline (const FlaggedElmPtr &) |
The operation to be done for beamlines. More... | |
Private Member Functions | |
Selector () | |
Selector (const Selector &) | |
void | operator= (const Selector &) |
Private Attributes | |
const Element * | itsClass |
const std::string | itsType |
const RegularExpression * | itsPattern |
int | itsCount |
Additional Inherited Members | |
![]() | |
RangeRep | itsRange |
Working data for range. More... | |
![]() | |
const Beamline & | itsLine |
bool | back_beam |
bool | back_track |
bool | back_path |
double | flip_B |
double | flip_s |
Set selection flags for a given range in a beam line.
Definition at line 33 of file Selector.h.
Selector::Selector | ( | const Beamline & | bl, |
const RangeRep & | range, | ||
const std::string & | cName, | ||
const std::string & | tName, | ||
const std::string & | pString | ||
) |
Constructor.
Definition at line 35 of file Selector.cpp.
References endl(), Element::find(), itsClass, itsPattern, and Options::warn.
|
virtual |
Definition at line 53 of file Selector.cpp.
References itsPattern.
|
private |
|
private |
|
virtual |
Execute the selection.
Reimplemented from RangeSelector.
Definition at line 58 of file Selector.cpp.
References RangeSelector::execute(), and itsCount.
Referenced by Select::select(), and Edit::select().
int Selector::getCount | ( | ) | const |
Return the count of selected elements.
Definition at line 91 of file Selector.cpp.
References itsCount.
Referenced by Select::select(), and Edit::select().
|
protectedvirtual |
The operation to be done for elements.
Reimplemented from RangeSelector.
Definition at line 64 of file Selector.cpp.
References Element::find(), ElmPtr::getElement(), ElementBase::getName(), OpalElement::getTypeName(), RangeRep::isActive(), Object::isTreeMember(), itsClass, itsCount, itsPattern, RangeSelector::itsRange, itsType, RegularExpression::match(), name, and FlaggedElmPtr::setSelectionFlag().
|
private |
|
private |
Definition at line 65 of file Selector.h.
Referenced by handleElement(), and Selector().
|
private |
Definition at line 74 of file Selector.h.
Referenced by execute(), getCount(), and handleElement().
|
private |
Definition at line 71 of file Selector.h.
Referenced by handleElement(), Selector(), and ~Selector().
|
private |
Definition at line 68 of file Selector.h.
Referenced by handleElement().