|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <SBend3D.h>
Public Member Functions | |
| SBend3D (const std::string &name) | |
| SBend3D (const SBend3D &right) | |
| ~SBend3D () | |
| ElementBase * | clone () const override |
| bool | apply (const size_t &i, const double &t, Vector_t &E, Vector_t &B) override |
| bool | apply (const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override |
| void | initialise (PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override |
| void | finalise () override |
| bool | bends () const override |
| void | getDimensions (double &, double &) const override |
| BGeometryBase & | getGeometry () override |
| const BGeometryBase & | getGeometry () const override |
| EMField & | getField () override |
| const EMField & | getField () const override |
| void | accept (BeamlineVisitor &visitor) const override |
| void | setFieldMapFileName (const std::string &name) |
| std::string | getFieldMapFileName () const |
| double | getLengthUnits () const |
| void | setLengthUnits (double lengthUnits) |
| double | getFieldUnits () const |
| void | setFieldUnits (double fieldUnits) |
| int | getPolynomialOrder () const |
| void | setPolynomialOrder (int polyOrder) |
| int | getSmoothingOrder () const |
| void | setSmoothingOrder (int polyOrder) |
| SectorMagneticFieldMap * | getSectorMagneticFieldMap () const |
| EVector | Efield (const Point3D &P) const |
| Return the field in a point. | |
| EVector | Efield (const Point3D &P, double t) const |
| Return the field in a point. | |
| BVector | Bfield (const Point3D &P) const |
| Return the field in a point. | |
| BVector | Bfield (const Point3D &P, double t) const |
| Return the field in a point. | |
| EBVectors | EBfield (const Point3D &P) const |
| Return the field in a point. | |
| EBVectors | EBfield (const Point3D &P, double t) const |
| Return the field in a point. | |
| virtual bool | applyToReferenceParticle (const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) |
| virtual bool | getPotential (const Vector_t &, const double &, Vector_t &, double &) |
| virtual double | getDesignEnergy () const |
| virtual void | setDesignEnergy (const double &energy, bool changeable=true) |
| virtual void | goOnline (const double &kineticEnergy) |
| virtual void | goOffline () |
| virtual bool | Online () |
| virtual ElementType | getType () const override |
| Get element type std::string. | |
| virtual const ElementBase & | getDesign () const |
| Return design element. | |
| virtual void | trackBunch (PartBunchBase< double, 3 > *bunch, const PartData &, bool revBeam, bool revTrack) const |
| Track particle bunch. | |
| virtual void | trackMap (FVps< double, 6 > &map, const PartData &, bool revBeam, bool revTrack) const |
| Track a map. | |
| void | setExitFaceSlope (const double &) |
| virtual const std::string & | getName () const |
| Get element name. | |
| virtual void | setName (const std::string &name) |
| Set element name. | |
| std::string | getTypeString () const |
| virtual double | getArcLength () const |
| Get arc length. | |
| virtual double | getElementLength () const |
| Get design length. | |
| virtual void | setElementLength (double length) |
| Set design length. | |
| virtual void | getElementDimensions (double &begin, double &end) const |
| virtual double | getOrigin () const |
| Get origin position. | |
| virtual double | getEntrance () const |
| Get entrance position. | |
| virtual double | getExit () const |
| Get exit position. | |
| virtual Euclid3D | getTransform (double fromS, double toS) const |
| Get transform. | |
| virtual Euclid3D | getTransform (double s) const |
| Get transform. | |
| virtual Euclid3D | getTotalTransform () const |
| Get transform. | |
| virtual Euclid3D | getEntranceFrame () const |
| Get transform. | |
| virtual Euclid3D | getExitFrame () const |
| Get transform. | |
| virtual Euclid3D | getEntrancePatch () const |
| Get patch. | |
| virtual Euclid3D | getExitPatch () const |
| Get patch. | |
| virtual double | getAttribute (const std::string &aKey) const |
| Get attribute value. | |
| virtual bool | hasAttribute (const std::string &aKey) const |
| Test for existence of an attribute. | |
| virtual void | removeAttribute (const std::string &aKey) |
| Remove an existing attribute. | |
| virtual void | setAttribute (const std::string &aKey, double val) |
| Set value of an attribute. | |
| virtual Channel * | getChannel (const std::string &aKey, bool create=false) |
| Construct a read/write channel. | |
| virtual const ConstChannel * | getConstChannel (const std::string &aKey) const |
| Construct a read-only channel. | |
| virtual ElementBase * | copyStructure () |
| Make a structural copy. | |
| bool | isSharable () const |
| Test if the element can be shared. | |
| virtual void | makeSharable () |
| Set sharable flag. | |
| bool | update (const AttributeSet &) |
| Update element. | |
| virtual void | setBoundaryGeometry (BoundaryGeometry *geo) |
| virtual BoundaryGeometry * | getBoundaryGeometry () const |
| return the attached boundary geometrt object if there is any | |
| virtual bool | hasBoundaryGeometry () const |
| virtual void | setWake (WakeFunction *wf) |
| attach a wake field to the element | |
| virtual WakeFunction * | getWake () const |
| return the attached wake object if there is any | |
| virtual bool | hasWake () const |
| virtual void | setParticleMatterInteraction (ParticleMatterInteractionHandler *spys) |
| virtual ParticleMatterInteractionHandler * | getParticleMatterInteraction () const |
| virtual bool | hasParticleMatterInteraction () const |
| void | setCSTrafoGlobal2Local (const CoordinateSystemTrafo &ori) |
| CoordinateSystemTrafo | getCSTrafoGlobal2Local () const |
| void | releasePosition () |
| void | fixPosition () |
| bool | isPositioned () const |
| virtual CoordinateSystemTrafo | getEdgeToBegin () const |
| virtual CoordinateSystemTrafo | getEdgeToEnd () const |
| void | setAperture (const ApertureType &type, const std::vector< double > &args) |
| std::pair< ApertureType, std::vector< double > > | getAperture () const |
| virtual bool | isInside (const Vector_t &r) const |
| void | setMisalignment (const CoordinateSystemTrafo &cst) |
| void | getMisalignment (double &x, double &y, double &s) const |
| CoordinateSystemTrafo | getMisalignment () const |
| void | setActionRange (const std::queue< std::pair< double, double > > &range) |
| void | setCurrentSCoordinate (double s) |
| void | setRotationAboutZ (double rotation) |
| Set rotation about z axis in bend frame. | |
| double | getRotationAboutZ () const |
| virtual BoundingBox | getBoundingBoxInLabCoords () const |
| virtual int | getRequiredNumberOfTimeSteps () const |
| void | setOutputFN (std::string fn) |
| Set output filename. | |
| std::string | getOutputFN () const |
| Get output filename. | |
| void | setFlagDeleteOnTransverseExit (bool=true) |
| bool | getFlagDeleteOnTransverseExit () const |
| int | addReference () const |
| Increment reference count. | |
| int | removeReference () const |
| Decrement the reference count. | |
| bool | isShared () const |
| Test for sharing. | |
| void | setElementPosition (double elemedge) |
| Access to ELEMEDGE attribute. | |
| double | getElementPosition () const |
| bool | isElementPositionSet () const |
Static Public Member Functions | |
| static std::string | getTypeString (ElementType type) |
Protected Member Functions | |
| bool | isInsideTransverse (const Vector_t &r) const |
Protected Attributes | |
| double | exit_face_slope_m |
| PartBunchBase< double, 3 > * | RefPartBunch_m |
| bool | online_m |
| bool | shareFlag |
| CoordinateSystemTrafo | csTrafoGlobal2Local_m |
| CoordinateSystemTrafo | misalignment_m |
| std::pair< ApertureType, std::vector< double > > | aperture_m |
| double | elementEdge_m |
| double | rotationZAxis_m |
Static Protected Attributes | |
| static const std::vector< double > | defaultAperture_m |
Private Attributes | |
| SectorMagneticFieldMap * | map_m |
| PlanarArcGeometry | planarArcGeometry_m |
| double | fieldUnits_m |
| double | lengthUnits_m |
| int | polyOrder_m |
| double | smoothOrder_m |
| BMultipoleField | dummy |
| std::string | elementID |
| AttributeSet | userAttribs |
| WakeFunction * | wake_m |
| BoundaryGeometry * | bgeometry_m |
| ParticleMatterInteractionHandler * | parmatint_m |
| bool | positionIsFixed |
| std::queue< std::pair< double, double > > | actionRange_m |
| std::string | outputfn_m |
| bool | deleteOnTransverseExit_m = true |
| int | refCount |
| double | elementPosition_m |
| ELEMEDGE attribute. | |
| bool | elemedgeSet_m |
Static Private Attributes | |
| static const std::map< ElementType, std::string > | elementTypeToString_s |
Sector bending magnet from a 3D field map
SBend3D provides interface between Component type and routines for linear interpolation from a 3D field map in a sector geometry.
| planarArcGeometry_m | Cell geometry is a PlanarArcGeometry with radius of curvature equal to the radius at the middle of the field map and angle given by the field map opening angle. |
| map_m | the actual field map class (with associated interpolation and IO routines). |
| field_m | a dummy field - never used, only put in to obey inheritance requirements |
|
explicit |
Construct a new SBend3D
| name | User-defined name of the SBend3D |
Definition at line 32 of file SBend3D.cpp.
References Component::Component(), dummy, fieldUnits_m, lengthUnits_m, map_m, name, planarArcGeometry_m, polyOrder_m, and smoothOrder_m.
Referenced by clone(), and SBend3D().
| SBend3D::SBend3D | ( | const SBend3D & | right | ) |
Copy constructor
Definition at line 38 of file SBend3D.cpp.
References Component::Component(), dummy, fieldUnits_m, lengthUnits_m, map_m, planarArcGeometry_m, polyOrder_m, Component::RefPartBunch_m, SBend3D(), and smoothOrder_m.
| SBend3D::~SBend3D | ( | ) |
|
overridevirtual |
Accept a beamline visitor
Implements ElementBase.
Definition at line 117 of file SBend3D.cpp.
References BeamlineVisitor::visitSBend3D().
|
inlineinherited |
Increment reference count.
Definition at line 83 of file RCObject.h.
References refCount.
Referenced by Pointer< Object >::operator=(), Pointer< Object >::operator=(), and Pointer< Object >::unique().
|
overridevirtual |
Calculate the field at the position of the ith particle
| i | index of the particle event; field is calculated at this position |
| t | time at which the field is to be calculated |
| E | calculated electric field - always 0 (no E-field) |
| B | calculated magnetic field |
Reimplemented from Component.
Definition at line 66 of file SBend3D.cpp.
References apply(), and Component::RefPartBunch_m.
Referenced by apply().
|
overridevirtual |
Calculate the field at some arbitrary position
| R | position in the local coordinate system of the bend |
| t | time at which the field is to be calculated |
| E | calculated electric field - always 0 (no E-field) |
| B | calculated magnetic field |
Reimplemented from Component.
Definition at line 71 of file SBend3D.cpp.
References map_m.
|
virtualinherited |
Reimplemented in Bend2D, Degrader, FlexibleCollimator, Monitor, Multipole, PluginElement, RBend3D, RFCavity, Solenoid, TravelingWave, Vacuum, VariableRFCavity, and VariableRFCavityFringeField.
Definition at line 121 of file Component.cpp.
References ElementBase::getElementLength(), and ElementBase::isInsideTransverse().
|
inlineoverridevirtual |
Return true - SBend3D always bends the reference particle
Implements Component.
Definition at line 85 of file SBend3D.cpp.
Return the field in a point.
Definition at line 202 of file Component.h.
References EMField::Bfield(), and getField().
Referenced by OutputPlane::getFieldsAtPoint().
Return the field in a point.
Definition at line 208 of file Component.h.
References EMField::Bfield(), and getField().
|
overridevirtual |
Inheritable copy constructor
Implements ElementBase.
Definition at line 53 of file SBend3D.cpp.
References ElementBase::ElementBase(), and SBend3D().
|
virtualinherited |
Make a structural copy.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 244 of file ElementBase.cpp.
References ElementBase(), and isSharable().
Referenced by Sequence::copy(), Line::parse(), and SequenceParser::parseMember().
Return the field in a point.
Definition at line 211 of file Component.h.
References EMField::EBfield(), and getField().
Return the field in a point.
Definition at line 214 of file Component.h.
References EMField::EBfield(), and getField().
Return the field in a point.
Definition at line 199 of file Component.h.
References EMField::Efield(), and getField().
Referenced by OutputPlane::getFieldsAtPoint().
Return the field in a point.
Definition at line 205 of file Component.h.
References EMField::Efield(), and getField().
|
overridevirtual |
Finalise the SBend3D - sets bunch to nullptr
Implements Component.
Definition at line 81 of file SBend3D.cpp.
References Component::RefPartBunch_m.
|
inlineinherited |
Definition at line 551 of file ElementBase.h.
References positionIsFixed.
Referenced by OpalElement::update(), OpalRBend3D::update(), OpalRBend::update(), and OpalSBend::update().
|
inlineinherited |
Definition at line 525 of file ElementBase.h.
References aperture_m.
Referenced by MeshGenerator::add(), and Offset::operator=().
|
inlinevirtualinherited |
Get arc length.
Reimplemented in MarkerRep, TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 411 of file ElementBase.h.
References BGeometryBase::getArcLength(), and getGeometry().
Referenced by TBeamline< T >::getTransform().
|
virtualinherited |
Get attribute value.
Definition at line 187 of file ElementBase.cpp.
References getConstChannel().
|
inlinevirtualinherited |
return the attached boundary geometrt object if there is any
Definition at line 475 of file ElementBase.h.
References bgeometry_m.
|
virtualinherited |
Reimplemented in Bend2D.
Definition at line 313 of file ElementBase.cpp.
References csTrafoGlobal2Local_m, and getEdgeToBegin().
|
virtualinherited |
Construct a read/write channel.
Reimplemented in CCollimatorRep, CorrectorRep, CyclotronRep, DegraderRep, DriftRep, FlexibleCollimatorRep, MonitorRep, MultipoleRep, ProbeRep, RBendRep, RFCavityRep, SBendRep, SeptumRep, SingleMultipole< order >, SingleMultipole< -2 >, SingleMultipole< -3 >, SingleMultipole< -4 >, SingleMultipole< 2 >, SingleMultipole< 3 >, SingleMultipole< 4 >, SolenoidRep, SourceRep, StripperRep, TravelingWaveRep, UndulatorRep, VacuumRep, XCorrectorRep, and YCorrectorRep.
Definition at line 228 of file ElementBase.cpp.
References userAttribs.
Referenced by CCollimatorRep::getChannel(), CorrectorRep::getChannel(), CyclotronRep::getChannel(), DegraderRep::getChannel(), DriftRep::getChannel(), FlexibleCollimatorRep::getChannel(), MonitorRep::getChannel(), MultipoleRep::getChannel(), ProbeRep::getChannel(), RBendRep::getChannel(), RFCavityRep::getChannel(), SBendRep::getChannel(), SeptumRep::getChannel(), SingleMultipole< order >::getChannel(), SolenoidRep::getChannel(), SourceRep::getChannel(), StripperRep::getChannel(), TravelingWaveRep::getChannel(), UndulatorRep::getChannel(), VacuumRep::getChannel(), XCorrectorRep::getChannel(), YCorrectorRep::getChannel(), getConstChannel(), and setAttribute().
|
virtualinherited |
Construct a read-only channel.
Definition at line 233 of file ElementBase.cpp.
References ElementBase(), and getChannel().
Referenced by getAttribute(), and hasAttribute().
|
inlineinherited |
Definition at line 498 of file ElementBase.h.
References csTrafoGlobal2Local_m.
Referenced by MeshGenerator::add(), ParallelTTracker::computeParticleMatterInteraction(), Monitor::driftToCorrectPositionAndSave(), OpalRBend3D::update(), OpalRBend::update(), and OpalSBend::update().
|
virtualinherited |
Return design element.
Definition at line 67 of file Component.cpp.
References ElementBase::ElementBase().
|
inlinevirtualinherited |
Reimplemented in BendBase, and RFCavity.
Definition at line 231 of file Component.h.
|
inlineoverridevirtual |
|
inlinevirtualinherited |
Reimplemented in RFCavity, Solenoid, and TravelingWave.
Definition at line 503 of file ElementBase.h.
Referenced by Bend2D::getBoundingBoxInLabCoords(), getBoundingBoxInLabCoords(), and SingleMultipole< 4 >::update().
|
inlinevirtualinherited |
Reimplemented in Bend2D, RFCavity, Solenoid, and TravelingWave.
Definition at line 511 of file ElementBase.h.
References getElementLength().
|
inlinevirtualinherited |
Reimplemented in RFCavity, Solenoid, and TravelingWave.
Definition at line 174 of file ElementBase.h.
References begin(), end(), and getElementLength().
Referenced by MeshGenerator::add().
|
inlinevirtualinherited |
Get design length.
Reimplemented in MarkerRep, RFCavity, TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 415 of file ElementBase.h.
References BGeometryBase::getElementLength(), and getGeometry().
Referenced by Component::apply(), Corrector::apply(), Multipole::apply(), Multipole::apply(), Solenoid::apply(), Undulator::apply(), Component::applyToReferenceParticle(), Multipole::applyToReferenceParticle(), Solenoid::applyToReferenceParticle(), Vacuum::checkPoint(), RBend::findChordLength(), SBend::findChordLength(), CCollimator::getDimensions(), Corrector::getDimensions(), Degrader::getDimensions(), Drift::getDimensions(), FlexibleCollimator::getDimensions(), Multipole::getDimensions(), RBend3D::getDimensions(), Solenoid::getDimensions(), Vacuum::getDimensions(), getEdgeToEnd(), Solenoid::getEdgeToEnd(), getElementDimensions(), Solenoid::getElementDimensions(), RFCavity::getElementLength(), Corrector::initialise(), Degrader::initialise(), Drift::initialise(), FlexibleCollimator::initialise(), Multipole::initialise(), RBend3D::initialise(), Solenoid::initialise(), Source::initialise(), Vacuum::initialise(), Degrader::isInside(), isInside(), Monitor::isInside(), Multipole::isInside(), FlexibleCollimator::isStopped(), Bend2D::setupDefaultFieldMap(), SingleMultipole< 4 >::update(), ParallelCyclotronTracker::visitCorrector(), ParallelCyclotronTracker::visitDrift(), ThickTracker::visitDrift(), ParallelCyclotronTracker::visitMultipole(), ThickTracker::visitMultipole(), ParallelCyclotronTracker::visitRBend(), ParallelCyclotronTracker::visitSBend(), and ThickTracker::visitSBend().
|
inlineinherited |
Definition at line 589 of file ElementBase.h.
References elemedgeSet_m, elementPosition_m, and getName().
|
inlinevirtualinherited |
Get entrance position.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 427 of file ElementBase.h.
References BGeometryBase::getEntrance(), and getGeometry().
|
inlinevirtualinherited |
Get transform.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 447 of file ElementBase.h.
References BGeometryBase::getEntranceFrame(), and getGeometry().
|
inlinevirtualinherited |
Get patch.
Definition at line 455 of file ElementBase.h.
References BGeometryBase::getEntrancePatch(), and getGeometry().
|
inlinevirtualinherited |
Get exit position.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 431 of file ElementBase.h.
References BGeometryBase::getExit(), and getGeometry().
|
inlinevirtualinherited |
Get transform.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 451 of file ElementBase.h.
References BGeometryBase::getExitFrame(), and getGeometry().
|
inlinevirtualinherited |
Get patch.
Definition at line 459 of file ElementBase.h.
References BGeometryBase::getExitPatch(), and getGeometry().
|
overridevirtual |
Return a dummy (0.) field value (what is this for?)
Implements Component.
Definition at line 62 of file SBend3D.cpp.
References dummy.
|
overridevirtual |
Return a dummy (0.) field value (what is this for?)
Implements Component.
Definition at line 58 of file SBend3D.cpp.
References dummy.
|
inline |
|
inline |
|
inlineinherited |
Definition at line 614 of file ElementBase.h.
References deleteOnTransverseExit_m.
Referenced by Bend2D::apply(), Corrector::apply(), Multipole::apply(), Multipole::apply(), MultipoleT::apply(), RFCavity::apply(), Solenoid::apply(), TravelingWave::apply(), and FlexibleCollimator::isStopped().
|
overridevirtual |
Return the cell geometry
Implements ElementBase.
Definition at line 93 of file SBend3D.cpp.
References planarArcGeometry_m.
|
overridevirtual |
Return the cell geometry
Implements ElementBase.
Definition at line 89 of file SBend3D.cpp.
References planarArcGeometry_m.
|
inline |
|
inlineinherited |
Definition at line 541 of file ElementBase.h.
References misalignment_m.
|
inherited |
Referenced by ParallelTTracker::computeParticleMatterInteraction().
|
virtualinherited |
Get element name.
Definition at line 162 of file ElementBase.cpp.
References elementID.
Referenced by Ring::appendElement(), Cyclotron::apply(), Ring::apply(), Bend2D::calculateRefTrajectory(), OutputPlane::checkOne(), Vacuum::checkPressure(), TBeamline< T >::clone(), TBeamline< T >::copyStructure(), Stripper::doCheck(), CCollimator::doFinalise(), Stripper::doFinalise(), OutputPlane::doGoOffline(), Probe::doGoOffline(), PlaceRep::enter(), Cyclotron::finalise(), Degrader::finalise(), FlexibleCollimator::finalise(), Vacuum::finalise(), PyOpal::Field::getElementName(), getElementPosition(), RFCavity::getMomentaKick(), Bend2D::getOutline(), getOutputFN(), CavityAutophaser::getPhaseAtMaxEnergy(), Selector::handleElement(), Bend2D::initialise(), RBend3D::initialise(), RFCavity::initialise(), Ring::initialise(), Solenoid::initialise(), CSRIGFWakeFunction::initialize(), CSRWakeFunction::initialize(), OpalWake::initWakefunction(), PlaceRep::leave(), Offset::Offset(), operator<<(), Offset::operator=(), VariableRFCavity::operator=(), operator==(), Line::parse(), Sequence::print(), Vacuum::print(), Bend2D::readFieldMap(), PyOpal::PyLine_< TBeamline< FlaggedElmPtr > >::registerObject(), Ring::Ring(), ClassicField::SortAsc(), Component::trackBunch(), Component::trackMap(), RBend3D::trackRefParticleThrough(), OpalRBend3D::update(), OpalRBend::update(), OpalSBend::update(), Sequence::updateList(), ParallelTTracker::updateRFElement(), ParallelCyclotronTracker::visitCCollimator(), Replacer::visitFlaggedElmPtr(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitRFCavity(), ParallelCyclotronTracker::visitSeptum(), ParallelCyclotronTracker::visitStripper(), and ParallelTTracker::writePhaseSpace().
|
inlinevirtualinherited |
Get origin position.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 423 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getOrigin().
|
inherited |
Get output filename.
Definition at line 177 of file ElementBase.cpp.
References getName(), and outputfn_m.
Referenced by Probe::doInitialise(), Cyclotron::initialise(), FlexibleCollimator::initialise(), FlexibleCollimator::initialise(), Monitor::initialise(), PluginElement::initialise(), and Source::initialise().
|
inlinevirtualinherited |
Definition at line 483 of file ElementBase.h.
References parmatint_m.
Referenced by Degrader::applyToReferenceParticle(), CCollimator::doInitialise(), FlexibleCollimator::initialise(), FlexibleCollimator::initialise(), and Vacuum::initialise().
|
inline |
|
inlinevirtualinherited |
Calculate the four-potential at some position relative to the component
| R | position in the local coordinate system of the component |
| t | time |
| A | filled with the calculated magnetic vector potential |
| phi | filled with the calculated electric potential Note that any existing values in A and phi may be overwritten by this method. |
Definition at line 130 of file Component.h.
|
inlinevirtualinherited |
|
inlineinherited |
Definition at line 574 of file ElementBase.h.
References rotationZAxis_m.
Referenced by OpalBeamline::compute3DLattice(), and Bend2D::setFieldCalcParam().
|
inline |
|
inline |
|
inlinevirtualinherited |
Get transform.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 439 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getTotalTransform().
|
inlinevirtualinherited |
Get transform.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 435 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getTransform().
Referenced by TBeamline< T >::getTransform().
|
inlinevirtualinherited |
Get transform.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 443 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getTransform().
|
overridevirtualinherited |
Get element type std::string.
Implements ElementBase.
Reimplemented in Bend2D, CCollimator, Corrector, Cyclotron, Degrader, Drift, FlexibleCollimator, Marker, Monitor, Multipole, OutputPlane, Probe, RBend3D, RBend, RFCavity, SBend, Septum, Solenoid, Source, Stripper, TravelingWave, Undulator, and Vacuum.
Definition at line 95 of file Component.cpp.
References ANY.
|
inlineinherited |
Definition at line 579 of file ElementBase.h.
References getType(), and getTypeString().
Referenced by ParallelCyclotronTracker::execute(), getTypeString(), and OpalBeamline::visit().
|
staticinherited |
Definition at line 240 of file ElementBase.cpp.
References elementTypeToString_s.
|
inlinevirtualinherited |
return the attached wake object if there is any
Definition at line 467 of file ElementBase.h.
References wake_m.
|
virtualinherited |
Reimplemented in Degrader, FlexibleCollimator, Monitor, PluginElement, RBend3D, RFCavity, Solenoid, Source, TravelingWave, and Vacuum.
Definition at line 87 of file Component.cpp.
References online_m.
|
virtualinherited |
Reimplemented in Bend2D, CCollimator, Corrector, Degrader, FlexibleCollimator, Monitor, RBend3D, RFCavity, Solenoid, Source, TravelingWave, and Vacuum.
Definition at line 83 of file Component.cpp.
References online_m.
Referenced by PluginElement::initialise().
|
virtualinherited |
Test for existence of an attribute.
Definition at line 200 of file ElementBase.cpp.
References getConstChannel().
Referenced by ParallelCyclotronTracker::visitSolenoid().
|
inlinevirtualinherited |
Definition at line 479 of file ElementBase.h.
References bgeometry_m.
|
inlinevirtualinherited |
Definition at line 487 of file ElementBase.h.
References parmatint_m.
|
inlinevirtualinherited |
Definition at line 471 of file ElementBase.h.
References wake_m.
|
overridevirtual |
Initialise the SBend3D
| bunch | the global bunch object |
| startField | not used |
| endField | not used |
Implements Component.
Definition at line 77 of file SBend3D.cpp.
References Component::RefPartBunch_m.
|
inlineinherited |
Definition at line 598 of file ElementBase.h.
References elemedgeSet_m.
|
inlinevirtualinherited |
Reimplemented in Bend2D, Degrader, Monitor, Multipole, RBend3D, RFCavity, Solenoid, and TravelingWave.
Definition at line 530 of file ElementBase.h.
References getElementLength(), and isInsideTransverse().
|
protectedinherited |
Definition at line 287 of file ElementBase.cpp.
References aperture_m.
Referenced by Component::apply(), Corrector::apply(), Multipole::apply(), Multipole::apply(), Undulator::apply(), Component::applyToReferenceParticle(), Multipole::applyToReferenceParticle(), isInside(), Monitor::isInside(), Multipole::isInside(), RFCavity::isInside(), Solenoid::isInside(), TravelingWave::isInside(), and FlexibleCollimator::isStopped().
|
inlineinherited |
Definition at line 556 of file ElementBase.h.
References positionIsFixed.
Referenced by OpalRBend3D::update(), OpalRBend::update(), and OpalSBend::update().
|
inlineinherited |
Test if the element can be shared.
Definition at line 463 of file ElementBase.h.
References shareFlag.
Referenced by copyStructure(), TBeamline< T >::copyStructure(), and Sequence::updateList().
|
inlineinherited |
|
virtualinherited |
Set sharable flag.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 253 of file ElementBase.cpp.
References shareFlag.
Referenced by OpalMarker::OpalMarker().
|
virtualinherited |
Definition at line 91 of file Component.cpp.
References online_m.
|
inlineinherited |
Definition at line 546 of file ElementBase.h.
References positionIsFixed.
Referenced by OpalRBend3D::update(), OpalRBend::update(), and OpalSBend::update().
|
virtualinherited |
Remove an existing attribute.
Definition at line 212 of file ElementBase.cpp.
References userAttribs.
|
inlineinherited |
|
inlineinherited |
Definition at line 561 of file ElementBase.h.
References actionRange_m, and elementEdge_m.
|
inlineinherited |
Definition at line 519 of file ElementBase.h.
References aperture_m.
Referenced by Component::Component(), Offset::operator=(), OpalElement::update(), OpalRBend3D::update(), OpalRBend::update(), OpalSBend::update(), and OpalSlit::update().
|
virtualinherited |
Set value of an attribute.
Definition at line 217 of file ElementBase.cpp.
References getChannel(), and Channel::isSettable().
Referenced by TBeamline< FlaggedElmPtr >::getChannel(), and OpalElement::updateUnknown().
|
virtualinherited |
attach a boundary geometry field to the element
Definition at line 270 of file ElementBase.cpp.
References bgeometry_m.
Referenced by OpalCavity::update(), OpalCyclotron::update(), and OpalDrift::update().
|
inlineinherited |
Definition at line 491 of file ElementBase.h.
References csTrafoGlobal2Local_m, and positionIsFixed.
Referenced by OpalElement::update(), OpalRBend3D::update(), OpalRBend::update(), and OpalSBend::update().
|
inherited |
Definition at line 278 of file ElementBase.cpp.
|
inlinevirtualinherited |
Reimplemented in BendBase, Corrector, and RFCavity.
Definition at line 228 of file Component.h.
|
inlinevirtualinherited |
Set design length.
Reimplemented in MultipoleT.
Definition at line 419 of file ElementBase.h.
References getGeometry(), and BGeometryBase::setElementLength().
Referenced by Bend2D::initialise(), RBend3D::initialise(), RFCavity::initialise(), Solenoid::initialise(), TravelingWave::initialise(), MultipoleT::setElementLength(), SequenceMember::setLength(), OpalCavity::update(), OpalCCollimator::update(), OpalDrift::update(), OpalECollimator::update(), OpalFlexibleCollimator::update(), OpalHKicker::update(), OpalKicker::update(), OpalMonitor::update(), OpalMultipole::update(), OpalOctupole::update(), OpalPepperPot::update(), OpalProbe::update(), OpalQuadrupole::update(), OpalRBend3D::update(), OpalRCollimator::update(), OpalSeptum::update(), OpalSextupole::update(), OpalSlit::update(), OpalSolenoid::update(), OpalSource::update(), OpalStripper::update(), OpalTravelingWave::update(), OpalUndulator::update(), OpalVacuum::update(), and OpalVKicker::update().
|
inlineinherited |
Access to ELEMEDGE attribute.
Definition at line 583 of file ElementBase.h.
References elemedgeSet_m, and elementPosition_m.
Referenced by OpalElement::update().
|
inlineinherited |
Definition at line 225 of file Component.h.
References exit_face_slope_m.
| void SBend3D::setFieldMapFileName | ( | const std::string & | name | ) |
Set the field map file
| name | the file name of the field map |
This generates a new field map object with the given name. If name.empty() then sets the field map to nullptr.
Definition at line 97 of file SBend3D.cpp.
References fieldUnits_m, lengthUnits_m, map_m, name, planarArcGeometry_m, polyOrder_m, and smoothOrder_m.
Referenced by OpalSBend3D::update().
|
inline |
Set the scale factor
Definition at line 143 of file SBend3D.h.
References fieldUnits_m.
Referenced by OpalSBend3D::update().
|
inlineinherited |
Definition at line 608 of file ElementBase.h.
References deleteOnTransverseExit_m.
Referenced by OpalElement::update().
|
inline |
Set the scale factor
Definition at line 137 of file SBend3D.h.
References lengthUnits_m.
Referenced by OpalSBend3D::update().
|
inlineinherited |
Definition at line 536 of file ElementBase.h.
References misalignment_m.
Referenced by OpalElement::update().
|
virtualinherited |
Set element name.
Definition at line 167 of file ElementBase.cpp.
References elementID, and name.
Referenced by Sequence::insertDrifts(), Offset::operator=(), and VariableRFCavity::operator=().
|
inherited |
Set output filename.
Definition at line 172 of file ElementBase.cpp.
References outputfn_m.
Referenced by OpalCCollimator::update(), OpalCyclotron::update(), OpalECollimator::update(), OpalFlexibleCollimator::update(), OpalMonitor::update(), OpalOutputPlane::update(), OpalPepperPot::update(), OpalProbe::update(), OpalRCollimator::update(), OpalSeptum::update(), OpalSlit::update(), OpalSource::update(), and OpalStripper::update().
|
virtualinherited |
Definition at line 274 of file ElementBase.cpp.
References parmatint_m.
Referenced by OpalCCollimator::update(), OpalDrift::update(), OpalECollimator::update(), OpalFlexibleCollimator::update(), OpalPepperPot::update(), OpalQuadrupole::update(), OpalRBend3D::update(), OpalRBend::update(), OpalRCollimator::update(), OpalSBend::update(), OpalSlit::update(), and OpalVacuum::update().
|
inline |
|
inlineinherited |
Set rotation about z axis in bend frame.
Definition at line 569 of file ElementBase.h.
References rotationZAxis_m.
Referenced by OpalElement::update().
|
inline |
|
virtualinherited |
attach a wake field to the element
Definition at line 266 of file ElementBase.cpp.
References wake_m.
Referenced by OpalCavity::update(), OpalDrift::update(), OpalProbe::update(), OpalRBend3D::update(), OpalRBend::update(), OpalSBend::update(), OpalSeptum::update(), and OpalTravelingWave::update().
|
virtualinherited |
Track particle bunch.
Definition at line 71 of file Component.cpp.
References ElementBase::getName().
Referenced by Tracker::visitComponent().
|
virtualinherited |
Track a map.
Definition at line 77 of file Component.cpp.
References ElementBase::getName().
|
inherited |
Update element.
Definition at line 258 of file ElementBase.cpp.
Referenced by Monitor::driftToCorrectPositionAndSave().
|
privateinherited |
Definition at line 399 of file ElementBase.h.
Referenced by setActionRange().
|
protectedinherited |
Definition at line 369 of file ElementBase.h.
Referenced by ElementBase(), getAperture(), Bend2D::getOutline(), Bend2D::getSurfaceMesh(), Bend2D::inMagnetCentralRegion(), Bend2D::inMagnetEntranceRegion(), Bend2D::inMagnetExitRegion(), isInsideTransverse(), setAperture(), Bend2D::setFieldCalcParam(), Bend2D::setupBendGeometry(), and Bend2D::setupFringeWidths().
|
privateinherited |
Definition at line 390 of file ElementBase.h.
Referenced by ElementBase(), getBoundaryGeometry(), hasBoundaryGeometry(), and setBoundaryGeometry().
|
protectedinherited |
Definition at line 366 of file ElementBase.h.
Referenced by Monitor::applyToReferenceParticle(), ElementBase(), Bend2D::getBoundingBoxInLabCoords(), getBoundingBoxInLabCoords(), getCSTrafoGlobal2Local(), and setCSTrafoGlobal2Local().
|
staticprotectedinherited |
Definition at line 187 of file Component.h.
Referenced by Component().
|
privateinherited |
Definition at line 403 of file ElementBase.h.
Referenced by ElementBase(), getFlagDeleteOnTransverseExit(), and setFlagDeleteOnTransverseExit().
|
private |
Definition at line 171 of file SBend3D.h.
Referenced by getField(), getField(), SBend3D(), and SBend3D().
|
privateinherited |
Definition at line 397 of file ElementBase.h.
Referenced by ElementBase(), getElementPosition(), isElementPositionSet(), and setElementPosition().
|
protectedinherited |
Definition at line 371 of file ElementBase.h.
Referenced by ElementBase(), Bend2D::getEffectiveCenter(), Bend2D::initialise(), Bend2D::print(), setActionRange(), and Bend2D::setupBendGeometry().
|
privateinherited |
Definition at line 381 of file ElementBase.h.
Referenced by ElementBase(), getName(), and setName().
|
privateinherited |
ELEMEDGE attribute.
Definition at line 396 of file ElementBase.h.
Referenced by ElementBase(), getElementPosition(), and setElementPosition().
|
staticprivateinherited |
Definition at line 71 of file ElementBase.h.
Referenced by getTypeString().
|
protectedinherited |
Definition at line 189 of file Component.h.
Referenced by Component(), Component(), and setExitFaceSlope().
|
private |
Definition at line 165 of file SBend3D.h.
Referenced by getFieldUnits(), SBend3D(), SBend3D(), setFieldMapFileName(), and setFieldUnits().
|
private |
Definition at line 166 of file SBend3D.h.
Referenced by getLengthUnits(), SBend3D(), SBend3D(), setFieldMapFileName(), and setLengthUnits().
|
private |
Definition at line 161 of file SBend3D.h.
Referenced by apply(), getFieldMapFileName(), getSectorMagneticFieldMap(), SBend3D(), SBend3D(), setFieldMapFileName(), and ~SBend3D().
|
protectedinherited |
Definition at line 367 of file ElementBase.h.
Referenced by ElementBase(), getMisalignment(), and setMisalignment().
|
protectedinherited |
Definition at line 192 of file Component.h.
Referenced by Monitor::apply(), Source::apply(), Component(), Component(), Probe::doGoOffline(), Bend2D::finalise(), Cyclotron::finalise(), FlexibleCollimator::finalise(), Multipole::finalise(), PluginElement::finalise(), Ring::finalise(), Vacuum::finalise(), goOffline(), Degrader::goOffline(), FlexibleCollimator::goOffline(), PluginElement::goOffline(), RBend3D::goOffline(), RFCavity::goOffline(), Solenoid::goOffline(), Source::goOffline(), Vacuum::goOffline(), Bend2D::goOnline(), CCollimator::goOnline(), goOnline(), Corrector::goOnline(), Degrader::goOnline(), FlexibleCollimator::goOnline(), Monitor::goOnline(), RBend3D::goOnline(), RFCavity::goOnline(), Solenoid::goOnline(), Source::goOnline(), TravelingWave::goOnline(), Vacuum::goOnline(), Cyclotron::initialise(), Multipole::initialise(), Ring::initialise(), Septum::initialise(), Online(), Degrader::~Degrader(), FlexibleCollimator::~FlexibleCollimator(), and Vacuum::~Vacuum().
|
privateinherited |
The name of the outputfile
Definition at line 401 of file ElementBase.h.
Referenced by ElementBase(), getOutputFN(), and setOutputFN().
|
privateinherited |
Definition at line 392 of file ElementBase.h.
Referenced by ElementBase(), getParticleMatterInteraction(), hasParticleMatterInteraction(), and setParticleMatterInteraction().
|
private |
Definition at line 163 of file SBend3D.h.
Referenced by getGeometry(), getGeometry(), SBend3D(), SBend3D(), and setFieldMapFileName().
|
private |
Definition at line 168 of file SBend3D.h.
Referenced by getPolynomialOrder(), SBend3D(), SBend3D(), setFieldMapFileName(), and setPolynomialOrder().
|
privateinherited |
Definition at line 394 of file ElementBase.h.
Referenced by ElementBase(), fixPosition(), isPositioned(), releasePosition(), and setCSTrafoGlobal2Local().
|
mutableprivateinherited |
Definition at line 76 of file RCObject.h.
Referenced by addReference(), isShared(), RCObject(), RCObject(), and removeReference().
|
protectedinherited |
Definition at line 191 of file Component.h.
Referenced by Bend2D::apply(), Corrector::apply(), Corrector::apply(), Cyclotron::apply(), Degrader::apply(), FlexibleCollimator::apply(), Monitor::apply(), Multipole::apply(), MultipoleT::apply(), RBend3D::apply(), RFCavity::apply(), SBend3D::apply(), ScalingFFAMagnet::apply(), Solenoid::apply(), Source::apply(), TravelingWave::apply(), Undulator::apply(), VariableRFCavity::apply(), VariableRFCavityFringeField::apply(), VerticalFFAMagnet::apply(), Degrader::applyToReferenceParticle(), Monitor::applyToReferenceParticle(), BendBase::calcDesignRadius(), BendBase::calcFieldAmplitude(), BendBase::calcGamma(), Bend2D::calculateBendAngle(), Bend2D::calculateRefTrajectory(), Component(), Component(), Monitor::driftToCorrectPositionAndSave(), MultipoleT::finalise(), Offset::finalise(), SBend3D::finalise(), ScalingFFAMagnet::finalise(), VariableRFCavity::finalise(), VerticalFFAMagnet::finalise(), RBend::findChordLength(), Bend2D::findIdealBendParameters(), Corrector::goOnline(), Degrader::goOnline(), Corrector::initialise(), Cyclotron::initialise(), Cyclotron::initialise(), Degrader::initialise(), Drift::initialise(), FlexibleCollimator::initialise(), FlexibleCollimator::initialise(), Marker::initialise(), Monitor::initialise(), Multipole::initialise(), MultipoleT::initialise(), Offset::initialise(), PluginElement::initialise(), RBend3D::initialise(), RFCavity::initialise(), RFCavity::initialise(), SBend3D::initialise(), ScalingFFAMagnet::initialise(), Solenoid::initialise(), Source::initialise(), TravelingWave::initialise(), Undulator::initialise(), Vacuum::initialise(), VariableRFCavity::initialise(), VerticalFFAMagnet::initialise(), VariableRFCavity::initNull(), Multipole::isFocusing(), MultipoleT::MultipoleT(), CCollimator::print(), FlexibleCollimator::print(), SBend3D::SBend3D(), ScalingFFAMagnet::ScalingFFAMagnet(), Corrector::setDesignEnergy(), Ring::setRefPartBunch(), Bend2D::setupPusher(), RFCavity::trackOnAxisParticle(), RBend3D::trackRefParticleThrough(), Vacuum::updateParticleAttributes(), and VerticalFFAMagnet::VerticalFFAMagnet().
|
protectedinherited |
Definition at line 373 of file ElementBase.h.
Referenced by ElementBase(), Bend2D::findIdealBendParameters(), getRotationAboutZ(), RBend3D::initialise(), Bend2D::print(), and setRotationAboutZ().
|
mutableprotectedinherited |
Definition at line 364 of file ElementBase.h.
Referenced by Beamline::Beamline(), Beamline::Beamline(), Beamline::Beamline(), ElementBase(), isSharable(), makeSharable(), and TBeamline< T >::makeSharable().
|
private |
Definition at line 169 of file SBend3D.h.
Referenced by getSmoothingOrder(), SBend3D(), SBend3D(), setFieldMapFileName(), and setSmoothingOrder().
|
privateinherited |
Definition at line 386 of file ElementBase.h.
Referenced by ElementBase(), getChannel(), and removeAttribute().
|
privateinherited |
Definition at line 388 of file ElementBase.h.
Referenced by ElementBase(), getWake(), hasWake(), and setWake().