OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
Representation of a perturbed cyclotron. More...
#include <CyclotronWrapper.h>
Public Member Functions | |
CyclotronWrapper (Cyclotron *) | |
Constructor. More... | |
CyclotronWrapper (const CyclotronWrapper &) | |
virtual | ~CyclotronWrapper () |
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 | 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 Cyclotron & | getDesign () const |
Get design Cyclotron. More... | |
virtual Cyclotron & | getDesign () |
Get design Cyclotron. 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... | |
![]() | |
Cyclotron (const std::string &name) | |
Constructor with given name. More... | |
Cyclotron () | |
Cyclotron (const Cyclotron &) | |
virtual | ~Cyclotron () |
void | setFieldMapFN (std::string fmapfn) |
virtual std::string | getFieldMapFN () const |
void | setRfFieldMapFN (std::vector< std::string > rffmapfn) |
void | setRFFCoeffFN (std::vector< std::string > rff_coeff_fn) |
void | setRFVCoeffFN (std::vector< std::string > rfv_coeff_fn) |
int | getFieldFlag (const std::string &type) const |
void | setType (std::string t) |
const std::string & | getCyclotronType () const |
virtual void | getDimensions (double &zBegin, double &zEnd) const |
unsigned int | getNumberOfTrimcoils () const |
void | setCyclHarm (double h) |
virtual double | getCyclHarm () const |
void | setRfPhi (std::vector< double > f) |
void | setRfFrequ (std::vector< double > f) |
double | getRfFrequ () const |
void | setSymmetry (double symmetry) |
virtual double | getSymmetry () const |
void | setRinit (double rinit) |
virtual double | getRinit () const |
void | setPRinit (double prinit) |
virtual double | getPRinit () const |
void | setPHIinit (double phiinit) |
virtual double | getPHIinit () const |
void | setZinit (double zinit) |
virtual double | getZinit () const |
void | setPZinit (double zinit) |
virtual double | getPZinit () const |
void | setBScale (double bs) |
virtual double | getBScale () const |
void | setEScale (std::vector< double > bs) |
void | setTrimCoils (const std::vector< TrimCoil * > &trimcoils) |
void | setSuperpose (std::vector< bool > flag) |
void | setMinR (double r) |
virtual double | getMinR () const |
void | setMaxR (double r) |
virtual double | getMaxR () const |
void | setMinZ (double z) |
virtual double | getMinZ () const |
void | setMaxZ (double z) |
virtual double | getMaxZ () const |
void | setFMLowE (double e) |
virtual double | getFMLowE () const |
void | setFMHighE (double e) |
virtual double | getFMHighE () const |
void | setTrimCoilThreshold (double) |
virtual double | getTrimCoilThreshold () const |
void | setSpiralFlag (bool spiral_flag) |
virtual bool | getSpiralFlag () const |
virtual bool | apply (const size_t &id, const double &t, Vector_t &E, Vector_t &B) |
virtual bool | apply (const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) |
virtual void | apply (const double &rad, const double &z, const double &tet_rad, double &br, double &bt, double &bz) |
virtual void | initialise (PartBunchBase< double, 3 > *bunch, double &startField, double &endField) |
virtual void | initialise (PartBunchBase< double, 3 > *bunch, const int &fieldflag, const double &scaleFactor) |
virtual void | finalise () |
virtual bool | bends () const |
virtual double | getRmax () const |
virtual double | getRmin () const |
bool | interpolate (const double &rad, const double &tet_rad, double &br, double &bt, double &bz) |
void | read (const int &fieldflag, const double &scaleFactor) |
![]() | |
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 void | addKR (int i, double t, Vector_t &K) |
virtual void | addKT (int i, double t, Vector_t &K) |
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 &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 |
virtual bool | isInside (const Vector_t &r) 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 | |
CyclotronWrapper () | |
void | operator= (const CyclotronWrapper &) |
Private Attributes | |
Pointer< Cyclotron > | itsDesign |
BMultipoleField | itsError |
The error field. More... | |
BMultipoleField | tempField |
Additional Inherited Members | |
![]() | |
enum | ApertureType { RECTANGULAR, ELLIPTICAL, CONIC_RECTANGULAR, CONIC_ELLIPTICAL } |
enum | ElementType { ALIGNWRAPPER, BEAMBEAM, BEAMBEAM3D, BEAMLINE, BEAMSTRIPPING, CCOLLIMATOR, CORRECTOR, CORRECTORWRAPPER, CYCLOTRON, CYCLOTRONWRAPPER, CYCLOTRONVALLEY, DEGRADER, DIAGNOSTIC, DRIFT, FLEXIBLECOLLIMATOR, INTEGRATOR, LAMBERTSON, MARKER, MONITOR, MPSPLITINTEGRATOR, MULTIPOLE, MULTIPOLET, MULTIPOLEWRAPPER, OFFSET, PARALLELPLATE, PATCH, PROBE, RBEND, RBEND3D, RBENDWRAPPER, RFCAVITY, RFQUADRUPOLE, RING, SBEND3D, SBEND, SBENDWRAPPER, SEPARATOR, SEPTUM, SOLENOID, SOURCE, STRIPPER, TRAVELINGWAVE, VARIABLERFCAVITY, ANY } |
![]() | |
static std::string | getTypeString (ElementType type) |
![]() | |
void | getdiffs () |
double | gutdf5d (double *f, double dx, const int kor, const int krl, const int lpr) |
void | initR (double rmin, double dr, int nrad) |
void | getFieldFromFile (const double &scaleFactor) |
void | getFieldFromFile_Carbon (const double &scaleFactor) |
void | getFieldFromFile_CYCIAE (const double &scaleFactor) |
void | getFieldFromFile_AVFEQ (const double &scaleFactor) |
void | getFieldFromFile_FFA (const double &scaleFactor) |
void | getFieldFromFile_BandRF (const double &scaleFactor) |
void | getFieldFromFile_Synchrocyclotron (const double &scaleFactor) |
int | idx (int irad, int ktet) |
![]() | |
bool | isInsideTransverse (const Vector_t &r, double f=1) const |
![]() | |
RCObject () | |
Default constructor. More... | |
RCObject (const RCObject &) | |
Copy constructor. More... | |
virtual | ~RCObject ()=0 |
RCObject & | operator= (const RCObject &right) |
![]() | |
BfieldData | Bfield |
BPositions | BP |
![]() | |
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 const std::vector< double > | defaultAperture_m |
Representation of a perturbed cyclotron.
Definition at line 37 of file CyclotronWrapper.h.
|
explicit |
CyclotronWrapper::CyclotronWrapper | ( | const CyclotronWrapper & | rhs | ) |
Definition at line 37 of file CyclotronWrapper.cpp.
References ElementBase::shareFlag.
|
virtual |
Definition at line 46 of file CyclotronWrapper.cpp.
|
private |
Referenced by clone(), and copyStructure().
|
virtual |
Apply visitor to modified bend.
Reimplemented from Cyclotron.
Definition at line 50 of file CyclotronWrapper.cpp.
References BeamlineVisitor::visitCyclotronWrapper().
|
virtual |
Make clone.
Implements ElementBase.
Definition at line 55 of file CyclotronWrapper.cpp.
References ElementBase::clone(), CyclotronWrapper(), and itsDesign.
|
virtual |
Make structural copy.
Reimplemented from ElementBase.
Definition at line 62 of file CyclotronWrapper.cpp.
References ElementBase::copyStructure(), CyclotronWrapper(), ElementBase::isSharable(), and itsDesign.
|
virtual |
|
virtual |
Get design Cyclotron.
Reimplemented from Component.
Definition at line 137 of file CyclotronWrapper.cpp.
References itsDesign.
|
virtual |
|
virtual |
Get field.
Implements Component.
Definition at line 84 of file CyclotronWrapper.cpp.
References tempField.
|
virtual |
Get field.
Implements Component.
Definition at line 95 of file CyclotronWrapper.cpp.
References tempField.
|
virtual |
Get geometry.
Implements ElementBase.
Definition at line 106 of file CyclotronWrapper.cpp.
References ElementBase::getGeometry(), and itsDesign.
|
virtual |
Get geometry.
Implements ElementBase.
Definition at line 115 of file CyclotronWrapper.cpp.
References ElementBase::getGeometry(), and itsDesign.
|
virtual |
Get number of slices.
Implements Cyclotron.
Definition at line 122 of file CyclotronWrapper.cpp.
References Cyclotron::getSlices(), and itsDesign.
|
virtual |
Get stepsize.
Implements Cyclotron.
Definition at line 127 of file CyclotronWrapper.cpp.
References Cyclotron::getStepsize(), and itsDesign.
|
virtual |
Get element type string.
Reimplemented from Cyclotron.
Definition at line 132 of file CyclotronWrapper.cpp.
References ElementBase::CYCLOTRONWRAPPER.
|
virtual |
Make wrapper for this bend.
Reimplemented from ElementBase.
Definition at line 147 of file CyclotronWrapper.cpp.
|
virtual |
Set sharable flag.
Reimplemented from ElementBase.
Definition at line 78 of file CyclotronWrapper.cpp.
References itsDesign, ElementBase::makeSharable(), and ElementBase::shareFlag.
|
private |
|
virtual |
Remove field wrapper.
Reimplemented from ElementBase.
Definition at line 152 of file CyclotronWrapper.cpp.
References itsDesign.
|
virtual |
Remove field wrapper.
Reimplemented from ElementBase.
Definition at line 157 of file CyclotronWrapper.cpp.
References itsDesign.
|
virtual |
Remove all wrappers.
Reimplemented from ElementBase.
Definition at line 162 of file CyclotronWrapper.cpp.
References itsDesign.
|
virtual |
Remove all wrappers.
Reimplemented from ElementBase.
Definition at line 167 of file CyclotronWrapper.cpp.
References itsDesign.
Definition at line 127 of file CyclotronWrapper.h.
Referenced by clone(), copyStructure(), getDesign(), getGeometry(), getSlices(), getStepsize(), makeSharable(), removeFieldWrapper(), and removeWrappers().
|
mutableprivate |
|
mutableprivate |
Definition at line 133 of file CyclotronWrapper.h.
Referenced by getField().