OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
Template class for beam lines. More...
#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 ElementImage * | getImage () const |
Construct an image. 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 |
![]() | |
Beamline (const std::string &name) | |
Constructor with given name. More... | |
Beamline () | |
Beamline (const Beamline &) | |
virtual | ~Beamline () |
![]() | |
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... | |
virtual ElementBase * | makeAlignWrapper () |
Allow misalignment. More... | |
virtual ElementBase * | makeFieldWrapper () |
Allow field errors. More... | |
virtual ElementBase * | makeWrappers () |
Allow errors. More... | |
virtual ElementBase * | removeAlignWrapper () |
Remove align wrapper. More... | |
virtual const ElementBase * | removeAlignWrapper () const |
Remove align wrapper. More... | |
virtual ElementBase * | removeFieldWrapper () |
Remove field wrapper. More... | |
virtual const ElementBase * | removeFieldWrapper () const |
Remove field wrapper. More... | |
virtual ElementBase * | removeWrappers () |
Return the design element. More... | |
virtual const ElementBase * | removeWrappers () const |
Return the design element. 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... | |
Protected Attributes | |
BeamlineGeometry | itsGeometry |
The beamline geometry. More... | |
Vector_t | itsOrigin_m |
Quaternion | itsCoordTrafoTo_m |
bool | relativePositions_m |
![]() | |
bool | shareFlag |
CoordinateSystemTrafo | csTrafoGlobal2Local_m |
CoordinateSystemTrafo | misalignment_m |
std::pair< ApertureType, std::vector< double > > | aperture_m |
double | elementEdge_m |
double | rotationZAxis_m |
Template class for beam lines.
Definition at line 40 of file TBeamline.h.
Default constructor.
Definition at line 171 of file TBeamline.h.
Constructor with given name.
Definition at line 182 of file TBeamline.h.
Definition at line 193 of file TBeamline.h.
Definition at line 204 of file TBeamline.h.
|
virtual |
Apply BeamlineVisitor to this line.
Implements ElementBase.
Definition at line 209 of file TBeamline.h.
References BeamlineVisitor::visitBeamline().
Referenced by ThreadAll::execute().
Append a T object.
Definition at line 434 of file TBeamline.h.
Referenced by TBeamline< T >::clone(), TBeamline< T >::copyStructure(), MSplit::run(), and Aperture::run().
Make clone.
Implements ElementBase.
Definition at line 231 of file TBeamline.h.
References TBeamline< T >::append(), TBeamline< T >::itsCoordTrafoTo_m, TBeamline< T >::itsOrigin_m, TBeamline< T >::relativePositions_m, and T.
Make structure copy.
Reimplemented from ElementBase.
Definition at line 251 of file TBeamline.h.
References TBeamline< T >::append(), TBeamline< T >::itsCoordTrafoTo_m, TBeamline< T >::itsOrigin_m, TBeamline< T >::relativePositions_m, and T.
Get design length.
Reimplemented from ElementBase.
Definition at line 311 of file TBeamline.h.
Referenced by MSplit::getLength(), Survey::getLength(), Aperture::getLength(), and Twiss::getLength().
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented from Beamline.
Definition at line 460 of file TBeamline.h.
Referenced by ParallelSliceTracker::visitBeamline(), ParallelTTracker::visitBeamline(), and ThickTracker::visitBeamline().
Reimplemented from Beamline.
Definition at line 450 of file TBeamline.h.
Referenced by ParallelSliceTracker::visitBeamline(), ParallelTTracker::visitBeamline(), and ThickTracker::visitBeamline().
Reimplemented from Beamline.
Definition at line 470 of file TBeamline.h.
Referenced by ParallelSliceTracker::visitBeamline(), ParallelTTracker::visitBeamline(), and ThickTracker::visitBeamline().
Get transform.
Reimplemented from ElementBase.
Definition at line 390 of file TBeamline.h.
References Euclid3D::dotBy().
Get transform.
Reimplemented from ElementBase.
Definition at line 342 of file TBeamline.h.
References ElementBase::getArcLength(), ElementBase::getTransform(), max(), and min().
|
inlinevirtual |
|
virtual |
Apply visitor to all elements of the line.
Implements Beamline.
Definition at line 215 of file TBeamline.h.
Referenced by ParallelSliceTracker::visitBeamline(), ParallelTTracker::visitBeamline(), ParallelCyclotronTracker::visitBeamline(), and ThickTracker::visitBeamline().
Prepend a T object.
Definition at line 440 of file TBeamline.h.
|
inline |
Definition at line 455 of file TBeamline.h.
Referenced by Line::parse().
Definition at line 445 of file TBeamline.h.
Referenced by Line::parse().
Definition at line 465 of file TBeamline.h.
Referenced by Line::parse().
|
protected |
Definition at line 162 of file TBeamline.h.
Referenced by TBeamline< T >::clone(), and TBeamline< T >::copyStructure().
|
protected |
The beamline geometry.
Definition at line 159 of file TBeamline.h.
Definition at line 161 of file TBeamline.h.
Referenced by TBeamline< T >::clone(), and TBeamline< T >::copyStructure().
Definition at line 163 of file TBeamline.h.
Referenced by TBeamline< T >::clone(), and TBeamline< T >::copyStructure().