OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
Representation of a perturbed sector bend. More...
#include <SBendWrapper.h>
Public Member Functions | |
SBendWrapper (SBend *) | |
Constructor. More... | |
SBendWrapper (const SBendWrapper &) | |
virtual | ~SBendWrapper () |
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 PlanarArcGeometry & | getGeometry () |
Get geometry. More... | |
virtual const PlanarArcGeometry & | 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 SBend & | getDesign () const |
Get design SBend. More... | |
virtual SBend & | getDesign () |
Get design SBend. 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... | |
![]() | |
SBend (const std::string &name) | |
Constructor with given name. More... | |
SBend () | |
SBend (const SBend &) | |
virtual | ~SBend () |
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, double, Vector_t &) override |
virtual void | addKT (int, double, Vector_t &) 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 |
virtual void | setBendAngle (double angle) |
double | getBendAngle () const |
virtual void | setEntranceAngle (double entranceAngle) |
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 | |
SBendWrapper () | |
void | operator= (const SBendWrapper &) |
Private Attributes | |
Pointer< SBend > | itsDesign |
BMultipoleField | itsError |
The error field. More... | |
BMultipoleField | tempField |
Representation of a perturbed sector bend.
Definition at line 37 of file SBendWrapper.h.
|
explicit |
SBendWrapper::SBendWrapper | ( | const SBendWrapper & | rhs | ) |
Definition at line 37 of file SBendWrapper.cpp.
References ElementBase::shareFlag.
|
virtual |
Definition at line 46 of file SBendWrapper.cpp.
|
private |
Referenced by clone(), and copyStructure().
|
virtual |
Apply visitor to modified bend.
Reimplemented from SBend.
Definition at line 50 of file SBendWrapper.cpp.
References BeamlineVisitor::visitSBendWrapper().
|
virtual |
Make clone.
Implements ElementBase.
Definition at line 55 of file SBendWrapper.cpp.
References ElementBase::clone(), itsDesign, and SBendWrapper().
|
virtual |
Make structural copy.
Reimplemented from ElementBase.
Definition at line 62 of file SBendWrapper.cpp.
References ElementBase::copyStructure(), ElementBase::isSharable(), itsDesign, and SBendWrapper().
|
virtual |
Get multipole field error.
Definition at line 73 of file SBendWrapper.cpp.
References itsError.
Referenced by OpalSBend::fillRegisteredAttributes().
|
virtual |
Get dipole component.
Implements SBend.
Definition at line 108 of file SBendWrapper.cpp.
References getField(), BMultipoleField::getNormalComponent(), and tempField.
|
virtual |
Get design SBend.
Reimplemented from Component.
Definition at line 149 of file SBendWrapper.cpp.
References itsDesign.
Referenced by OpalSBend::fillRegisteredAttributes(), and IdealMapper::visitSBendWrapper().
|
virtual |
|
virtual |
Get pole face curvature.
Implements SBend.
Definition at line 124 of file SBendWrapper.cpp.
References SBend::getEntryFaceCurvature(), and itsDesign.
Referenced by OpalSBend::fillRegisteredAttributes().
|
virtual |
Get pole face rotation.
Implements SBend.
Definition at line 114 of file SBendWrapper.cpp.
References SBend::getEntryFaceRotation(), and itsDesign.
Referenced by OpalSBend::fillRegisteredAttributes().
|
virtual |
Get pole face curvature.
Implements SBend.
Definition at line 129 of file SBendWrapper.cpp.
References SBend::getExitFaceCurvature(), and itsDesign.
Referenced by OpalSBend::fillRegisteredAttributes().
|
virtual |
Get pole face rotation.
Implements SBend.
Definition at line 119 of file SBendWrapper.cpp.
References SBend::getExitFaceRotation(), and itsDesign.
Referenced by OpalSBend::fillRegisteredAttributes().
|
virtual |
Get field.
Implements SBend.
Definition at line 84 of file SBendWrapper.cpp.
References BMultipoleField::addField(), SBend::getField(), itsDesign, itsError, and tempField.
Referenced by OpalSBend::fillRegisteredAttributes(), and getB().
|
virtual |
Get field.
Implements SBend.
Definition at line 91 of file SBendWrapper.cpp.
References BMultipoleField::addField(), SBend::getField(), itsDesign, itsError, and tempField.
|
virtual |
Get geometry.
Implements SBend.
Definition at line 98 of file SBendWrapper.cpp.
References SBend::getGeometry(), and itsDesign.
|
virtual |
Get geometry.
Implements SBend.
Definition at line 103 of file SBendWrapper.cpp.
References SBend::getGeometry(), and itsDesign.
|
virtual |
Get number of slices.
Implements SBend.
Definition at line 134 of file SBendWrapper.cpp.
References SBend::getSlices(), and itsDesign.
Referenced by OpalSBend::fillRegisteredAttributes().
|
virtual |
Get stepsize.
Implements SBend.
Definition at line 139 of file SBendWrapper.cpp.
References SBend::getStepsize(), and itsDesign.
Referenced by OpalSBend::fillRegisteredAttributes().
|
virtual |
Get element type string.
Reimplemented from SBend.
Definition at line 144 of file SBendWrapper.cpp.
References ElementBase::SBENDWRAPPER.
|
virtual |
Make wrapper for this bend.
Reimplemented from ElementBase.
Definition at line 159 of file SBendWrapper.cpp.
|
virtual |
Set sharable flag.
Reimplemented from ElementBase.
Definition at line 78 of file SBendWrapper.cpp.
References itsDesign, ElementBase::makeSharable(), and ElementBase::shareFlag.
|
private |
|
virtual |
Remove field wrapper.
Reimplemented from ElementBase.
Definition at line 164 of file SBendWrapper.cpp.
References itsDesign.
|
virtual |
Remove field wrapper.
Reimplemented from ElementBase.
Definition at line 169 of file SBendWrapper.cpp.
References itsDesign.
|
virtual |
Remove all wrappers.
Reimplemented from ElementBase.
Definition at line 174 of file SBendWrapper.cpp.
References itsDesign.
|
virtual |
Remove all wrappers.
Reimplemented from ElementBase.
Definition at line 179 of file SBendWrapper.cpp.
References itsDesign.
Definition at line 152 of file SBendWrapper.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 SBendWrapper.h.
Referenced by errorField(), and getField().
|
mutableprivate |
Definition at line 158 of file SBendWrapper.h.
Referenced by getB(), and getField().