OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
Representation of a perturbed multipole. More...
#include <MultipoleWrapper.h>
Public Member Functions | |
MultipoleWrapper (Multipole *) | |
Constructor. More... | |
MultipoleWrapper (const MultipoleWrapper &) | |
virtual | ~MultipoleWrapper () |
virtual void | accept (BeamlineVisitor &) const |
Apply visitor to modified multipole. 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 StraightGeometry & | getGeometry () |
Get geometry. More... | |
virtual const StraightGeometry & | getGeometry () const |
Get geometry. More... | |
virtual ElementBase::ElementType | getType () const |
Get element type string. More... | |
virtual const Multipole & | getDesign () const |
Get design corrector. More... | |
virtual Multipole & | getDesign () |
Get design corrector. More... | |
virtual ElementBase * | makeFieldWrapper () |
Make wrapper for this multipole. 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... | |
![]() | |
Multipole (const std::string &name) | |
Constructor with given name. More... | |
Multipole () | |
Multipole (const Multipole &) | |
virtual | ~Multipole () |
double | getNormalComponent (int n) const |
Get normal component. More... | |
double | getSkewComponent (int n) const |
Get skew component. More... | |
void | setNormalComponent (int, double) |
Set normal component. More... | |
void | setNormalComponent (int, double, double) |
Set normal component. More... | |
void | setSkewComponent (int, double) |
Set skew component. More... | |
void | setSkewComponent (int, double, double) |
Set skew component. More... | |
size_t | getMaxNormalComponentIndex () const |
size_t | getMaxSkewComponentIndex () const |
void | setNSlices (const std::size_t &nSlices) |
std::size_t | getNSlices () const |
bool | isFocusing (unsigned int component) const |
virtual void | addKR (int i, double t, Vector_t &K) override |
virtual void | addKT (int i, double t, Vector_t &K) override |
virtual bool | apply (const size_t &i, const double &t, Vector_t &E, Vector_t &B) override |
virtual bool | apply (const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override |
virtual bool | applyToReferenceParticle (const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override |
virtual void | initialise (PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override |
virtual void | finalise () override |
virtual bool | bends () const override |
virtual void | getDimensions (double &zBegin, double &zEnd) const override |
virtual bool | isInside (const Vector_t &r) const override |
![]() | |
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 double | getDesignEnergy () const |
virtual void | setDesignEnergy (const double &energy, bool changeable) |
virtual void | goOnline (const double &kineticEnergy) |
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 |
virtual CoordinateSystemTrafo | getEdgeToEnd () 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 | |
MultipoleWrapper () | |
void | operator= (const MultipoleWrapper &) |
Private Attributes | |
Pointer< Multipole > | itsDesign |
BMultipoleField | itsError |
BMultipoleField | tempField |
Representation of a perturbed multipole.
Definition at line 35 of file MultipoleWrapper.h.
|
explicit |
Constructor.
Definition at line 30 of file MultipoleWrapper.cpp.
References ElementBase::getName(), ElementBase::setName(), and ElementBase::shareFlag.
MultipoleWrapper::MultipoleWrapper | ( | const MultipoleWrapper & | rhs | ) |
Definition at line 40 of file MultipoleWrapper.cpp.
References ElementBase::shareFlag.
|
virtual |
Definition at line 49 of file MultipoleWrapper.cpp.
|
private |
Referenced by clone(), and copyStructure().
|
virtual |
Apply visitor to modified multipole.
Reimplemented from Multipole.
Definition at line 53 of file MultipoleWrapper.cpp.
References BeamlineVisitor::visitMultipoleWrapper().
|
virtual |
Make clone.
Implements ElementBase.
Definition at line 58 of file MultipoleWrapper.cpp.
References ElementBase::clone(), itsDesign, and MultipoleWrapper().
|
virtual |
Make structural copy.
Reimplemented from ElementBase.
Definition at line 65 of file MultipoleWrapper.cpp.
References ElementBase::copyStructure(), ElementBase::isSharable(), itsDesign, and MultipoleWrapper().
|
virtual |
Get multipole field error.
Definition at line 76 of file MultipoleWrapper.cpp.
References itsError.
Referenced by OpalMultipole::fillRegisteredAttributes(), OpalSextupole::fillRegisteredAttributes(), OpalOctupole::fillRegisteredAttributes(), and OpalQuadrupole::fillRegisteredAttributes().
|
virtual |
Get design corrector.
Reimplemented from Component.
Definition at line 117 of file MultipoleWrapper.cpp.
References itsDesign.
Referenced by OpalMultipole::fillRegisteredAttributes(), OpalSextupole::fillRegisteredAttributes(), OpalOctupole::fillRegisteredAttributes(), OpalQuadrupole::fillRegisteredAttributes(), and IdealMapper::visitMultipoleWrapper().
|
virtual |
|
virtual |
Get field.
Implements Multipole.
Definition at line 88 of file MultipoleWrapper.cpp.
References BMultipoleField::addField(), Multipole::getField(), itsDesign, itsError, and tempField.
Referenced by OpalMultipole::fillRegisteredAttributes(), OpalSextupole::fillRegisteredAttributes(), OpalOctupole::fillRegisteredAttributes(), and OpalQuadrupole::fillRegisteredAttributes().
|
virtual |
Get field.
Implements Multipole.
Definition at line 95 of file MultipoleWrapper.cpp.
References BMultipoleField::addField(), Multipole::getField(), itsDesign, itsError, and tempField.
|
virtual |
Get geometry.
Implements Multipole.
Definition at line 102 of file MultipoleWrapper.cpp.
References Multipole::getGeometry(), and itsDesign.
|
virtual |
Get geometry.
Implements Multipole.
Definition at line 107 of file MultipoleWrapper.cpp.
References Multipole::getGeometry(), and itsDesign.
|
virtual |
Get element type string.
Reimplemented from Multipole.
Definition at line 112 of file MultipoleWrapper.cpp.
References ElementBase::MULTIPOLEWRAPPER.
|
virtual |
Make wrapper for this multipole.
Reimplemented from ElementBase.
Definition at line 127 of file MultipoleWrapper.cpp.
|
virtual |
Set sharable flag.
Reimplemented from ElementBase.
Definition at line 82 of file MultipoleWrapper.cpp.
References itsDesign, ElementBase::makeSharable(), and ElementBase::shareFlag.
|
private |
|
virtual |
Remove field wrapper.
Reimplemented from ElementBase.
Definition at line 132 of file MultipoleWrapper.cpp.
References itsDesign.
|
virtual |
Remove field wrapper.
Reimplemented from ElementBase.
Definition at line 137 of file MultipoleWrapper.cpp.
References itsDesign.
|
virtual |
Remove all wrappers.
Reimplemented from ElementBase.
Definition at line 142 of file MultipoleWrapper.cpp.
References itsDesign.
|
virtual |
Remove all wrappers.
Reimplemented from ElementBase.
Definition at line 147 of file MultipoleWrapper.cpp.
References itsDesign.
Definition at line 119 of file MultipoleWrapper.h.
Referenced by clone(), copyStructure(), getDesign(), getField(), getGeometry(), makeSharable(), removeFieldWrapper(), and removeWrappers().
|
mutableprivate |
Definition at line 122 of file MultipoleWrapper.h.
Referenced by errorField(), and getField().
|
mutableprivate |
Definition at line 125 of file MultipoleWrapper.h.
Referenced by getField().