OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <TBeamline.h>
Public Member Functions | |
TBeamline () | |
Default constructor. More... | |
TBeamline (const std::string &name) | |
Constructor with given name. More... | |
TBeamline (const TBeamline< T > &right) | |
virtual | ~TBeamline () |
virtual void | accept (BeamlineVisitor &) const |
Apply BeamlineVisitor to this line. More... | |
virtual void | iterate (BeamlineVisitor &, bool r2l) const |
Apply visitor to all elements of the line. More... | |
virtual TBeamline< T > * | clone () const |
Make clone. More... | |
virtual TBeamline< T > * | copyStructure () |
Make structure copy. More... | |
virtual void | makeSharable () |
Set sharable flag. More... | |
virtual BeamlineGeometry & | getGeometry () |
Get geometry. More... | |
virtual const BeamlineGeometry & | getGeometry () const |
Get geometry. More... | |
virtual double | getArcLength () const |
Get arc length. More... | |
virtual double | getElementLength () const |
Get design length. More... | |
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 ElementBase::ElementType | getType () const |
Get beamline type. More... | |
virtual void | append (const T &) |
Append a T object. More... | |
virtual void | prepend (const T &) |
Prepend a T object. More... | |
void | setOrigin3D (const Vector_t &ori) |
Vector_t | getOrigin3D () const |
void | setInitialDirection (const Quaternion &rot) |
Quaternion | getInitialDirection () const |
void | setRelativeFlag (bool flag) |
bool | getRelativeFlag () const |
Public Member Functions inherited from Beamline | |
Beamline (const std::string &name) | |
Constructor with given name. More... | |
Beamline () | |
Beamline (const Beamline &) | |
virtual | ~Beamline () |
Public Member Functions inherited from ElementBase | |
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 void | setElementLength (double length) |
Set design length. More... | |
virtual void | getElementDimensions (double &begin, double &end) const |
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... | |
bool | isSharable () const |
Test if the element can be shared. 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 |
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 (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 |
virtual BoundingBox | getBoundingBoxInLabCoords () const |
virtual int | getRequiredNumberOfTimeSteps () const |
void | setOutputFN (std::string fn) |
Set output filename. More... | |
std::string | getOutputFN () const |
Get output filename. More... | |
void | setElementPosition (double elemedge) |
Access to ELEMEDGE attribute. More... | |
double | getElementPosition () const |
bool | isElementPositionSet () const |
Public Member Functions inherited from RCObject | |
int | addReference () const |
Increment reference count. More... | |
int | removeReference () const |
Decrement the reference count. More... | |
bool | isShared () const |
Test for sharing. More... | |
Protected Attributes | |
BeamlineGeometry | itsGeometry |
The beamline geometry. More... | |
Vector_t | itsOrigin_m |
Quaternion | itsCoordTrafoTo_m |
bool | relativePositions_m |
Protected Attributes inherited from ElementBase | |
bool | shareFlag |
CoordinateSystemTrafo | csTrafoGlobal2Local_m |
CoordinateSystemTrafo | misalignment_m |
std::pair< ApertureType, std::vector< double > > | aperture_m |
double | elementEdge_m |
double | rotationZAxis_m |
Additional Inherited Members | |
Public Types inherited from ElementBase | |
enum | ApertureType { RECTANGULAR , ELLIPTICAL , CONIC_RECTANGULAR , CONIC_ELLIPTICAL } |
enum | ElementType { BEAMLINE , CCOLLIMATOR , CORRECTOR , CYCLOTRON , DEGRADER , DRIFT , FLEXIBLECOLLIMATOR , MARKER , MONITOR , MPSPLITINTEGRATOR , MULTIPOLE , MULTIPOLET , OFFSET , PROBE , RBEND , RBEND3D , RFCAVITY , RING , SBEND3D , SBEND , SEPTUM , SOLENOID , SOURCE , STRIPPER , TRAVELINGWAVE , UNDULATOR , VACUUM , VARIABLERFCAVITY , ANY } |
Static Public Member Functions inherited from ElementBase | |
static std::string | getTypeString (ElementType type) |
Protected Member Functions inherited from ElementBase | |
bool | isInsideTransverse (const Vector_t &r) const |
Protected Member Functions inherited from RCObject | |
RCObject () | |
Default constructor. More... | |
RCObject (const RCObject &) | |
Copy constructor. More... | |
virtual | ~RCObject ()=0 |
RCObject & | operator= (const RCObject &right) |
Definition at line 33 of file TBeamline.h.
Default constructor.
Definition at line 159 of file TBeamline.h.
Constructor with given name.
Definition at line 170 of file TBeamline.h.
Definition at line 181 of file TBeamline.h.
Definition at line 192 of file TBeamline.h.
|
virtual |
Apply BeamlineVisitor to this line.
Implements ElementBase.
Definition at line 197 of file TBeamline.h.
References BeamlineVisitor::visitBeamline().
|
inlinevirtual |
Append a T object.
Definition at line 415 of file TBeamline.h.
Referenced by TBeamline< T >::clone(), and TBeamline< T >::copyStructure().
Make clone.
Implements ElementBase.
Definition at line 219 of file TBeamline.h.
References TBeamline< T >::append(), begin(), end(), TBeamline< T >::itsCoordTrafoTo_m, TBeamline< T >::itsOrigin_m, TBeamline< T >::relativePositions_m, and Attrib::Legacy::Distribution::T.
Make structure copy.
Reimplemented from ElementBase.
Definition at line 239 of file TBeamline.h.
References TBeamline< T >::append(), begin(), end(), TBeamline< T >::itsCoordTrafoTo_m, TBeamline< T >::itsOrigin_m, TBeamline< T >::relativePositions_m, and Attrib::Legacy::Distribution::T.
|
virtual |
Get arc length.
Reimplemented from ElementBase.
Definition at line 286 of file TBeamline.h.
References begin(), and end().
|
virtual |
Get design length.
Reimplemented from ElementBase.
Definition at line 299 of file TBeamline.h.
References begin(), and end().
|
virtual |
|
virtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented from Beamline.
Definition at line 441 of file TBeamline.h.
Referenced by ParallelTTracker::visitBeamline(), and ThickTracker::visitBeamline().
|
virtual |
Reimplemented from Beamline.
Definition at line 431 of file TBeamline.h.
Referenced by ParallelTTracker::visitBeamline(), and ThickTracker::visitBeamline().
|
inlinevirtual |
Reimplemented from Beamline.
Definition at line 451 of file TBeamline.h.
Referenced by ParallelTTracker::visitBeamline(), and ThickTracker::visitBeamline().
Get transform.
Reimplemented from ElementBase.
Definition at line 378 of file TBeamline.h.
References begin(), Euclid3D::dotBy(), and end().
Get transform.
Reimplemented from ElementBase.
Definition at line 330 of file TBeamline.h.
References begin(), end(), ElementBase::getArcLength(), ElementBase::getTransform(), max(), and min().
|
inlinevirtual |
|
virtual |
Apply visitor to all elements of the line.
Implements Beamline.
Definition at line 203 of file TBeamline.h.
References begin(), and end().
Referenced by ParallelCyclotronTracker::visitBeamline(), ParallelTTracker::visitBeamline(), and ThickTracker::visitBeamline().
|
inlinevirtual |
Set sharable flag.
Reimplemented from ElementBase.
Definition at line 263 of file TBeamline.h.
References begin(), and end().
|
inlinevirtual |
Prepend a T object.
Definition at line 421 of file TBeamline.h.
|
inline |
Definition at line 436 of file TBeamline.h.
Definition at line 426 of file TBeamline.h.
|
inline |
Definition at line 446 of file TBeamline.h.
|
protected |
Definition at line 150 of file TBeamline.h.
Referenced by TBeamline< T >::clone(), and TBeamline< T >::copyStructure().
|
protected |
The beamline geometry.
Definition at line 147 of file TBeamline.h.
Definition at line 149 of file TBeamline.h.
Referenced by TBeamline< T >::clone(), and TBeamline< T >::copyStructure().
|
protected |
Definition at line 151 of file TBeamline.h.
Referenced by TBeamline< T >::clone(), and TBeamline< T >::copyStructure().