OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
Representation of a perturbed rectangular bend. More...
#include <RBendWrapper.h>
Public Member Functions | |
RBendWrapper (RBend *) | |
Constructor. More... | |
RBendWrapper (const RBendWrapper &right) | |
virtual | ~RBendWrapper () |
virtual void | accept (BeamlineVisitor &) const |
Apply visitor to modified bend. More... | |
virtual ElementBase * | clone () const |
Make clone. More... | |
virtual ElementBase * | copyStructure () |
Make structural copy. More... | |
virtual BMultipoleField & | errorField () const |
Get multipole field error. More... | |
virtual void | makeSharable () |
Set sharable flag. More... | |
virtual BMultipoleField & | getField () |
Get field. More... | |
virtual const BMultipoleField & | getField () const |
Get field. More... | |
virtual RBendGeometry & | getGeometry () |
Get geometry. More... | |
virtual const RBendGeometry & | getGeometry () const |
Get geometry. More... | |
virtual double | getB () const |
Get dipole component. More... | |
virtual double | getEntryFaceRotation () const |
Get pole face rotation. More... | |
virtual double | getExitFaceRotation () const |
Get pole face rotation. More... | |
virtual double | getEntryFaceCurvature () const |
Get pole face curvature. More... | |
virtual double | getExitFaceCurvature () const |
Get pole face curvature. More... | |
virtual double | getSlices () const |
Get number of slices. More... | |
virtual double | getStepsize () const |
Get stepsize. More... | |
virtual ElementBase::ElementType | getType () const |
Get element type string. More... | |
virtual const RBend & | getDesign () const |
Get design RBend. More... | |
virtual RBend & | getDesign () |
Get design RBend. More... | |
virtual ElementBase * | makeFieldWrapper () |
Make wrapper for this bend. More... | |
virtual ElementBase * | removeFieldWrapper () |
Remove field wrapper. More... | |
virtual const ElementBase * | removeFieldWrapper () const |
Remove field wrapper. More... | |
virtual ElementBase * | removeWrappers () |
Remove all wrappers. More... | |
virtual const ElementBase * | removeWrappers () const |
Remove all wrappers. More... | |
![]() | |
RBend (const std::string &name) | |
Constructor with given name. More... | |
RBend () | |
RBend (const RBend &) | |
virtual | ~RBend () |
double | getNormalComponent (int) const |
Get normal component. More... | |
double | getSkewComponent (int) const |
Get skew component. More... | |
void | setNormalComponent (int, double) |
Set normal component. More... | |
void | setSkewComponent (int, double) |
Set skew component. More... | |
virtual void | addKR (int i, double t, Vector_t &K) override |
virtual void | addKT (int i, double t, Vector_t &K) override |
virtual void | setBendAngle (double angle) override |
virtual void | setEntranceAngle (double entranceAngle) override |
![]() | |
Bend2D (const std::string &name) | |
Constructor with given name. More... | |
Bend2D () | |
Bend2D (const Bend2D &) | |
virtual | ~Bend2D () |
virtual bool | apply (const size_t &i, const double &t, Vector_t &E, Vector_t &B) |
Apply field to particles with coordinates in magnet frame. More... | |
virtual bool | apply (const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) |
Apply field to particles in beam frame. More... | |
virtual bool | applyToReferenceParticle (const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) |
virtual void | goOnline (const double &kineticEnergy) |
virtual void | finalise () |
virtual void | getDimensions (double &sBegin, double &sEnd) const |
virtual void | initialise (PartBunchBase< double, 3 > *bunch, double &startField, double &endField) |
double | getBendRadius () const |
double | getEffectiveCenter () const |
double | getEffectiveLength () const |
double | getStartElement () const |
void | setK1 (double k1) |
Set quadrupole field component. More... | |
void | setExitAngle (double exitAngle) |
virtual double | getExitAngle () const |
double | getMapLength () const |
std::vector< Vector_t > | getOutline () const |
MeshData | getSurfaceMesh () const |
virtual CoordinateSystemTrafo | getEdgeToEnd () const |
CoordinateSystemTrafo | getBeginToEnd_local () const |
virtual bool | isInside (const Vector_t &r) const |
void | setNSlices (const std::size_t &nSlices) |
std::size_t | getNSlices () const |
std::array< double, 2 > | getEntranceFringeFieldLength () const |
Get entrance fringe field length. More... | |
std::array< double, 2 > | getExitFringeFieldLength () const |
Get exit fringe field length. More... | |
![]() | |
BendBase () | |
BendBase (const BendBase &) | |
BendBase (const std::string &) | |
virtual bool | bends () const |
Indicates that element bends the beam. More... | |
void | setLength (double length) |
double | getLength () const |
double | getChordLength () const |
double | getBendAngle () const |
double | getEntranceAngle () const |
void | setFullGap (double) |
double | getFullGap () const |
virtual void | setDesignEnergy (const double &energy, bool changeable=true) |
double | getDesignEnergy () const |
std::vector< Vector_t > | getDesignPath () const |
void | setFieldAmplitude (double k0, double k0s) |
double | getFieldAmplitude () const |
void | setFieldMapFN (std::string fileName) |
std::string | getFieldMapFN () const |
![]() | |
Component (const std::string &name) | |
Constructor with given name. More... | |
Component () | |
Component (const Component &right) | |
virtual | ~Component () |
EVector | Efield (const Point3D &P) const |
Return the field in a point. More... | |
BVector | Bfield (const Point3D &P) const |
Return the field in a point. More... | |
EVector | Efield (const Point3D &P, double t) const |
Return the field in a point. More... | |
BVector | Bfield (const Point3D &P, double t) const |
Return the field in a point. More... | |
EBVectors | EBfield (const Point3D &P) const |
Return the field in a point. More... | |
EBVectors | EBfield (const Point3D &P, double t) const |
Return the field in a point. More... | |
virtual bool | getPotential (const Vector_t &R, const double &t, Vector_t &A, double &phi) |
virtual void | goOffline () |
virtual bool | Online () |
virtual void | setComponentType (std::string) |
virtual std::string | getComponentType () const |
virtual void | trackBunch (PartBunchBase< double, 3 > *bunch, const PartData &, bool revBeam, bool revTrack) const |
Track particle bunch. More... | |
virtual void | trackMap (FVps< double, 6 > &map, const PartData &, bool revBeam, bool revTrack) const |
Track a map. More... | |
void | setExitFaceSlope (const double &) |
![]() | |
ElementBase (const std::string &name) | |
Constructor with given name. More... | |
ElementBase () | |
ElementBase (const ElementBase &) | |
virtual | ~ElementBase () |
virtual const std::string & | getName () const |
Get element name. More... | |
virtual void | setName (const std::string &name) |
Set element name. More... | |
std::string | getTypeString () const |
virtual double | getArcLength () const |
Get arc length. More... | |
virtual double | getElementLength () const |
Get design length. More... | |
virtual void | setElementLength (double length) |
Set design length. More... | |
virtual void | getElementDimensions (double &begin, double &end) const |
virtual double | getOrigin () const |
Get origin position. More... | |
virtual double | getEntrance () const |
Get entrance position. More... | |
virtual double | getExit () const |
Get exit position. More... | |
virtual Euclid3D | getTransform (double fromS, double toS) const |
Get transform. More... | |
virtual Euclid3D | getTransform (double s) const |
Get transform. More... | |
virtual Euclid3D | getTotalTransform () const |
Get transform. More... | |
virtual Euclid3D | getEntranceFrame () const |
Get transform. More... | |
virtual Euclid3D | getExitFrame () const |
Get transform. More... | |
virtual Euclid3D | getEntrancePatch () const |
Get patch. More... | |
virtual Euclid3D | getExitPatch () const |
Get patch. More... | |
virtual double | getAttribute (const std::string &aKey) const |
Get attribute value. More... | |
virtual bool | hasAttribute (const std::string &aKey) const |
Test for existence of an attribute. More... | |
virtual void | removeAttribute (const std::string &aKey) |
Remove an existing attribute. More... | |
virtual void | setAttribute (const std::string &aKey, double val) |
Set value of an attribute. More... | |
virtual Channel * | getChannel (const std::string &aKey, bool create=false) |
Construct a read/write channel. More... | |
virtual const ConstChannel * | getConstChannel (const std::string &aKey) const |
Construct a read-only channel. More... | |
virtual ElementImage * | getImage () const |
Construct an image. More... | |
bool | isSharable () const |
Test if the element can be shared. More... | |
virtual ElementBase * | makeAlignWrapper () |
Allow misalignment. More... | |
virtual ElementBase * | makeWrappers () |
Allow errors. More... | |
virtual ElementBase * | removeAlignWrapper () |
Remove align wrapper. More... | |
virtual const ElementBase * | removeAlignWrapper () const |
Remove align wrapper. More... | |
bool | update (const AttributeSet &) |
Update element. More... | |
virtual void | setBoundaryGeometry (BoundaryGeometry *geo) |
virtual BoundaryGeometry * | getBoundaryGeometry () const |
return the attached boundary geometrt object if there is any More... | |
virtual bool | hasBoundaryGeometry () const |
virtual void | setWake (WakeFunction *wf) |
attach a wake field to the element More... | |
virtual WakeFunction * | getWake () const |
return the attached wake object if there is any More... | |
virtual bool | hasWake () const |
virtual void | setParticleMatterInteraction (ParticleMatterInteractionHandler *spys) |
virtual ParticleMatterInteractionHandler * | getParticleMatterInteraction () const |
virtual bool | hasParticleMatterInteraction () const |
ElemType | getElType () const |
returns element type as enumeration needed in the envelope tracker More... | |
void | setElType (ElemType elt) |
set the element type as enumeration needed in the envelope tracker More... | |
void | setCSTrafoGlobal2Local (const CoordinateSystemTrafo &ori) |
CoordinateSystemTrafo | getCSTrafoGlobal2Local () const |
void | releasePosition () |
void | fixPosition () |
bool | isPositioned () const |
virtual CoordinateSystemTrafo | getEdgeToBegin () const |
void | setAperture (const ApertureType &type, const std::vector< double > &args) |
std::pair < ElementBase::ApertureType, std::vector< double > > | getAperture () const |
void | setMisalignment (double x, double y, double s) |
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. More... | |
double | getRotationAboutZ () const |
void | setElementPosition (double elemedge) |
Access to ELEMEDGE attribute. More... | |
double | getElementPosition () const |
bool | isElementPositionSet () const |
![]() | |
int | addReference () const |
Increment reference count. More... | |
int | removeReference () const |
Decrement the reference count. More... | |
bool | isShared () const |
Test for sharing. More... | |
Private Member Functions | |
RBendWrapper () | |
void | operator= (const RBendWrapper &) |
Private Attributes | |
Pointer< RBend > | itsDesign |
BMultipoleField | itsError |
The error field. More... | |
BMultipoleField | tempField |
Representation of a perturbed rectangular bend.
Definition at line 37 of file RBendWrapper.h.
|
explicit |
RBendWrapper::RBendWrapper | ( | const RBendWrapper & | right | ) |
Definition at line 37 of file RBendWrapper.cpp.
References ElementBase::shareFlag.
|
virtual |
Definition at line 46 of file RBendWrapper.cpp.
|
private |
Referenced by clone(), and copyStructure().
|
virtual |
Apply visitor to modified bend.
Reimplemented from RBend.
Definition at line 50 of file RBendWrapper.cpp.
References BeamlineVisitor::visitRBendWrapper().
|
virtual |
Make clone.
Implements ElementBase.
Definition at line 55 of file RBendWrapper.cpp.
References ElementBase::clone(), itsDesign, and RBendWrapper().
|
virtual |
Make structural copy.
Reimplemented from ElementBase.
Definition at line 62 of file RBendWrapper.cpp.
References ElementBase::copyStructure(), ElementBase::isSharable(), itsDesign, and RBendWrapper().
|
virtual |
Get multipole field error.
Definition at line 73 of file RBendWrapper.cpp.
References itsError.
Referenced by OpalRBend::fillRegisteredAttributes().
|
virtual |
Get dipole component.
Implements RBend.
Definition at line 108 of file RBendWrapper.cpp.
References getField(), BMultipoleField::getNormalComponent(), and tempField.
|
virtual |
Get design RBend.
Reimplemented from Component.
Definition at line 149 of file RBendWrapper.cpp.
References itsDesign.
Referenced by OpalRBend::fillRegisteredAttributes(), and IdealMapper::visitRBendWrapper().
|
virtual |
|
virtual |
Get pole face curvature.
Implements RBend.
Definition at line 124 of file RBendWrapper.cpp.
References RBend::getEntryFaceCurvature(), and itsDesign.
Referenced by OpalRBend::fillRegisteredAttributes().
|
virtual |
Get pole face rotation.
Implements RBend.
Definition at line 114 of file RBendWrapper.cpp.
References RBend::getEntryFaceRotation(), and itsDesign.
Referenced by OpalRBend::fillRegisteredAttributes().
|
virtual |
Get pole face curvature.
Implements RBend.
Definition at line 129 of file RBendWrapper.cpp.
References RBend::getExitFaceCurvature(), and itsDesign.
Referenced by OpalRBend::fillRegisteredAttributes().
|
virtual |
Get pole face rotation.
Implements RBend.
Definition at line 119 of file RBendWrapper.cpp.
References RBend::getExitFaceRotation(), and itsDesign.
Referenced by OpalRBend::fillRegisteredAttributes().
|
virtual |
Get field.
Implements RBend.
Definition at line 84 of file RBendWrapper.cpp.
References BMultipoleField::addField(), RBend::getField(), itsDesign, itsError, and tempField.
Referenced by OpalRBend::fillRegisteredAttributes(), and getB().
|
virtual |
Get field.
Implements RBend.
Definition at line 91 of file RBendWrapper.cpp.
References BMultipoleField::addField(), RBend::getField(), itsDesign, itsError, and tempField.
|
virtual |
Get geometry.
Implements RBend.
Definition at line 98 of file RBendWrapper.cpp.
References RBend::getGeometry(), and itsDesign.
|
virtual |
Get geometry.
Implements RBend.
Definition at line 103 of file RBendWrapper.cpp.
References RBend::getGeometry(), and itsDesign.
|
virtual |
Get number of slices.
Implements RBend.
Definition at line 134 of file RBendWrapper.cpp.
References RBend::getSlices(), and itsDesign.
Referenced by OpalRBend::fillRegisteredAttributes().
|
virtual |
Get stepsize.
Implements RBend.
Definition at line 139 of file RBendWrapper.cpp.
References RBend::getStepsize(), and itsDesign.
Referenced by OpalRBend::fillRegisteredAttributes().
|
virtual |
Get element type string.
Reimplemented from RBend.
Definition at line 144 of file RBendWrapper.cpp.
References ElementBase::RBENDWRAPPER.
|
virtual |
Make wrapper for this bend.
Reimplemented from ElementBase.
Definition at line 159 of file RBendWrapper.cpp.
|
virtual |
Set sharable flag.
Reimplemented from ElementBase.
Definition at line 78 of file RBendWrapper.cpp.
References itsDesign, ElementBase::makeSharable(), and ElementBase::shareFlag.
|
private |
|
virtual |
Remove field wrapper.
Reimplemented from ElementBase.
Definition at line 164 of file RBendWrapper.cpp.
References itsDesign.
|
virtual |
Remove field wrapper.
Reimplemented from ElementBase.
Definition at line 169 of file RBendWrapper.cpp.
References itsDesign.
|
virtual |
Remove all wrappers.
Reimplemented from ElementBase.
Definition at line 174 of file RBendWrapper.cpp.
References itsDesign.
|
virtual |
Remove all wrappers.
Reimplemented from ElementBase.
Definition at line 179 of file RBendWrapper.cpp.
References itsDesign.
Definition at line 152 of file RBendWrapper.h.
Referenced by clone(), copyStructure(), getDesign(), getEntryFaceCurvature(), getEntryFaceRotation(), getExitFaceCurvature(), getExitFaceRotation(), getField(), getGeometry(), getSlices(), getStepsize(), makeSharable(), removeFieldWrapper(), and removeWrappers().
|
mutableprivate |
The error field.
Definition at line 155 of file RBendWrapper.h.
Referenced by errorField(), and getField().
|
mutableprivate |
Definition at line 158 of file RBendWrapper.h.
Referenced by getB(), and getField().