OPAL (Object Oriented Parallel Accelerator Library)
2024.1
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 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 |
size_t | size () const |
Get the number of elements in the TBeamline. More... | |
![]() | |
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... | |
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< 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 | setFlagDeleteOnTransverseExit (bool=true) |
bool | getFlagDeleteOnTransverseExit () 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 |
Additional Inherited Members | |
![]() | |
static std::string | getTypeString (ElementType type) |
![]() | |
bool | isInsideTransverse (const Vector_t &r) const |
![]() | |
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 161 of file TBeamline.h.
Constructor with given name.
Definition at line 172 of file TBeamline.h.
Definition at line 183 of file TBeamline.h.
Definition at line 194 of file TBeamline.h.
|
virtual |
Apply BeamlineVisitor to this line.
Implements ElementBase.
Definition at line 199 of file TBeamline.h.
References BeamlineVisitor::visitBeamline().
Append a T object.
Definition at line 417 of file TBeamline.h.
Referenced by TBeamline< T >::clone(), and TBeamline< T >::copyStructure().
Make clone.
Implements ElementBase.
Definition at line 221 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 241 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 |
|
virtual |
|
virtual |
|
virtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented from Beamline.
Definition at line 443 of file TBeamline.h.
Referenced by ParallelTTracker::visitBeamline(), and ThickTracker::visitBeamline().
|
virtual |
Reimplemented from Beamline.
Definition at line 433 of file TBeamline.h.
Referenced by ParallelTTracker::visitBeamline(), and ThickTracker::visitBeamline().
|
inlinevirtual |
Reimplemented from Beamline.
Definition at line 453 of file TBeamline.h.
Referenced by ParallelTTracker::visitBeamline(), and ThickTracker::visitBeamline().
Get transform.
Reimplemented from ElementBase.
Definition at line 380 of file TBeamline.h.
References begin, Euclid3D::dotBy(), and end.
Get transform.
Reimplemented from ElementBase.
Definition at line 332 of file TBeamline.h.
References begin, end, ElementBase::getArcLength(), ElementBase::getTransform(), max(), and min().
|
inlinevirtual |
Get beamline type.
Implements ElementBase.
Definition at line 411 of file TBeamline.h.
References BEAMLINE.
|
virtual |
Apply visitor to all elements of the line.
Implements Beamline.
Definition at line 205 of file TBeamline.h.
Referenced by ParallelCyclotronTracker::visitBeamline(), ParallelTTracker::visitBeamline(), and ThickTracker::visitBeamline().
Prepend a T object.
Definition at line 423 of file TBeamline.h.
|
inline |
Definition at line 438 of file TBeamline.h.
Referenced by Line::parse().
Definition at line 428 of file TBeamline.h.
Referenced by Line::parse().
Definition at line 448 of file TBeamline.h.
Referenced by Line::parse().
size_t TBeamline< T >::size | ( | ) | const |
Get the number of elements in the TBeamline.
Definition at line 458 of file TBeamline.h.
|
protected |
Definition at line 152 of file TBeamline.h.
Referenced by TBeamline< T >::clone(), and TBeamline< T >::copyStructure().
|
protected |
The beamline geometry.
Definition at line 149 of file TBeamline.h.
Definition at line 151 of file TBeamline.h.
Referenced by TBeamline< T >::clone(), and TBeamline< T >::copyStructure().
|
protected |
Definition at line 153 of file TBeamline.h.
Referenced by TBeamline< T >::clone(), and TBeamline< T >::copyStructure().