|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <MultipoleT.h>
Public Member Functions | |
| MultipoleT (const std::string &name) | |
| MultipoleT (const MultipoleT &right) | |
| ~MultipoleT () override=default | |
| ElementBase * | clone () const override |
| void | accept (BeamlineVisitor &visitor) const override |
| BGeometryBase & | getGeometry () override |
| const BGeometryBase & | getGeometry () const override |
| EMField & | getField () override |
| const EMField & | getField () const override |
| bool | apply (const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override |
| bool | apply (const size_t &i, 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 |
| size_t | getMaxFOrder () const |
| size_t | getMaxXOrder () const |
| void | setMaxOrder (size_t orderZ, size_t orderX) |
| std::size_t | getTransMaxOrder () const |
| void | setTransProfile (const std::vector< double > &profile) |
| const std::vector< double > & | getTransProfile () const |
| void | setFringeField (const double &s0, const double &lambda_left, const double &lambda_right) |
| std::tuple< double, double, double > | getFringeField () const |
| void | setEntranceAngle (double entranceAngle) |
| void | setEntryOffset (double offset) |
| double | getEntryOffset () const |
| bool | getVariableRadius () const |
| void | setBendAngle (double angle, bool variableRadius) |
| double | getBendAngle () const |
| double | getEntranceAngle () const |
| void | setElementLength (double length) override |
| double | getLength () const |
| void | setAperture (const double &vertAp, const double &horizAp) |
| std::tuple< double, double > | getAperture () |
| void | setRotation (double rot) |
| double | getRotation () const |
| double | getBoundingBoxLength () const |
| void | setBoundingBoxLength (double boundingBoxLength) |
| void | getDimensions (double &, double &) const override |
| double | getFringeDeriv (const std::size_t &n, const double &s) |
| double | getFnDerivX (const std::size_t &n, const double &x, const double &s) |
| double | getFnDerivS (const std::size_t &n, const double &x, const double &s) |
| double | getTransDeriv (const std::size_t &n, const double &x) const |
| Vector_t | toMagnetCoords (const Vector_t &R) |
| Vector_t | getField (const Vector_t &magnetCoords) |
| Vector_t | localCartesianToOpalCartesian (const Vector_t &r) |
| double | localCartesianRotation () |
| void | setScalingName (const std::string &name) |
| void | setScalingModel (const std::shared_ptr< AbstractTimeDependence > &td) |
| std::string | getScalingName () const |
| void | initialiseTimeDepencencies () 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 | 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 | |
| Vector_t | rotateFrame (const Vector_t &R) const |
| bool | insideAperture (const Vector_t &R) const |
| bool | insideBoundingBox (const Vector_t &R) const |
| void | chooseImplementation () |
| bool | isInsideTransverse (const Vector_t &r) const |
Protected Attributes | |
| endfieldmodel::Tanh | fringeField_l {endfieldmodel::Tanh()} |
| endfieldmodel::Tanh | fringeField_r {endfieldmodel::Tanh()} |
| std::size_t | maxFOrder_m {3} |
| std::size_t | maxXOrder_m {20} |
| std::vector< double > | transProfile_m {0.0} |
| size_t | transMaxOrder_m {1} |
| double | length_m {1.0} |
| double | entranceAngle_m {0.0} |
| double | rotation_m {0.0} |
| double | bendAngle_m {0.0} |
| bool | variableRadius_m {false} |
| double | boundingBoxLength_m {0.0} |
| double | entryOffset_m {0.0} |
| double | verticalApert_m {0.5} |
| double | horizontalApert_m {0.5} |
| BMultipoleField | dummy |
| std::string | scalingName_m |
| std::shared_ptr< AbstractTimeDependence > | scalingTD_m |
| std::unique_ptr< MultipoleTBase > | implementation_ {} |
| 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 | |
| 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 |
MultipoleT implements a straight or curved combined
function magnet (up to arbitrary multipole component) with fringe fields.
Class category: AbsBeamline
$Author: Titus Dascalu, Martin Duy Tat, Chris Rogers
The field is obtained from the scalar potential
\[ V = f_0(x,s) z + f_1 (x,s) \frac{z^3}{3!} + f_2 (x,s) \frac{z^5}{5!} + ... \]
(x,z,s) -> Frenet-Serret local coordinates along the magnet
z -> vertical component
assume mid-plane symmetry
set field on mid-plane -> \( B_z = f_0(x,s) = T(x) \cdot S(s) \)
T(x) -> transverse profile; this is a polynomial describing the field expansion on the mid-plane inside the magnet (not in the fringe field); 1st term is the dipole strength, 2nd term is the quadrupole gradient * x, etc.
-> when setting the magnet, one gives the multipole coefficients of this polynomial (i.e. dipole strength,
quadrupole gradient, etc.)
----------— example --------------------------------------------—
Setting a combined function magnet with dipole, quadrupole and sextupole components:
\( T(x) = B_0 + B_1 \cdot x + B_2 \cdot x^2 \)
user gives \( B_0, B_1, B_2 \)
----------— example end ----------------------------------------—
S(s) -> fringe field
recursion -> \( f_n (x,s) = (-1)^n \cdot \sum_{i=0}^{n} C_n^i
\cdot T^{(2i)} \cdot S^{(2n-2i)} \)
for curved magnets the above recursion is more complicated
\( C_n^i \) -> binomial coeff; \( T^{(n)} \) -> n-th derivative
Definition at line 88 of file MultipoleT.h.
|
explicit |
Constructor
| name | -> User-defined name |
Definition at line 42 of file MultipoleT.cpp.
References chooseImplementation(), Component::Component(), and name.
Referenced by clone(), and MultipoleT().
| MultipoleT::MultipoleT | ( | const MultipoleT & | right | ) |
Copy constructor
Definition at line 47 of file MultipoleT.cpp.
References bendAngle_m, boundingBoxLength_m, chooseImplementation(), Component::Component(), entranceAngle_m, fringeField_l, fringeField_r, horizontalApert_m, length_m, maxFOrder_m, maxXOrder_m, MultipoleT(), Component::RefPartBunch_m, rotation_m, scalingName_m, scalingTD_m, transMaxOrder_m, transProfile_m, variableRadius_m, and verticalApert_m.
|
overridedefault |
|
overridevirtual |
Accept a beamline visitor
Implements ElementBase.
Definition at line 73 of file MultipoleT.cpp.
References initialiseTimeDepencencies(), and BeamlineVisitor::visitMultipoleT().
|
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 If particle is outside field map true is returned, otherwise false is returned |
| 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 228 of file MultipoleT.cpp.
References apply(), and Component::RefPartBunch_m.
|
overridevirtual |
Calculate the field at some arbitrary position
If particle is outside field map true is returned, otherwise false is returned
| R | -> Position in the lab coordinate system of the multipole |
| P | -> Not used |
| 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 129 of file MultipoleT.cpp.
References getField(), ElementBase::getFlagDeleteOnTransverseExit(), insideAperture(), insideBoundingBox(), scalingTD_m, and toMagnetCoords().
Referenced by apply().
|
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().
|
overridevirtual |
Return true if dipole component not zero
Implements Component.
Definition at line 293 of file MultipoleT.cpp.
References bendAngle_m, and transProfile_m.
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().
|
protected |
Definition at line 247 of file MultipoleT.cpp.
References bendAngle_m, implementation_, and variableRadius_m.
Referenced by MultipoleT(), MultipoleT(), and setBendAngle().
|
overridevirtual |
Inheritable copy constructor
Implements ElementBase.
Definition at line 69 of file MultipoleT.cpp.
References ElementBase::ElementBase(), and MultipoleT().
Referenced by ParallelCyclotronTracker::visitMultipoleT().
|
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 MultipoleT - sets bunch to nullptr
Implements Component.
Definition at line 224 of file MultipoleT.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=().
|
inline |
Get the aperture dimensions
Definition at line 206 of file MultipoleT.h.
References horizontalApert_m, and verticalApert_m.
|
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().
|
inline |
Get the bending angle of the magnet
Definition at line 187 of file MultipoleT.h.
References bendAngle_m.
|
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().
|
inline |
Get the bounding box size
Definition at line 215 of file MultipoleT.h.
References boundingBoxLength_m.
|
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().
|
inline |
|
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().
|
inline |
Get the offset of the entry point from the standard position
Definition at line 181 of file MultipoleT.h.
References entryOffset_m.
|
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().
|
inlineoverridevirtual |
Return a dummy field value
Implements Component.
Definition at line 109 of file MultipoleT.h.
References dummy.
|
inlineoverridevirtual |
Return a dummy field value
Implements Component.
Definition at line 107 of file MultipoleT.h.
References dummy.
Referenced by apply().
Calculate B-field in the local Frenet-Serret frame
Transform B-field from local to lab coordinates
Definition at line 117 of file MultipoleT.cpp.
References implementation_.
|
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().
| double MultipoleT::getFnDerivS | ( | const std::size_t & | n, |
| const double & | x, | ||
| const double & | s ) |
Calculate partial derivative of fn wrt s using a 5-point finite difference formula Error of order stepSize^4
| n | -> nth derivative |
| x | -> Coordinate x |
| s | -> Coordinate s |
Definition at line 210 of file MultipoleT.cpp.
References getFringeDeriv(), getTransDeriv(), and implementation_.
| double MultipoleT::getFnDerivX | ( | const std::size_t & | n, |
| const double & | x, | ||
| const double & | s ) |
Calculate partial derivative of fn wrt x using a 5-point finite difference formula Error of order stepSize^4
| n | -> nth derivative |
| x | -> Coordinate x |
| s | -> Coordinate s |
Definition at line 196 of file MultipoleT.cpp.
References getFringeDeriv(), getTransDeriv(), and implementation_.
| double MultipoleT::getFringeDeriv | ( | const std::size_t & | n, |
| const double & | s ) |
Returns the value of the fringe field n-th derivative at s
| n | -> nth derivative |
| s | -> Coordinate s |
Definition at line 159 of file MultipoleT.cpp.
References fringeField_l, fringeField_r, and tanhderiv::integrate().
Referenced by getFnDerivS(), and getFnDerivX().
| std::tuple< double, double, double > MultipoleT::getFringeField | ( | ) | const |
Get the fringe field model
Definition at line 155 of file MultipoleT.cpp.
References fringeField_l, and fringeField_r.
|
overridevirtual |
Return the cell geometry
Implements ElementBase.
Definition at line 319 of file MultipoleT.cpp.
References implementation_.
|
overridevirtual |
Return the cell geometry
Implements ElementBase.
Definition at line 315 of file MultipoleT.cpp.
References implementation_.
|
inline |
|
inline |
Get the number of terms used in calculation of field components
Definition at line 143 of file MultipoleT.h.
References maxFOrder_m.
|
inline |
Definition at line 144 of file MultipoleT.h.
References maxXOrder_m.
|
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().
|
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 |
|
inline |
Get the angle of rotation of the magnet around its axis
Definition at line 213 of file MultipoleT.h.
References rotation_m.
|
inlineinherited |
Definition at line 574 of file ElementBase.h.
References rotationZAxis_m.
Referenced by OpalBeamline::compute3DLattice(), and Bend2D::setFieldCalcParam().
|
inline |
Definition at line 262 of file MultipoleT.h.
References scalingName_m.
|
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().
| double MultipoleT::getTransDeriv | ( | const std::size_t & | n, |
| const double & | x ) const |
Returns the value of the transverse field n-th derivative at x
Transverse field is a polynomial in x, differentiation follows usual polynomial rules of differentiation
| n | -> nth derivative |
| x | -> Coordinate x |
Definition at line 172 of file MultipoleT.cpp.
References getTransMaxOrder(), getTransProfile(), and transMaxOrder_m.
Referenced by getFnDerivS(), and getFnDerivX().
|
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().
|
inline |
Get the maximum order in the given transverse profile
Definition at line 151 of file MultipoleT.h.
References transMaxOrder_m.
Referenced by getTransDeriv().
|
inline |
Get all terms of transverse profile
Definition at line 157 of file MultipoleT.h.
References transProfile_m.
Referenced by getTransDeriv().
|
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.
|
inline |
Get the variable radius of the magnet
Definition at line 183 of file MultipoleT.h.
References variableRadius_m.
|
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 MultipoleT
| bunch | -> Bunch the global bunch object |
| startField | -> Not used |
| endField | -> Not used |
Implements Component.
Definition at line 297 of file MultipoleT.cpp.
References implementation_, and Component::RefPartBunch_m.
| void MultipoleT::initialiseTimeDepencencies | ( | ) | const |
Definition at line 308 of file MultipoleT.cpp.
References AbstractTimeDependence::getTimeDependence(), scalingName_m, and scalingTD_m.
Referenced by accept(), and PyOpal::PyOpalObjectNS::PyOpalObject< C >::doSetup().
|
protected |
Definition at line 98 of file MultipoleT.cpp.
References horizontalApert_m, and verticalApert_m.
Referenced by apply().
|
protected |
Definition at line 103 of file MultipoleT.cpp.
References boundingBoxLength_m, and fabs().
Referenced by apply().
|
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 |
| double MultipoleT::localCartesianRotation | ( | ) |
Definition at line 327 of file MultipoleT.cpp.
References implementation_.
Definition at line 323 of file MultipoleT.cpp.
References implementation_.
|
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 |
Rotate the frame to account for the rotation and entry angles.
| R | -> coordinate to rotate |
Apply two 2D rotation matrices to coordinate vector Rotate around central axis => skew fields Rotate azimuthally => entrance angle
Definition at line 78 of file MultipoleT.cpp.
References entranceAngle_m, and rotation_m.
Referenced by toMagnetCoords().
|
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().
| void MultipoleT::setAperture | ( | const double & | vertAp, |
| const double & | horizAp ) |
Set the aperture dimensions
This element only supports a rectangular aperture
| vertAp | -> Vertical aperture length |
| horizAp | -> Horisontal aperture length |
Definition at line 258 of file MultipoleT.cpp.
References horizontalApert_m, and verticalApert_m.
|
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().
| void MultipoleT::setBendAngle | ( | double | angle, |
| bool | variableRadius ) |
Set the bending angle of the magnet
Definition at line 240 of file MultipoleT.cpp.
References bendAngle_m, chooseImplementation(), and variableRadius_m.
|
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().
| void MultipoleT::setBoundingBoxLength | ( | double | boundingBoxLength | ) |
Set the bounding box size. This controls the region for
| boundingBoxLength | -> Distance between centre and entrance |
Definition at line 263 of file MultipoleT.cpp.
References boundingBoxLength_m.
|
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.
|
overridevirtual |
Set the length of the magnet If straight-> Actual length If curved -> Arc length
Reimplemented from ElementBase.
Definition at line 232 of file MultipoleT.cpp.
References implementation_, length_m, and ElementBase::setElementLength().
Referenced by OpalMultipoleT::update().
|
inlineinherited |
Access to ELEMEDGE attribute.
Definition at line 583 of file ElementBase.h.
References elemedgeSet_m, and elementPosition_m.
Referenced by OpalElement::update().
| void MultipoleT::setEntranceAngle | ( | double | entranceAngle | ) |
Set the entrance angle
| entranceAngle | -> Entrance angle |
Definition at line 285 of file MultipoleT.cpp.
References entranceAngle_m.
| void MultipoleT::setEntryOffset | ( | double | offset | ) |
Set the offset of the entry point from the standard position
| offset | positive for further away from the center |
Definition at line 289 of file MultipoleT.cpp.
References entryOffset_m.
|
inlineinherited |
Definition at line 225 of file Component.h.
References exit_face_slope_m.
|
inlineinherited |
Definition at line 608 of file ElementBase.h.
References deleteOnTransverseExit_m.
Referenced by OpalElement::update().
| void MultipoleT::setFringeField | ( | const double & | s0, |
| const double & | lambda_left, | ||
| const double & | lambda_right ) |
Set fringe field model
Tanh model used here
\[ 1/2 * \left [tanh \left( \frac{s + s_0}{\lambda_{left}} \right) - tanh \left( \frac{s - s_0}{\lambda_{right}} \right) \right] \]
| s0 | -> Centre field length and |
| lambda_left | -> Left end field length |
| lambda_right | -> Right end field length |
Definition at line 146 of file MultipoleT.cpp.
References fringeField_l, fringeField_r, implementation_, maxFOrder_m, and endfieldmodel::Tanh::setTanhDiffIndices().
| void MultipoleT::setMaxOrder | ( | size_t | orderZ, |
| size_t | orderX ) |
Set the number of terms used in calculation of field components
| orderZ | -> Number of terms in expansion in z |
| orderX | -> Number of terms in expansion in x |
Definition at line 275 of file MultipoleT.cpp.
References implementation_, maxFOrder_m, and maxXOrder_m.
|
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().
| void MultipoleT::setRotation | ( | double | rot | ) |
Set the angle of rotation of the magnet around its axis
To make skew components
| rot | -> Angle of rotation |
Definition at line 281 of file MultipoleT.cpp.
References rotation_m.
|
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 |
Definition at line 261 of file MultipoleT.h.
References scalingTD_m.
| void MultipoleT::setScalingName | ( | const std::string & | name | ) |
Definition at line 303 of file MultipoleT.cpp.
References name, and scalingName_m.
| void MultipoleT::setTransProfile | ( | const std::vector< double > & | profile | ) |
Set the the transverse profile
| profile | -> Multipole field profile |
Definition at line 267 of file MultipoleT.cpp.
References transMaxOrder_m, and transProfile_m.
|
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().
Rotate coordinates around the central axis of the magnet
Go to local Frenet-Serret coordinates
Definition at line 107 of file MultipoleT.cpp.
References implementation_, and rotateFrame().
Referenced by apply().
|
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().
|
protected |
Definition at line 289 of file MultipoleT.h.
Referenced by bends(), chooseImplementation(), getBendAngle(), MultipoleT(), and setBendAngle().
|
privateinherited |
Definition at line 390 of file ElementBase.h.
Referenced by ElementBase(), getBoundaryGeometry(), hasBoundaryGeometry(), and setBoundaryGeometry().
|
protected |
Definition at line 291 of file MultipoleT.h.
Referenced by getBoundingBoxLength(), insideBoundingBox(), MultipoleT(), and setBoundingBoxLength().
|
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().
|
protected |
Not implemented
Definition at line 297 of file MultipoleT.h.
Referenced by getField(), and getField().
|
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().
|
protected |
Definition at line 287 of file MultipoleT.h.
Referenced by getEntranceAngle(), MultipoleT(), rotateFrame(), and setEntranceAngle().
|
protected |
Definition at line 292 of file MultipoleT.h.
Referenced by getEntryOffset(), and setEntryOffset().
|
protectedinherited |
Definition at line 189 of file Component.h.
Referenced by Component(), Component(), and setExitFaceSlope().
|
protected |
Definition at line 276 of file MultipoleT.h.
Referenced by getFringeDeriv(), getFringeField(), MultipoleT(), and setFringeField().
|
protected |
Definition at line 277 of file MultipoleT.h.
Referenced by getFringeDeriv(), getFringeField(), MultipoleT(), and setFringeField().
|
protected |
Definition at line 295 of file MultipoleT.h.
Referenced by getAperture(), insideAperture(), MultipoleT(), and setAperture().
|
protected |
Definition at line 302 of file MultipoleT.h.
Referenced by chooseImplementation(), getField(), getFnDerivS(), getFnDerivX(), getGeometry(), getGeometry(), initialise(), localCartesianRotation(), localCartesianToOpalCartesian(), setElementLength(), setFringeField(), setMaxOrder(), and toMagnetCoords().
|
protected |
Magnet parameters
Definition at line 286 of file MultipoleT.h.
Referenced by getLength(), MultipoleT(), and setElementLength().
|
protected |
Number of terms in z expansion used in calculating field components
Definition at line 279 of file MultipoleT.h.
Referenced by getMaxFOrder(), MultipoleT(), setFringeField(), and setMaxOrder().
|
protected |
Highest order of polynomial expansions in x
Definition at line 281 of file MultipoleT.h.
Referenced by getMaxXOrder(), MultipoleT(), and setMaxOrder().
|
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().
|
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().
|
protected |
Definition at line 288 of file MultipoleT.h.
Referenced by getRotation(), MultipoleT(), rotateFrame(), and setRotation().
|
protectedinherited |
Definition at line 373 of file ElementBase.h.
Referenced by ElementBase(), Bend2D::findIdealBendParameters(), getRotationAboutZ(), RBend3D::initialise(), Bend2D::print(), and setRotationAboutZ().
|
protected |
Definition at line 299 of file MultipoleT.h.
Referenced by getScalingName(), initialiseTimeDepencencies(), MultipoleT(), and setScalingName().
|
mutableprotected |
Definition at line 300 of file MultipoleT.h.
Referenced by apply(), initialiseTimeDepencencies(), MultipoleT(), and setScalingModel().
|
mutableprotectedinherited |
Definition at line 364 of file ElementBase.h.
Referenced by Beamline::Beamline(), Beamline::Beamline(), Beamline::Beamline(), ElementBase(), isSharable(), makeSharable(), and TBeamline< T >::makeSharable().
|
protected |
Definition at line 284 of file MultipoleT.h.
Referenced by getTransDeriv(), getTransMaxOrder(), MultipoleT(), and setTransProfile().
|
protected |
List of transverse profile coefficients
Definition at line 283 of file MultipoleT.h.
Referenced by bends(), getTransProfile(), MultipoleT(), and setTransProfile().
|
privateinherited |
Definition at line 386 of file ElementBase.h.
Referenced by ElementBase(), getChannel(), and removeAttribute().
|
protected |
Definition at line 290 of file MultipoleT.h.
Referenced by chooseImplementation(), getVariableRadius(), MultipoleT(), and setBendAngle().
|
protected |
Assume rectangular aperture with these dimensions
Definition at line 294 of file MultipoleT.h.
Referenced by getAperture(), insideAperture(), MultipoleT(), and setAperture().
|
privateinherited |
Definition at line 388 of file ElementBase.h.
Referenced by ElementBase(), getWake(), hasWake(), and setWake().